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

代码调试中:.....

相关推荐
abcy0712132 天前
spark核心组件
flink·spark
极光代码工作室4 天前
基于Spark的日志监控与分析平台
大数据·hadoop·python·spark·数据可视化
Leo.yuan5 天前
数据仓库建设怎么做?从源数据到分析报表全流程讲清
大数据·分布式·spark
OneNobody6 天前
Spark SQL AQE工作原理源码剖析
大数据·sql·spark
humbinal6 天前
同时支持 gui & cli 的 parquet 文件查看工具,高性能小清新!
hive·python·rust·spark·开源·github·parquet
阿里云大数据AI技术6 天前
阿里云 EMR Serverless Spark 全托管 Ray 再进化:加速构建全模态数据处理新基建
人工智能·spark
LitchiCheng6 天前
轻量化微调 Qwen2.5 LoRA 训练全流程详解
大数据·人工智能·spark
董可伦7 天前
Spark 源码 | Yarn Client 模式提交流程(五)
大数据·spark
Gent_倪8 天前
万字详解:数据库、数据仓库、数据湖、湖仓一体
数据库·数据仓库·spark