更新時(shí)間:2018-01-23 來源:黑馬程序員 瀏覽量:
大數(shù)據(jù)實(shí)時(shí)處理平臺(tái)市場(chǎng)上產(chǎn)品眾多,本文著重討論spark與storm的比對(duì),最后結(jié)合適用場(chǎng)景進(jìn)行選型。
一、spark與storm的比較
二、Spark Streaming與Storm的應(yīng)用場(chǎng)景
適用Storm的場(chǎng)景:
1、需要純實(shí)時(shí),不能忍受1秒以上延遲的場(chǎng)景下使用,比如實(shí)時(shí)金融系統(tǒng),要求純實(shí)時(shí)進(jìn)行金融交易和分析;
2、對(duì)于實(shí)時(shí)計(jì)算的功能中,要求可靠的事務(wù)機(jī)制和可靠性機(jī)制,即數(shù)據(jù)的處理完全精準(zhǔn),一條也不能多,一條也不能少,也可以考慮使用Storm;
3、若還需要針對(duì)高峰低峰時(shí)間段,動(dòng)態(tài)調(diào)整實(shí)時(shí)計(jì)算程序的并行度,以最大限度利用集群資源(通常是在小型公司,集群資源緊張的情況),也可以考慮用Storm;
4、如果一個(gè)大數(shù)據(jù)應(yīng)用系統(tǒng),它就是純粹的實(shí)時(shí)計(jì)算,不需要在中間執(zhí)行SQL交互式查詢、復(fù)雜的transformation算子等,那么用Storm是比較好的選擇。
適用Spark Streaming的場(chǎng)景:
1、如果對(duì)上述適用于Storm的三點(diǎn),一條都不滿足的實(shí)時(shí)場(chǎng)景,即:不要求純實(shí)時(shí),不要求強(qiáng)大可靠的事務(wù)機(jī)制,不要求動(dòng)態(tài)調(diào)整并行度,那么可以考慮使用Spark Streaming;
2、考慮使用Spark Streaming最主要的一個(gè)因素,應(yīng)該是針對(duì)整個(gè)項(xiàng)目進(jìn)行宏觀的考慮,即:如果一個(gè)項(xiàng)目除了實(shí)時(shí)計(jì)算之外,還包括了離線批處理、交互式查詢等業(yè)務(wù)功能,而且實(shí)時(shí)計(jì)算中,可能還會(huì)牽扯到高延遲批處理、交互式查詢等功能,那么就應(yīng)該首選Spark生態(tài),用Spark Core開發(fā)離線批處理,用Spark SQL開發(fā)交互式查詢,用Spark Streaming開發(fā)實(shí)時(shí)計(jì)算,三者可以無縫整合,給系統(tǒng)提供非常高的可擴(kuò)展性 Spark Streaming與Storm的優(yōu)劣分析事實(shí)上,Spark Streaming絕對(duì)談不上比Storm優(yōu)秀;
總之,這兩個(gè)框架在實(shí)時(shí)計(jì)算領(lǐng)域都很優(yōu)秀,只是擅長的細(xì)分場(chǎng)景并不相同。Spark Streaming僅僅在吞吐量上比Storm要優(yōu)秀,而吞吐量這一點(diǎn),也是歷來挺Spark Streaming貶Storm的人著重強(qiáng)調(diào)的。但是問題是,是不是在所有的實(shí)時(shí)計(jì)算場(chǎng)景下,都那么注重吞吐量?不盡然。因此,通過吞吐量說Spark Streaming強(qiáng)于Storm,不靠譜。事實(shí)上,Storm在實(shí)時(shí)延遲度上,比Spark Streaming就好多了,前者是純實(shí)時(shí),后者是準(zhǔn)實(shí)時(shí)。而且,Storm的事務(wù)機(jī)制、健壯性 / 容錯(cuò)性、動(dòng)態(tài)調(diào)整并行度等特性,都要比Spark Streaming更加優(yōu)秀。Spark Streaming,有一點(diǎn)是Storm絕對(duì)比不上的,就是:它位于Spark生態(tài)技術(shù)棧中,因此Spark Streaming可以和Spark Core、Spark SQL無縫整合,也就意味著,我們可以對(duì)實(shí)時(shí)處理出來的中間數(shù)據(jù),立即在程序中無縫進(jìn)行延遲批處理、交互式查詢等操作。這個(gè)特點(diǎn)大大增強(qiáng)了Spark Streaming的優(yōu)勢(shì)和功能?!疚恼聛碓从诰W(wǎng)絡(luò)】
【云計(jì)算大數(shù)據(jù)】Java面試題之?dāng)?shù)據(jù)庫三范式是什么
2018-01-10云計(jì)算面試題之Request對(duì)象的主要方法
2018-01-05云計(jì)算大數(shù)據(jù):企業(yè)中處理數(shù)據(jù)的兩種主要方式
2018-01-05云計(jì)算大數(shù)據(jù):KVM虛擬化技術(shù)實(shí)戰(zhàn)
2017-12-22云計(jì)算大數(shù)據(jù):數(shù)據(jù)倉庫建模
2017-12-19云計(jì)算大數(shù)據(jù):構(gòu)建高性能Web站點(diǎn)
2017-12-19