本文主要整理Flink 状态核心,理解有状态计算思想,具备开发复杂持续性实时业务能力。
一、无状态与有状态计算区别
无状态:只处理当前单条数据,不记录历史数据
有状态:程序持久化存储历史计算数据,实现数据累计、时长判断、标记记录
二、Flink 常用状态类型
ValueState:单值状态(最常用)
ListState:集合类型状态
MapState:键值对状态
三、状态定义、读取、更新、清除完整流程
标准状态开发模板,固定写法直接套用
四、状态生命周期与作用域
基于 Key 分组状态,不同分组数据独立存储状态数据,互不干扰
五、简单实战案例
利用 ValueState 实现实时数据累加统计、用户访问次数累计统计