SparkStructuredStreaming状态编程

spark官网关于spark有状态编程介绍比较少,本文是一篇个人理解关于spark状态编程。

官网关于状态编程代码例子:

spark/examples/src/main/scala/org/apache/spark/examples/sql/streaming/StructuredComplexSessionization.scala at v3.5.0 · apache/spark (github.com)

一般的流计算使用窗口函数可以解决大部分问题,但是一些比较复杂的业务,窗口函数无法解决,比如需要的数据范围大于你设定的时间窗口,那么就需要状态编程处理中间状态。

案例:

数据一秒一条被spark消费,我需要找到的绿色部分代表再生(再生开始PFltRgn_stRgnActv,PFltRgn_stRgnActvHld变为两个1,再生结束变为两个0),我需要知道PFltRgn_ctRgnSuc再生阶段变化是否大于等于2(true: 意味再生成功)

如果开一个5s滚动窗口(红色框框),窗口内无法解决这个需求,那么我就需要记录每个窗口中当符合再生条件(绿色)PFltRgn_ctRgnSuc的最小值和最大值(这个就是中间状态)

代码调试中:.....

相关推荐
D愿你归来仍是少年7 小时前
Apache Spark 从入门到精通:完整学习指南
大数据·spark
D愿你归来仍是少年8 小时前
Apache Spark Real-Time Mode 深度解析:打破微批次壁垒,挑战 Flink 的实时王座
flink·spark·apache
jerryinwuhan9 小时前
Spark 安装配置1
大数据·分布式·spark
sunxunyong1 天前
spark History Server 重启失败
大数据·分布式·spark
jerryinwuhan1 天前
Spark数据分析1_环境配置
大数据·数据分析·spark
我要用代码向我喜欢的女孩表白1 天前
spark介绍
大数据·分布式·spark
大大大大晴天2 天前
Hudi生产问题排障-insert overwrite 路径不存在
大数据·spark
Light602 天前
SPARK View:从“AI手工作坊”到“软件工业革命
大数据·人工智能·spark
潘达斯奈基~3 天前
Spark踩坑:如何优化pandas_udf中的多维数组传输效率
大数据·spark·pandas
最初的↘那颗心3 天前
Spark Job 调度机制拆解:从 Action 算子到 Task 执行
大数据·spark·分布式计算