Apache Storm bolt 从不同 spout/bolt 接收多个输入元组
An Apache Storm bolt receive multiple input tuples from different spout/bolt
螺栓是否可以从不同的 spout/bolt 接收多个输入元组?
例如,Bolt C 接收来自 Spout A 的输入元组和来自 Bolt B 的输入元组以进行处理。我应该如何实施它?我的意思是为 Bolt C 及其拓扑编写 Java 代码。
教程回答了您的问题。
https://storm.apache.org/documentation/Tutorial.html
这是您的目标代码(C/P 来自教程):
builder.setBolt("exclaim2", new ExclamationBolt(), 5)
.shuffleGrouping("words")
.shuffleGrouping("exclaim1");
exclaim2
将接受来自 words
和 exclaim1
的元组,两者都使用随机分组。
有可能。唯一需要注意的是它应该遵循 DAG 结构。
在您的情况下,以下是流程。
1. Spout读取数据发送给bolt C
2.同一个Spout读取数据发送给bolt B
3. Bolt B 过滤一些数据并转发给 Bolt C
螺栓是否可以从不同的 spout/bolt 接收多个输入元组? 例如,Bolt C 接收来自 Spout A 的输入元组和来自 Bolt B 的输入元组以进行处理。我应该如何实施它?我的意思是为 Bolt C 及其拓扑编写 Java 代码。
教程回答了您的问题。
https://storm.apache.org/documentation/Tutorial.html
这是您的目标代码(C/P 来自教程):
builder.setBolt("exclaim2", new ExclamationBolt(), 5)
.shuffleGrouping("words")
.shuffleGrouping("exclaim1");
exclaim2
将接受来自 words
和 exclaim1
的元组,两者都使用随机分组。
有可能。唯一需要注意的是它应该遵循 DAG 结构。 在您的情况下,以下是流程。 1. Spout读取数据发送给bolt C 2.同一个Spout读取数据发送给bolt B 3. Bolt B 过滤一些数据并转发给 Bolt C