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 将接受来自 wordsexclaim1 的元组,两者都使用随机分组。

有可能。唯一需要注意的是它应该遵循 DAG 结构。 在您的情况下,以下是流程。 1. Spout读取数据发送给bolt C 2.同一个Spout读取数据发送给bolt B 3. Bolt B 过滤一些数据并转发给 Bolt C