Flink:想在Flink中按顺序创建Pipeline

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

团队

我正在研究 Flink。这是我的要求

  1. 从 Kafka 读取事件
  2. 对事件应用转换
  3. 沉入 MongoDB
  4. 向 Kafka 生成原子事件

在这里,我在按顺序执行步骤3、4时遇到问题。

1、2通过流连接,DataStream将是Step2的输出,目前我正在将步骤2的输出发送到步骤3、步骤4。

但是我想先执行步骤 3,然后执行步骤 4。

  1. 我可以将步骤3的输出返回到步骤4,但是步骤3只是sinkToMongoDB,我不会从步骤3返回任何内容。

我想将一切构建为管道和连续流。

java apache-flink flink-streaming
1个回答
0
投票

那是不可能的。 Flink 要求接收器是作业图中的终端节点。

当所有接收器都支持两阶段提交时,您不必担心双重写入问题,一切都会正常工作。但我不确定 MongoDB 接收器提供什么保证。另一种方法可能是编写一个单独的作业,从 Kafka 读取数据并写入 MongoDB(我意识到这不是您要求的顺序,它只是看起来更实用)。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.