1 回答

TA貢獻(xiàn)1829條經(jīng)驗 獲得超7個贊
“快”這個詞是不明確的,專業(yè)屬于點有兩個層面:
1. 延時 , 指數(shù)據(jù)從產(chǎn)生到運算產(chǎn)生結(jié)果的時間,題主的“快”應(yīng)該主要指這個。
2. 吞吐, 指系統(tǒng)單位時間處理的數(shù)據(jù)量。
首先明確一點,在消耗資源相同的情況下,一般來說storm的延時低于mapreduce。但是吞吐也低于mapreduce。 我再補(bǔ)充一下。storm是典型的流計算系統(tǒng),mapreduce是典型的批處理系統(tǒng)。下面對流計算和批處理系統(tǒng)流程
真?zhèn)€數(shù)據(jù)處理流程來說大致可以分三個階段:
1. 數(shù)據(jù)采集與準(zhǔn)備
2. 數(shù)據(jù)計算(涉及計算中的中間存儲), 題主中的“那些方面決定”應(yīng)該主要是指這個階段處理方式。
3. 數(shù)據(jù)結(jié)果展現(xiàn)(反饋)
1)數(shù)據(jù)采集階段,目前典型的處理處理策略:數(shù)據(jù)的產(chǎn)生系統(tǒng)一般出自頁面打點和解析DB的log,流計算將數(shù)據(jù)采集中消息隊列(比如kafaka,metaQ,timetunle)等。批處理系統(tǒng)一般將數(shù)據(jù)采集進(jìn)分布式文件系統(tǒng)(比如HDFS),當(dāng)然也有使用消息隊列的。我們暫且把消息隊列和文件系統(tǒng)稱為預(yù)處理存儲。二者在延時和吞吐上沒太大區(qū)別,接下來從這個預(yù)處理存儲進(jìn)入到數(shù)據(jù)計算階段有很大的區(qū)別,流計算一般在實時的讀取消息隊列進(jìn)入流計算系統(tǒng)(storm)的數(shù)據(jù)進(jìn)行運算,批處理一系統(tǒng)一般會攢一大批后批量導(dǎo)入到計算系統(tǒng)(hadoop),這里就有了延時的區(qū)別。
2)數(shù)據(jù)計算階段,流計算系統(tǒng)(storm)的延時低主要有一下幾個方面(針對題主的問題)
A: storm 進(jìn)程是常駐的,有數(shù)據(jù)就可以進(jìn)行實時的處理
- 1 回答
- 0 關(guān)注
- 628 瀏覽
添加回答
舉報