我需要知道 Apache Flink 如何从检查点恢复其状态,因为在运行纯作业与从保存点恢复时,我看不出启动时间和在操作员中看到第一个事件之间有任何区别。
状态是否从检查点/保存点延迟加载?
我需要知道 Apache Flink 如何从检查点恢复其状态,因为在运行纯作业与从保存点恢复时,我看不出启动时间和在操作员中看到第一个事件之间有任何区别。
状态是否从检查点/保存点延迟加载?
键控状态接口旨在使这种区别变得透明。正如 Dawid 提到的,状态是在作业开始期间加载的。请注意,加载状态的含义取决于正在使用的状态后端。
在操作员状态的情况下,CheckpointedFunction
接口具有此方法
public void initializeState(FunctionInitializationContext context)
其中上下文有一个isRestored()
方法可以让您知道您是否正在从故障中恢复。有关更多详细信息,请参阅有关托管操作员状态的文档,包括示例。