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的最小值和最大值(这个就是中间状态)

代码调试中:.....

相关推荐
W Y13 小时前
【架构-37】Spark和Flink
架构·flink·spark
数新网络16 小时前
《深入浅出Apache Spark》系列②:Spark SQL原理精髓全解析
大数据·sql·spark
天冬忘忧1 天前
Spark 程序开发与提交:本地与集群模式全解析
大数据·分布式·spark
全栈开发圈1 天前
新书速览|Spark SQL大数据分析快速上手
sql·数据分析·spark
天冬忘忧1 天前
Spark on YARN:Spark集群模式之Yarn模式的原理、搭建与实践
大数据·spark
出发行进1 天前
PySpark本地开发环境搭建
大数据·python·数据分析·spark·anaconda
Mephisto.java1 天前
【大数据学习 | kafka高级部分】文件清除原理
大数据·hadoop·zookeeper·spark·kafka·hbase·flume
青春不流名1 天前
mysql-springboot netty-flink-kafka-spark(paimon)-minio
spark
小黑032 天前
Spark资源调度和任务调度
大数据·分布式·spark
大数据编程之光2 天前
【spark面试题】RDD和DataFrame以及DataSet有什么异同
大数据·分布式·spark