2012-02-21 69 views
8

我一直在閱讀關於Storm和玩風暴起動器的例子。好用風暴?

我想我有這個概念,它適用於很多情況。我有一個測試項目,我想要了解更多關於這個,但我想知道風暴是否真的適合這個。

我遇到的概念問題是'流'定義。看起來風暴將作爲訂閱流並實時處理它的魅力起作用,但我沒有真正的流,而是我想要處理的有限數據集。

我知道這裏有hadoop,但我對Storm的實時功能以及其他有趣的點感興趣,Nathan是Storm寫的,他在談話中提到過。

所以我想知道,人們是否會寫Spouts調查非流媒體API,然後對結果進行比較以模擬流?

第二個重要的一點是,似乎風暴拓撲從未完成處理,直到中斷,這再次不適用於我的情況。我希望我的拓撲知道,一旦我有限的源數據列表完成,處理可以終止並且可以發出最終結果。

那麼,這一切在風暴術語中是否有意義,還是我看錯了東西?如果是這樣,那麼您對這種實時並行計算需求有什麼替代方案?

謝謝!

回答

6

storm google group找到答案。似乎DRCP拓撲將發出一個元組,其中包含由DRCP spout作爲流接收的參數,然後在處理完成時指示回(使用稱爲請求ID的唯一標識)。

在同一個線程中說hadoop可能最適合這些情況,除非數據不夠大並且可以一直處理。

0

當然可以使用Storm處理有限的數據集合,並在處理所有元素後停止。 DRPC拓撲結構是實現這一目標的一種方式,但是滾動您自己的解決方案並不難。

這個想法是跟蹤有限數據集中的哪些元素已被處理, 這很容易在Spout中使用ack()和fail()方法完成。

0

如果您正在尋找一種快速,交互式可用和開發人員友好的批處理解決方案,您可能需要查看Apache Spark而不是Storm。

當您想要對連續計算運行查詢時,Trident/DRPC更有用。