日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

storm的流分组策略

發布時間:2024/7/23 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 storm的流分组策略 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于storm的基礎,參照我這篇文章:流式計算storm
關于并發和并行,參照我這篇文章:并發和并行
關于storm的并行度解釋,參照我這篇文章:storm的并行度解釋
關于storm的流分組策略,參照我這篇文章:storm的流分組策略
關于storm的消息可靠機制,參照我這篇文章:storm的消息可靠機制

storm中有多個bolt和多個spout,他們之間會有多種連接方式,他們之間的tuple也是多種傳遞方式,正是有了這些靈活的分組策略,才使得storm可以分層處理,每層bolt都只做自己的事情,做完就通過分組策略傳給下一層bolt

storm里面有7種 stream grouping

github上有源碼:https://github.com/apache/storm
最好是下載到本地,對著下面提供的看.

這7中storm對應的接口是:

org.apache.storm.topology.InputDeclarer<T extends InputDeclarer>

1.shuffle grouping

org.apache.storm.grouping.ShuffleGrouping

隨機分組,保證每個bolt任務被均勻的分配tuple

2.fields grouping

org.apache.storm.trident.partition.IndexHashGrouping

按字段分組,相同字段的tuple總是被分到相同的bolt中的一個task上,一般用在計數等

3.all grouping

廣播發送tuple,tuple會被發給所有bolt,常用來發送信號

4.global grouping

org.apache.storm.trident.partition.GlobalGrouping

全局分組,所有的tuple被發到一個bolt的一個task上,一般用來匯總

5.none grouping

org.apache.storm.testing.NGrouping

不分組,效果和隨機分組一樣,
有點不一樣的是storm會使用none grouping的這一個bolt放到這個bolt的訂閱者同一個線程里面去執行 ( 這個暫時沒明白有什么好處之類的 )

6.direct grouping

org.apache.storm.trident.partition.IdentityGrouping

直接分組消息發送者指定消息接收者的哪個task處理這個消息,只有被表名direct stream的消息流可以處理這個方法
消息處理者可以通過topologyContext來獲取處理它消息的task id

7.local or shuffle grouping

org.apache.storm.grouping.LoadAwareShuffleGrouping

自定義分組,需實現customStreamGrouping接口

總結

以上是生活随笔為你收集整理的storm的流分组策略的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。