5. 状态管理与容错

状态数据类型 #

InternalKvState #

KeyedState 与OperatorState 的区别 #

初始化 #

方法 #

StreamOperatorStateContext #

#

OperatorStateBackend #

StreamingRuntimeContext #

StateInitializationContext #

AbstractUdfStreamOperator #

KeyedState Backend #

HeapKeyedStateBackend #

AbstractHeapState #

基于HeapKeyedStateBackend创建 KeyedState #

ValueState的创建与获取 #

#

方法 #

OperatorState 的创建与管理 #

OperatorStateBackend 整体设计 #

创建OperatorState #

StateBackend #

存储后端

StateBackend 整体设计 #

StateBackend的创建 #

  1. 在 JobMaster 根据 JobGraph 创建 ExecutionGraph的过程中会创建 StateBackend, 用于 CheckpointCoordinator 管理状态和Checkpoint操作
  2. 在 每个 Task 实例初始化的过程,用于管理当前Task中的状态和Checkpoint数据

StateBackend的初始化 #

MemoryStateBackend 创建 KeyedStateBackend #