Bolt是一個組件,以元組作爲輸入,以生成元組作爲輸出。當編寫Bolt的時候,通常會實現IRichBolt接口。在客戶端主機中創建Bolt,序列化到拓撲,並提交到集羣中的主控節點。集羣啓動Worker,反序列化Bolt,準備調用它,然後開始處理元組。
prepare():僅在bolt開始處理Tuple之前調用。
execute():處理一個Tuple的輸入。
繼承BaseRichBolt的Bolt類,還需要重寫declareOutputFields()、prepare()、execute();
* 在declareOutputfields()方法中聲明字段;
* 在prepare()方法中初始化參數和變量
* 在execute()方法中接收元組,處理邏輯
另外還可以通過實現IRichBolt接口或者IBolt接口,定義邏輯更復雜的Bolt。