您好,登錄后才能下訂單哦!
本篇內容主要講解“Spout的相關知識點有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Spout的相關知識點有哪些”吧!
在Storm 之中,Spout 和Bolt 都是其Compnent, 所以在Storm之中定義了一個名叫 IComponent
的總接口
Spout
在前面的基本例子中,我們實現了一個RandomSout,來看看其類圖
Spout的最頂級的抽象是ISpout接口
有關如下的API
1:oepn 方法是初始化動作: 允許你在該spout 初始化時做一些動作,傳入了上寫文,也方便娶上下文的一些數據
2 :close 方法在該Spout 關閉前執行,但是并不能得到保證其一定會執行,spout是作為task 運行,在worker內的,在
clouster 集群之下,我們的 supervisor 會直接kill掉 ,這樣它就有可能不會允許, 而在本地的模式之下,只要不是kill -9,如果是發送停止命令,是可以保證close的執行的。
3 : Activate
4 :deactivate
5: nextTuple : nextTuple 用來發送數據
6 ack ( Object ) : Ack 傳入的Object其實是一個id. 表示唯一一個tuple
7 fail ( Object )
由于繼承了BaseRichSpout, 所以不用實現 close,activate,deactivate,ack,fail
等方法。
結論:
在通常的情況之下,(Shel 和事物型的除外),實現一個Spout,可以直接的去實現IRichSpout
如果不想寫IRIchSpout代碼,可以繼承自BaseRichSpout
Bolt
ExclaimBasicBolt的類圖
Ibolt 繼承了java.io.Serializable 我們在nimbus上提交了topology
execute 接受一個tuple進行處理,并在prepare 方法傳入的 ACK方法,或者fail方法表示來反饋處理的結果
通常情況之下,他實際上相當于自動做掉prepare方法和collector.emit.ack(inputTupe)
到此,相信大家對“Spout的相關知識點有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。