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

代码调试中:.....

相关推荐
鸿乃江边鸟1 天前
Spark Datafusion Comet 向量化Rust Native--Native算子ScanExec以及涉及到的Selection Vectors
大数据·rust·spark·arrow
派可数据BI可视化2 天前
一文读懂系列:数据仓库为什么分层,分几层?数仓建模方法有哪些
大数据·数据仓库·信息可视化·spark·商业智能bi
码字的字节2 天前
锚点模型:数据仓库中的高度可扩展建模技术详解
大数据·数据仓库·spark
数据知道2 天前
PostgreSQL:详解 PostgreSQL 与Hadoop与Spark的集成
hadoop·postgresql·spark
鸿乃江边鸟4 天前
Spark Datafusion Comet 向量化Rust Native--Native算子指标如何传递到Spark UI上展示
rust·spark·native
uesowys5 天前
Apache Spark算法开发指导-K-means
算法·spark·kmeans
uesowys6 天前
Apache Spark算法开发指导-Gradient-boosted tree regression
算法·spark
uesowys7 天前
Apache Spark算法开发指导-Random forest regression
算法·spark
DisonTangor7 天前
介绍 GPT‑5.3‑Codex‑Spark
大数据·gpt·spark
小邓睡不饱耶7 天前
Hadoop 3.x实战:基于HDFS+Spark+Flink的实时用户行为分析平台(含Kerberos安全配置+冷热数据分层)
hadoop·hdfs·spark