Apache Storm螺栓从不同的喷口/螺栓接收多个输入元组
螺栓是否可以从不同的喷口/螺栓接收多个输入元组? 例如,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
元组,两者都使用shuffle分组。
是的可能。 唯一需要注意的是它应遵循DAG结构。 在您的情况下,下面是流程。 1.喷口读取数据并发送到螺栓C 2.相同的喷口读取数据并发送到螺栓B 3.螺栓B过滤一些数据并转发到螺栓C