2015-05-23 161 views
4

螺栓可能接收來自不同噴口/螺栓的多個輸入元組嗎?例如,Bolt C從Spout A接收輸入元組,並從Bolt B輸入待處理元組。我應該如何實現它?我的意思是爲Bolt C及其拓撲編寫Java代碼。阿帕奇風暴螺栓從不同的噴口/螺栓接收多個輸入元組

+0

你是什麼意思?我是新來的,所以我不完全知道你的意思。 – Toshihiko

+0

如果您認爲其中一個答案爲真,那麼您應該在每個答案的左側看到一個勾號,然後單擊該答案。它告訴其他人你接受答案是解決你的問題。你也可以提出很好的問題和答案,告訴他們值得閱讀。 –

+0

例如某人剛剛提出了你的問題。 –

回答

5

教程解答您的問題。

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

這裏是你的目標代碼(從教程C/P):

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

exclaim2將接受來自wordsexclaim1,無論使用洗牌分組元組。

+0

這很有幫助。知道鏈接是否可以動態地(通過循環)也是很好的。我有一個可以通過循環生成的可變數量的螺栓,我希望所有這些螺栓都將它們發射的元組發送到一個螺栓上。 (int i = 0; i <10; ++ i){builder.setBolt(「a」,new someBolt(),5).shuffleGrouping(「Bolt」+ i);}'。循環的每次迭代應鏈接一個螺栓。它有可能以任何方式? – Nav

2

是可能的。唯一要注意的是它應該遵循DAG結構。 就你而言,以下是流程。 1.脫粒機讀取數據併發送到螺栓ç 2.同脫粒機讀取數據併發送至螺栓B 3.螺栓B濾光片一些數據,並轉發給博爾特ç