grouping
訊息分發策略決定了訊息在spout和bolt間,bolt和bolt間如何進行傳遞。 流分組策略有內建的八種,同時還可以進行自定義。這裡將介紹最常用的幾種
shuffle grouping
隨機分發到兩個bolt上,確保兩個bolt上tuple的數量大體相同,從日誌列印上可看出。
builder.setspout("createnum",new numspout(),1);
builder.setbolt("countnum",new sumbolt(),2)
.shufflegrouping("createnum");
fields grouping
按照特定欄位來進行分發,保證相同的字段分發到同乙個bolt上。 配置grouping:
builder.setspout("createnum",new numspout(),1);
builder.setbolt("countnum",new sumbolt(),2)
.fieldsgrouping("createnum",new fields("isodd"));
由於是按照特定的field進行分發,所以需要在額外新增乙個isodd欄位用來分發:
public class numspout extends baserichspout catch (interruptedexception e) catch (interruptedexception e) {
e.printstacktrace();
public void declareoutputfields(outputfieldsdeclarer declarer) {
declarer.declare(new fields("num"));
builder.setspout("createnum",new numspout(),1);
builder.setbolt("countnum",new sumbolt(),3)
.directgrouping("createnum");
storm的分組策略
storm有7種流分組策略 1 shuffle grouping 隨機分組 將tuple隨機分配到bolt中,能夠保證各task中處理的資料均衡 2 fields grouping 按欄位分組 根據設定的字段相同值得tuple被分配到同乙個bolt進行處理 舉例 builder.setbolt my...
storm分組策略介紹
size medium b 一 storm資料 b size spout的資料來源 mq 直接流資料來源 db 只能讀配置檔案 檔案 只能學習用,其他無用。問題 1 分布式應用無法讀 2 spout開併發會重複讀 log檔案增量資料 1 讀出內容寫入mq,2 storm處理 size medium ...
storm的流分組策略
關於storm的基礎,參照我這篇文章 流式計算storm 關於併發和並行,參照我這篇文章 併發和並行 關於storm的並行度解釋,參照我這篇文章 storm的並行度解釋 關於storm的流分組策略,參照我這篇文章 storm的流分組策略 關於storm的訊息可靠機制,參照我這篇文章 storm的訊息...