Spark-Streaming

UpdateStateByKey

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

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

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

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

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

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

Window Operations

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

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

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

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

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

DStream输出

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

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

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

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

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

相关推荐
千层冷面1 小时前
git中多仓库工作的常用命令
大数据·elasticsearch·github
亲爱的非洲野猪2 小时前
怎么理解使用MQ解决分布式事务 -- 以kafka为例
分布式·kafka
黄雪超2 小时前
Kafka——消费者组重平衡全流程解析
大数据·分布式·kafka
黄雪超2 小时前
Kafka——Kafka控制器
大数据·分布式·kafka
IT闫2 小时前
《深入剖析Kafka分布式消息队列架构奥秘》之Kafka基本知识介绍
分布式·架构·kafka
青云交4 小时前
Java 大视界 -- Java 大数据机器学习模型在金融信用评级模型优化与信用风险动态管理中的应用(371)
java·大数据·机器学习·信用评级·动态风控·跨境金融·小贷风控
Aomnitrix5 小时前
【分布式版本控制系统】Git的使用
分布式·git
conkl5 小时前
构建 P2P 网络与分布式下载系统:从底层原理到安装和功能实现
linux·运维·网络·分布式·网络协议·算法·p2p
笙囧同学7 小时前
基于大数据技术的疾病预警系统:从数据预处理到机器学习的完整实践(后附下载链接)
大数据·网络·机器学习
孟婆来包棒棒糖~11 小时前
SpringCloude快速入门
分布式·后端·spring cloud·微服务·wpf