从保存点恢复时,避免在Apache Flink作业中运行初始化代码

时间:2020-04-06 07:54:37

标签: apache-flink

我有一个使用DataStream API实现的Apache Flink作业,该作业在定义和提交作业图之前包含一些初始化代码。初始化代码仅应在首次提交作业时运行,而不是在从检查点恢复作业或使用保存点更新作业时运行。

似乎在从检查点进行故障转移期间重新启动作业时,作业从存储在检查点中的作业图重新启动-特别是初始化代码不会第二次运行(这是我想要的)。

从保存点运行作业是否可能相同?换句话说,是否只有在未从保存点启动作业时才执行代码?

1 个答案:

答案 0 :(得分:0)

如果实现CheckpointedFunction接口,则在初始化期间将调用initializeState(FunctionInitializationContext context)。然后,您可以使用context.isRestored()来确定该作业是否是第一次启动。