您好,登錄后才能下訂單哦!
這篇文章主要介紹“BaseBasicBolt與BaseRichBolt的區(qū)別是什么”,在日常操作中,相信很多人在BaseBasicBolt與BaseRichBolt的區(qū)別是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”BaseBasicBolt與BaseRichBolt的區(qū)別是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
Stream grouping:
Shuffle Grouping: 隨機分組, 隨機分發(fā)stream里的tuple,并保證每個bolt能接收到的tuple數目大致相等。
Fields Grouping: 字段分組, 比如按userid來分組, 具有相同userid的tuple會被分發(fā)到相同的bolt里的一個task,而不同的userid則會被分配到不同的bolt里的task。
All Grouping: 廣播分組,對于每一個tuple,所有的bolt都會收到。
Global Grouping: 全局分組, 是將所有源實例產生的tuple發(fā)送到一個單獨的目標實例(特別地,ID 最低的任務)中。
Non Grouping: 不分組,意思是說stream不關心到底誰會收到它的tuple。目前這種分組和Shuffle grouping是一樣的效果, 但有一點不同的是storm會把這個bolt放到這個bolt的訂閱者同一個線程里面去執(zhí)行。
Direct Grouping: 直接分組, 這是一種比較特別的分組方法,由源決定哪個組件將接收tuple的分組。只有被聲明為Direct Stream的消息流可以聲明這種分組方法。且tuple必須使用emitDirect方法來發(fā)射。
Local or shuffle grouping: 如果目標bolt有一個或者多個task在同一個工作進程中,tuple將會被隨機發(fā)生給這些tasks。否則,和普通的Shuffle Grouping行為一致。
BaseBasicBolt 與 BaseRichBolt 的區(qū)別
You must – and are able to – manually ack() an incoming tuple.Can be used to delay acking a tuple, e.g. for algorithms that need to work across multiple incoming tuples.
Auto-acks the incoming tuple at the end of its execute() method.These bolts are typically simple functions or filters.
到此,關于“BaseBasicBolt與BaseRichBolt的區(qū)別是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。