实时数据开发|Flink状态类型

根据数据集是否根据Key进行分区,将状态分为Keyed State 和OperatorState(Non-keyed )State两种类型。

(1)Keyeds State

表示和key相关的一种State,只能用于KeyedSteam类型数据集对应的的function和operators之上。Keyed State是operator State的特例,区别在于KeyedState事先按照key对数据集进行子分区,每个Key Sate 仅对应一个 Operator 和 Key 的组合 。由key groups进行管理,当算子发生变化时,自动重新分布KeyedState数据。一个keyed算子实例可能运行一个或多个key groups的keys

( 2 ) Operator State。注意,只和并行的算子实例绑定,和数据元素的key无关,每个算子实例中持有所有数据元素中的一部分状态数据。支持当算子实例并行度发生变化时自动重新分配状态数据。

同时在Flink中Keyed state和 Operator state均具有两种形式:

  • 其中一种为==托管状态(managed state)==形式,由 Fink Runtime 中控制和管理状态数据,并将状态数据转成为内存 Hash tables或 RocksDB的对象存储,然后将这些状态数据通过内部的接口持久化到checkpoints中,任务异常时可以通过这些状态数据恢复任务。
  • 另外一种是原生状态(Raw state)形式,由算子自己管理数据结构,当触发 Checkpoint过程中,Flink并不知道状态数据内部的数据结构,只是将数据转换成bytes数据存储在Checkpoints中,当从Checkpoints恢复任务时,算子自己再反序列化出状态的数据结构
    推荐用户使用 Managed State管理状态数据,因为 Managed State能够更好地支持状态数据的重平衡以及更加完善的内存管理。
相关推荐
DolphinScheduler社区14 分钟前
# 3.1.8<3.2.0<3.3.1,Apache DolphinScheduler集群升级避坑指南
java·大数据·开源·apache·任务调度·海豚调度
智海观潮2 小时前
HBase高级特性、rowkey设计以及热点问题处理
大数据·hadoop·hbase
zskj_qcxjqr2 小时前
七彩喜理疗艾灸机器人:传统中医与现代科技的融合创新
大数据·人工智能·科技·机器人
AutoMQ2 小时前
活动回顾 | AutoMQ 新加坡 TOKEN2049:展示高效 Web3 数据流基础设施
大数据·web3
龙山云仓3 小时前
迈向生成式软件制造新纪元:行动纲领与集结号
大数据·人工智能·机器学习·区块链·制造
武子康3 小时前
大数据-121 - Flink 时间语义详解:EventTime、ProcessingTime、IngestionTime 与 Watermark机制全解析
大数据·后端·flink
刀客Doc4 小时前
刀客doc:亚马逊广告再下一城,拿下微软DSP广告业务
大数据·人工智能·microsoft
戚砚笙5 小时前
Flink进阶:从“会用”到“用明白”的踩坑与实战总结
flink
小麦矩阵系统永久免费5 小时前
短视频矩阵系统哪个好用?2025最新评测与推荐|小麦矩阵系统
大数据·人工智能·矩阵
贝多芬也爱敲代码13 小时前
如何减小ES和mysql的同步时间差
大数据·mysql·elasticsearch