日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Storm篇】--Storm基础概念

發(fā)布時(shí)間:2025/7/14 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Storm篇】--Storm基础概念 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、前述

Storm是個(gè)實(shí)時(shí)的、分布式以及具備高容錯(cuò)的計(jì)算系統(tǒng),Storm進(jìn)程常駐內(nèi)存 ,Storm數(shù)據(jù)不經(jīng)過磁盤,在內(nèi)存中處理。

二、相關(guān)概念

1.異步:

流式處理(異步)
客戶端提交數(shù)據(jù)進(jìn)行結(jié)算,并不會(huì)等待數(shù)據(jù)計(jì)算結(jié)果。


2.同步:

實(shí)時(shí)請(qǐng)求應(yīng)答服務(wù)(同步)
客戶端提交數(shù)據(jù)請(qǐng)求之后,立刻取得計(jì)算結(jié)果并返回給客戶端。

3.Storm,Sparkstreaming,Mapreduce相關(guān)概念比較:

Storm:(實(shí)時(shí)處理)

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

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

MapReduce:

Storm:進(jìn)程、線程常駐內(nèi)存運(yùn)行,數(shù)據(jù)不進(jìn)入磁盤,數(shù)據(jù)通過網(wǎng)絡(luò)傳遞。
MapReduce:為TB、PB級(jí)別數(shù)據(jù)設(shè)計(jì)的批處理計(jì)算框架。

4.Storm 計(jì)算模型

Topology – DAG有向無環(huán)圖的實(shí)現(xiàn)(拓?fù)鋱D)

對(duì)于Storm實(shí)時(shí)計(jì)算邏輯的封裝
即,由一系列通過數(shù)據(jù)流相互關(guān)聯(lián)的Spout、Bolt所組成的拓?fù)浣Y(jié)構(gòu)
生命周期:此拓?fù)渲灰獑?dòng)就會(huì)一直在集群中運(yùn)行,直到手動(dòng)將其kill,否則不會(huì)終止
??? (區(qū)別于MapReduce當(dāng)中的Job,MR當(dāng)中的Job在計(jì)算執(zhí)行完成就會(huì)終止)。

Tuple – 元組
Stream中最小數(shù)據(jù)組成單元

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

Spout – 數(shù)據(jù)源
拓?fù)渲袛?shù)據(jù)流的來源。一般會(huì)從指定外部的數(shù)據(jù)源讀取元組(Tuple)發(fā)送到拓?fù)?#xff08;Topology)中
一個(gè)Spout可以發(fā)送多個(gè)數(shù)據(jù)流(Stream)
可先通過OutputFieldsDeclarer中的declare方法聲明定義的不同數(shù)據(jù)流,發(fā)送數(shù)據(jù)時(shí)通過SpoutOutputCollector中的emit方法指定數(shù)據(jù)流Id(streamId)參數(shù)將數(shù)據(jù)發(fā)送出去
Spout中最核心的方法是nextTuple,該方法會(huì)被Storm線程不斷調(diào)用、主動(dòng)從數(shù)據(jù)源拉取數(shù)據(jù),再通過emit方法將數(shù)據(jù)生成元組(Tuple)發(fā)送給之后的Bolt計(jì)算

Bolt – 數(shù)據(jù)流處理組件
拓?fù)渲袛?shù)據(jù)處理均有Bolt完成。對(duì)于簡(jiǎn)單的任務(wù)或者數(shù)據(jù)流轉(zhuǎn)換,單個(gè)Bolt可以簡(jiǎn)單實(shí)現(xiàn);更加復(fù)雜場(chǎng)景往往需要多個(gè)Bolt分多個(gè)步驟完成
一個(gè)Bolt可以發(fā)送多個(gè)數(shù)據(jù)流(Stream)
可先通過OutputFieldsDeclarer中的declare方法聲明定義的不同數(shù)據(jù)流,發(fā)送數(shù)據(jù)時(shí)通過SpoutOutputCollector中的emit方法指定數(shù)據(jù)流Id(streamId)參數(shù)將數(shù)據(jù)發(fā)送出去
Bolt中最核心的方法是execute方法,該方法負(fù)責(zé)接收到一個(gè)元組(Tuple)數(shù)據(jù)、真正實(shí)現(xiàn)核心的業(yè)務(wù)邏輯

?

轉(zhuǎn)載于:https://www.cnblogs.com/LHWorldBlog/p/8352845.html

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。