Spark-Streaming

UpdateStateByKey

原语用于记录历史记录,有时,我们需要在 DStream 中跨批次维护状态

updateStateByKey()为我们提供了对一个状态变量的访问,用于键值对形式的 DStream

为使用这个功能,需要做下面两步:

  1. 定义状态,状态可以是一个任意的数据类型。

  2. 定义状态更新函数,用此函数阐明如何使用之前的状态和来自输入流的新值对状态进行更新。

使用 updateStateByKey 需要对检查点目录进行配置,会使用检查点来保存状态。

Window Operations

可以设置窗口的大小和滑动窗口的间隔来动态的获取当前 Steaming 的允许状态。

基于窗口的操作需要两个参数

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

2.滑动步长:隔多久触发一次计算

这两者都必须为采集周期大小的整数倍

DStream输出

输出操作指定了对流数据经转化操作得到的数据所要执行的操作

与 RDD 中的惰性求值类似,如果一个 DStream 及其派生出的 DStream 都没有被执行输出操作,那么这些 DStream 就都不会被求值

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

如果写在 foreach 则每个 RDD 中的每一条数据都创建,得不偿失;

增加 foreachPartition,在分区创建(获取)

相关推荐
workflower2 小时前
使用大语言模型处理用户需求
大数据·人工智能·设计模式·重构·动态规划
AC赳赳老秦5 小时前
OpenClaw+Power Apps 实战:自动生成 Power Apps 应用、连接 Excel 数据源
大数据·开发语言·python·serverless·excel·deepseek·openclaw
JiaHao汤6 小时前
分布式事务方案全景:从理论到 Seata 落地
java·分布式·spring·spring cloud
keke.shengfengpolang6 小时前
数据科学与大数据技术和大数据管理与应用怎么抉择?
大数据
产业家7 小时前
AI长跑,来到了腾讯的主场
大数据·人工智能
小赖同学啊7 小时前
可信数据空间中异构数据处理与安全保障方案
大数据
HavenlonLabs7 小时前
重塑链上未来的隐形基石:长期主义下的生态演进
大数据·人工智能·安全·区块链
南部余额7 小时前
RabbitMQ 进阶:延迟队列完全指南
java·分布式·spring·rabbitmq
huangdong_8 小时前
京东商品图片视频批量下载与m3u8视频合并技术完整实现方案
大数据·前端·数据库
Java 码思客8 小时前
【ElasticSearch从入门到架构师】第9章:ES 读写底层流程深度拆解
大数据·elasticsearch·搜索引擎