Flink 中的状态

Flink 中的状态,第1张

Flink 中的状态 算子状态(Operator State)

算子状态的作用范围限定为算子任务 键控状态(Keyed State)

根据输入数据流中定义的键(key)来维护和访问值状态(ValueState):将状态表示为单个的值列表状态(List State):将状态表示为一组数据的列表字典状态(MapState):将状态表示为一组Key-Value 对聚合状态:将状态表示为一个用于聚合 *** 作的列表

状态后端(State Backends)

状态的存储、访问以及维护,由一个可插入的组件决定,这个组件就叫做状态后端(state backend)状态后端主要负责两二件事:本地的状态管理,以及将检查点(checkpoint)状态写入远程存储(HDFS、RocksDB 之类的)

一、MemoryStateBackend(Default)

内存级的状态后端,会将键控状态作为内存中的对象进行管理,将它们存储在TaskManager 的JVM 堆上,而将checkpoint 存储在JobManager 的内存中特点:快速、低延迟,但不稳定

二、FsStateBackend

将checkpoint 存到远程的持久化文件系统(FileSystem)上,而对于本地状态,跟emoryStateBackend 一样,也会存在TaskManager 的JVM 堆上同时拥有内存级的本地访问速度,和更好的容错保证

三、RocksDBStateBackend

将所有状态序列化后,存入本地的RocksDB 中存储。RocksDB 是一个硬盘KV 数据库,LevelDB,RocketDB

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5710991.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存