我需要知道apache flink如何从checkpoint恢复它的状态,因为在运行纯job和从savepoint恢复时,我看不出启动时间和在operator中看到第一个事件之间有什么区别。状态是否从检查点/保存点延迟加载?
jv4diomz1#
键控状态接口旨在使这种区别透明化。正如dawid提到的,状态是在作业启动期间加载的。请注意,加载状态的含义取决于使用哪个状态后端。对于操作员状态 CheckpointedFunction 接口具有此方法
CheckpointedFunction
public void initializeState(FunctionInitializationContext context)
其中上下文具有 isRestored() 方法,让您知道是否正在从失败中恢复。有关更多详细信息,请参阅有关托管操作员状态的文档,包括一个示例。
isRestored()
1条答案
按热度按时间jv4diomz1#
键控状态接口旨在使这种区别透明化。正如dawid提到的,状态是在作业启动期间加载的。请注意,加载状态的含义取决于使用哪个状态后端。
对于操作员状态
CheckpointedFunction
接口具有此方法其中上下文具有
isRestored()
方法,让您知道是否正在从失败中恢复。有关更多详细信息,请参阅有关托管操作员状态的文档,包括一个示例。