Spark-Streaming

UpdateStateByKey

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

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

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

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

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

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

Window Operations

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

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

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

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

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

DStream输出

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

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

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

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

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

相关推荐
东哥说-MES|从入门到精通2 分钟前
数字化部分内容 | 十四五年规划和2035年远景目标纲要(新华社正式版)
大数据·人工智能·数字化转型·mes·数字化工厂·2035·十四五规划
南飞测绘视界1 小时前
上市公司绿色专利申请、授权数据(1999-2024年)
大数据·专利·上市公司
一个天蝎座 白勺 程序猿2 小时前
KingbaseES在政务领域的应用实践——武汉人社大数据平台“数字化服务新模式”
大数据·数据库·政务·kingbasees·金仓数据库
pale_moonlight2 小时前
十、 Scala 应用实践 (上)
大数据·开发语言·scala
m***l1152 小时前
集成RabbitMQ+MQ常用操作
分布式·rabbitmq
第二只羽毛3 小时前
遵守robots协议的友好爬虫
大数据·爬虫·python·算法·网络爬虫
Elastic 中国社区官方博客3 小时前
使用 A2A 协议和 MCP 在 Elasticsearch 中创建一个 LLM agent 新闻室:第二部分
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
安达发公司3 小时前
安达发|告别手工排产!车间排产软件成为中央厨房的“最强大脑”
大数据·人工智能·aps高级排程·aps排程软件·安达发aps·车间排产软件
拾忆,想起4 小时前
Dubbo分组(Group)使用指南:实现服务接口的多版本管理与环境隔离
分布式·微服务·性能优化·架构·dubbo
武子康4 小时前
大数据-166 Apache Kylin 1.6 Streaming Cubing 实战:Kafka 到分钟级 OLAP
大数据·后端·apache kylin