Flink 上的 Apache Beam 支持快照启动/停止吗?

问题描述 投票:0回答:1

流处理应用程序在 Flink 集群上运行,使用原始 Flink 支持拍摄快照,然后通过 Flink REST API 从快照重新启动作业,例如停止保存点

使用 Flink 运行器的 Apache Beam 是否支持使用快照启动/停止?如果是这样,开始 Beam 作业是什么样子的?如果作业是用 Python 编写的,情况会如何变化?

python apache-flink apache-beam
1个回答
0
投票

Apache Beam 的 Flink 运行程序并不像本机 Flink 应用程序那样直接支持使用 Flink REST API 使用快照启动和停止作业(例如,使用保存点停止)。 Apache Beam 中的 Flink 运行器允许您在 Apache Flink 上执行 Apache Beam 管道,但与 Flink 的交互是通过 Beam API 抽象出来的。

在 Flink 运行器上启动 Beam 作业时,通常使用标准 Beam 管道执行方法,例如 pipeline.run() 或将作业提交给 Beam 运行器,然后将执行委托给 Flink。 Beam 运行程序负责将 Beam 管道转换为 Flink 的执行计划。

如果作业是用 Java 编写的,启动过程通常很简单,因为 Flink 运行器更加成熟,并且与 Java SDK 集成得更好。但是,如果作业是用 Python 编写的,则 Beam Flink 运行器依赖于 Flink Python API 来执行管道,这与 Java SDK 相比可能有一定的限制。

在 Flink 运行器上启动 Python Beam 作业将涉及以下步骤:

  1. 确保您已设置所需的环境,包括Python、Apache Beam和Flink runner。

  2. 使用 Python SDK 编写 Beam 管道。

  3. 使用beam.runners.flink.FlinkRunner提交管道执行。

  4. Flink runner 会将 Python pipeline 转换为 Flink 的 Python API 并在 Flink 集群上执行。

© www.soinside.com 2019 - 2024. All rights reserved.