首页 > 解决方案 > 初始化 Flink 作业

问题描述

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

标签: apache-flinkflink-streaming

解决方案


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


推荐阅读