storm訊息分組策略

2021-12-30 08:41:54 字數 1009 閱讀 4350

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的訊息...