实时数据开发|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能够更好地支持状态数据的重平衡以及更加完善的内存管理。
相关推荐
Raas10031 分钟前
MAIGateway,魔芋企业级AI网关的FinAPI成本归因设计
大数据·人工智能·网关·api网关·finapi
RD_daoyi1 小时前
Google核心算法不再通知!全年持续滚动更新
大数据·服务器·前端·网络·搜索引擎·.net
2601_962966641 小时前
会计岗位进阶指南:8 张国家认可证书阶梯解析
大数据·数据分析
科技绘图1 小时前
特种工业场景安全升级:UWB定位设备关键选型指标与供给侧格局解析
大数据·安全
Wang's Blog1 小时前
AI Agent白手起家28: LangChain 五种提示词模板实战解析
大数据·人工智能·langchain
小码哥0682 小时前
2026陪诊小程序与APP开发技术分析
大数据·人工智能·小程序
观远数据2 小时前
决策闭环的第三公里:从洞察到行动之间,AI能补上什么
大数据·数据库·人工智能
奥莱维2 小时前
酒店客控系统多少钱_2026不同规模报价区间透明解析
大数据·网络
李可以量化2 小时前
量化高性能服务框架 Tornado 全面解析(上):异步非阻塞的核心能力与场景落地
大数据·python·量化交易·tornado·qmt·ptrade
精益数智工坊2 小时前
账龄分析怎么做才不流于形式?如何真正落地账龄分析?
大数据·人工智能·数据可视化