日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【Storm篇】--Storm基础概念

發布時間:2025/7/14 74 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Storm篇】--Storm基础概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、前述

Storm是個實時的、分布式以及具備高容錯的計算系統,Storm進程常駐內存 ,Storm數據不經過磁盤,在內存中處理。

二、相關概念

1.異步:

流式處理(異步)
客戶端提交數據進行結算,并不會等待數據計算結果。


2.同步:

實時請求應答服務(同步)
客戶端提交數據請求之后,立刻取得計算結果并返回給客戶端。

3.Storm,Sparkstreaming,Mapreduce相關概念比較:

Storm:(實時處理)

專門為流式處理設計
數據傳輸模式更為簡單,很多地方也更為高效
并不是不能做批處理,它也可以來做微批處理,來提高吞吐。

Spark Streaming:微批處理
將RDD做的很小來用小的批處理來接近流式處理
基于內存和DAG可以把處理任務做的很快。

MapReduce:

Storm:進程、線程常駐內存運行,數據不進入磁盤,數據通過網絡傳遞。
MapReduce:為TB、PB級別數據設計的批處理計算框架。

4.Storm 計算模型

Topology – DAG有向無環圖的實現(拓撲圖)

對于Storm實時計算邏輯的封裝
即,由一系列通過數據流相互關聯的Spout、Bolt所組成的拓撲結構
生命周期:此拓撲只要啟動就會一直在集群中運行,直到手動將其kill,否則不會終止
??? (區別于MapReduce當中的Job,MR當中的Job在計算執行完成就會終止)。

Tuple – 元組
Stream中最小數據組成單元

Stream – 數據流
從Spout中源源不斷傳遞數據給Bolt、以及上一個Bolt傳遞數據給下一個Bolt,所形成的這些數據通道即叫做Stream
Stream聲明時需給其指定一個Id(默認為Default)
實際開發場景中,多使用單一數據流,此時不需要單獨指定StreamId

Spout – 數據源
拓撲中數據流的來源。一般會從指定外部的數據源讀取元組(Tuple)發送到拓撲(Topology)中
一個Spout可以發送多個數據流(Stream)
可先通過OutputFieldsDeclarer中的declare方法聲明定義的不同數據流,發送數據時通過SpoutOutputCollector中的emit方法指定數據流Id(streamId)參數將數據發送出去
Spout中最核心的方法是nextTuple,該方法會被Storm線程不斷調用、主動從數據源拉取數據,再通過emit方法將數據生成元組(Tuple)發送給之后的Bolt計算

Bolt – 數據流處理組件
拓撲中數據處理均有Bolt完成。對于簡單的任務或者數據流轉換,單個Bolt可以簡單實現;更加復雜場景往往需要多個Bolt分多個步驟完成
一個Bolt可以發送多個數據流(Stream)
可先通過OutputFieldsDeclarer中的declare方法聲明定義的不同數據流,發送數據時通過SpoutOutputCollector中的emit方法指定數據流Id(streamId)參數將數據發送出去
Bolt中最核心的方法是execute方法,該方法負責接收到一個元組(Tuple)數據、真正實現核心的業務邏輯

?

轉載于:https://www.cnblogs.com/LHWorldBlog/p/8352845.html

總結

以上是生活随笔為你收集整理的【Storm篇】--Storm基础概念的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。