Apache Storm螺栓从不同的喷口/螺栓接收多个输入元组

时间:2015-05-23 08:38:12

标签: java apache-storm

螺栓是否可以从不同的喷口/螺栓接收多个输入元组? 例如,Bolt C从Spout A接收输入元组,从Bolt B接收要处理的元组。我该如何实施呢?我的意思是为Bolt C及其拓扑编写Java代码。

2 个答案:

答案 0 :(得分:6)

教程回答你的问题。

https://storm.apache.org/documentation/Tutorial.html

以下是您的目标代码(教程中的C / P):

builder.setBolt("exclaim2", new ExclamationBolt(), 5)
            .shuffleGrouping("words")
            .shuffleGrouping("exclaim1");

exclaim2将接受来自wordsexclaim1的元组,两者都使用随机播放分组。

答案 1 :(得分:2)

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