亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么storm的數據來自于消息隊列?

為什么storm的數據來自于消息隊列?

翻過高山走不出你 2018-08-28 11:07:47
為什么storm的數據來自于消息隊列
查看完整描述

1 回答

?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

Storm的解決問題的scope主要在于流計算,說流計算之前我們先簡單的說下一般數據處理系統的過程。一般數據處理簡單說要有幾個環節:數據采集,數據計算,結果輸出。題主的問題主要是在數據采集和計算之間的對接。
一般來說計算系統(storm)不會自己產生業務數據,業務數據一般來自頁面的埋點,或者對數據庫log的解析,對于storm來說采集系統是個外部系統。 采集系統是數據的生產者,流計算(storm)是數據的消費者。二者的速度并不是時時刻刻匹配的,中間就需要需要一個緩沖,這個模型下消息隊列在適合不過了。當然為什么一般用kafka,這個超出了這個問題,我們暫不討論。如果題主要處理的數據不是實時產生的而是靜態數據那就沒必要使用消息隊列了,當然也沒必要使用storm,使用Hadoop MR更合適。
關于spout會不會重復讀取數據的問題,簡單來說消息隊列中數據會分partition支持多并發。 題主可以看看kafka的文檔,一般消息隊列,對一份數據(一個topic,對應離線系統的表)會分不同的parition,不同的spout并發可以讀取不同的parition,當然一個并發可以讀取多個parition,但是多個并發讀取一個parition會引起混亂這就是題主的問題。也就是實際應用中一個parition只會有一個并發讀取。

查看完整回答
反對 回復 2018-09-26
  • 1 回答
  • 0 關注
  • 1353 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號