当前位置: 首页 > web >正文

Spark-Streaming核心编程内容总结

一、有状态转化操作

1.UpdateStateByKey

功能:用于跨批次维护状态(如累加wordcount),通过访问状态变量处理键值对形式的DStream。。给定一个由(键,事件)对构成的 DStream,并传递一个指定如何根据新的事件更新每个键对应状态的函数,它可以构建出一个新的 DStream,其内部数据为(键,状态) 对。

2.关键点:

定义状态(任意数据类型)

定义状态更新函数(结合之前状态和输入流新值更新状态)

必须配置检查点目录保存状态

二、WindowOperations

1.功能:通过设置窗口大小和滑动间隔动态获取Streaming的允许状态

2.参数:

窗口时长:计算内容的时间范围

滑动步长:触发计算的间隔时间

注意:两者必须是采集周期大小的整数倍

三、DStream输出操作

1.主要输出操作:

print():在驱动结点上打印每批次前10个元素(用于开发调试)

saveAsTextFiles(prefix, [suffix]):以text文件形式存储

saveAsObjectFiles(prefix, [suffix]):以Java对象序列化方式存储

saveAsHadoopFiles(prefix, [suffix]):存储为Hadoop文件

foreachRDD(func):最通用的输出操作,对每个RDD应用任意计算

2.foreachRDD使用注意事项:

连接不能写在driver层面(序列化问题)

避免在foreach中为每条数据创建连接(性能差)

推荐使用foreachPartition,在分区级别创建连接

通用输出模式:foreachRDD允许重用Spark中的所有行动操作,常见用例是将数据写入外部数据库(如MySQL)。

http://www.xdnf.cn/news/2565.html

相关文章:

  • CSS布局实战:Flexbox 与 Grid 精髓解析
  • ecovadis认证评估标准?ecovadis审核目的?
  • 网络安全厂商F5荣登2025 CRN AI 100榜单,释放AI潜力
  • Vue3 里 CSS 深度作用选择器 :deep()
  • HQChart k线图配置
  • BUUCTF——The mystery of ip
  • mac 设置飞书默认浏览器(解决系统设置默认浏览器无效)
  • Nacos简介—4.Nacos架构和原理二
  • [AHOI2001] 质数和分解
  • 蓝桥杯 16. 密文搜索
  • Zookeeper实现分布式锁实战应用
  • 启效云平台审核流应用场景及功能介绍
  • day51—二分法—x 的平方根(LeetCode-69)
  • Gin 框架中集成 runtime/debug 打印日志堆栈信息
  • 2025.4.22 JavaScript 常用事件学习笔记
  • 司法大模型构建指南
  • 问题四、如何解决模型轴配置问题
  • 高功率无人机动力方案首选:CKESC ROCK 220A-H CAN 电调工程性能实测
  • 开发一个LabVIEW软件需要多少钱
  • 2025通信会丨以创新技术赋能新型电力系统 锐捷知识大脑推动效率提升
  • rabbitmq常用命令
  • 代码随想录算法训练营Day37
  • Diamond软件的使用--(6)访问FPGA的专用SPI接口
  • 关于百度模型迭代个人见解:技术竞速下的应用价值守恒定律
  • Vue3项目目录结构规范建议
  • 【测控系统】测控仪器技术概述与专业选择
  • 【项目实训个人博客】multi-agent调研(1)
  • XMOS直播声卡——可支持实时音频DSP处理的低延迟音频方案
  • Web前渗透
  • JavaScript基础(七)之web APIs