Storm系列 十 聚流示例

2021-07-25 04:00:36 字數 2247 閱讀 7042

功能:將多個資料來源的資料匯集到乙個處理單元進行集中分類處理;

入口類testmain

publicclass

testmain

19  }

資料來源類randomwordspout1

輸出欄位為name

publicclass

randomwordspout1

extends

baserichspout

12 

13 

@override

14 

publicvoid

declareoutputfields(outputfieldsdeclarer

declarer)

17 

18 

@override

19 

publicvoid

nexttuple()

22 

23  }

資料來源類randomwordspout2

輸出欄位為content

publicclass

randomwordspout2

extends

baserichspout

9  10 

@override

11 

publicvoid

declareoutputfields(outputfieldsdeclarer

declarer)

14 

15 

@override

16 

publicvoid

nexttuple()

19 

20  }

資料來源類randomwordspout3輸出key、value兩個字段

publicclass

randomwordspout3

extends

baserichspout

10 

11 

@override

12 

publicvoid

declareoutputfields(outputfieldsdeclarer

declarer)

15 

16 

@override

17 

publicvoid

nexttuple()

21 

22  }

聚流處理類transferbolt,輸出從各流獲取到的資料

publicclass

transferbolt

extends

basebasicbolt

17 

18 

}19 

20 

@override

21 

publicvoid

declareoutputfields(outputfieldsdeclarer

declarer)

23 

24 

@override

25 

publicvoid

execute(tuple

input,

basicoutputcollector

collector)

33 

system

.out

.println("sourcecomponent:"

+input

.getsourcecomponent()

34 

+",sourcestreamid:"

+input

.getsourcestreamid()

+",content:"

35 

+content);

36 

}37 

38 

}

Storm概念學習系列之storm的功能和三大應用

不多說,直接上乾貨!storm的功能 下面介紹storm 的三大主要應用 1 流處理 stream processing storm 可用來實時處理新資料和更新資料庫,兼具容錯性和可擴充套件性,即 storm 可以用來處理源源不斷流進來的訊息,處理之後將結果寫入某個儲存中。2 持續計算 contin...

Storm概念學習系列之storm的定時任務

不多說,直接上乾貨!至於為什麼,有storm的定時任務。這個很簡單。但是,這個在工作中非常重要!假設有如下的業務場景 這個spoult源源不斷地傳送資料,boilt呢會進行處理。然後呢,處理後的結果,假設要寫到mysql裡面。假設,spout有幾十萬條,這麼過來。寫入到bolt,意味著,它一秒鐘要呼...

Storm系列 十八 事務介紹

功能 將多個tuple組合成為乙個批次,並保障每個批次的tuple被且僅被處理一次。storm事務處理中,把乙個批次的tuple的處理分為兩個階段processing和commit階段。事務topologies 在transactional topologies內部主要管理以下事情 管理狀態 把所有...