初始化 Flink 作业

时间:2021-04-22 21:19:50

标签: apache-flink flink-streaming

我们正在部署一个新的 Flink 流处理作业,它的状态(存储)需要使用历史数据进行初始化,并且在开始处理任何新的应用程序事件之前,这些数据应该在状态存储中可用。我们不想显着修改 Flink 作业来加载历史数据。 我们考虑编写另一个单独的 Flink 作业来处理历史数据,更新它的状态存储并创建一个保存点,并使用这个保存点来初始化主 Flink 作业中的状态。看起来 State Processor API 只适用于 DataSet API 并且想知道任何替代解决方案。谢谢。

2 个答案:

答案 0 :(得分:1)

状态处理器 API 是一个很好的解决方案。它提供了一种您在 DataSet 作业中使用的保存点连接器,以读取/修改/更新您在 DataStream 作业中使用的保存点。

答案 1 :(得分:1)

为您的工作支持 -preload 模式是一个非常简单的更改(绝对不是“重大”),其中非历史数据源被空/非终止源替换。我通常使用计数器来决定状态何时完全填充,然后在保存点处停止,并在没有 -preload 选项的情况下重新启动。

相关问题