首頁新聞動態(tài)正文

云計算大數(shù)據(jù):spark與storm比對與選型

更新時間:2018-01-23 來源:黑馬程序員 瀏覽量:

大數(shù)據(jù)實時處理平臺市場上產(chǎn)品眾多,本文著重討論spark與storm的比對,最后結合適用場景進行選型。

一、spark與storm的比較

spark,storm

二、Spark Streaming與Storm的應用場景

適用Storm的場景:

1、需要純實時,不能忍受1秒以上延遲的場景下使用,比如實時金融系統(tǒng),要求純實時進行金融交易和分析;

2、對于實時計算的功能中,要求可靠的事務機制和可靠性機制,即數(shù)據(jù)的處理完全精準,一條也不能多,一條也不能少,也可以考慮使用Storm;

3、若還需要針對高峰低峰時間段,動態(tài)調(diào)整實時計算程序的并行度,以最大限度利用集群資源(通常是在小型公司,集群資源緊張的情況),也可以考慮用Storm;

4、如果一個大數(shù)據(jù)應用系統(tǒng),它就是純粹的實時計算,不需要在中間執(zhí)行SQL交互式查詢、復雜的transformation算子等,那么用Storm是比較好的選擇。

適用Spark Streaming的場景:

1、如果對上述適用于Storm的三點,一條都不滿足的實時場景,即:不要求純實時,不要求強大可靠的事務機制,不要求動態(tài)調(diào)整并行度,那么可以考慮使用Spark Streaming;

2、考慮使用Spark Streaming最主要的一個因素,應該是針對整個項目進行宏觀的考慮,即:如果一個項目除了實時計算之外,還包括了離線批處理、交互式查詢等業(yè)務功能,而且實時計算中,可能還會牽扯到高延遲批處理、交互式查詢等功能,那么就應該首選Spark生態(tài),用Spark Core開發(fā)離線批處理,用Spark SQL開發(fā)交互式查詢,用Spark Streaming開發(fā)實時計算,三者可以無縫整合,給系統(tǒng)提供非常高的可擴展性 Spark Streaming與Storm的優(yōu)劣分析事實上,Spark Streaming絕對談不上比Storm優(yōu)秀;

總之,這兩個框架在實時計算領域都很優(yōu)秀,只是擅長的細分場景并不相同。Spark Streaming僅僅在吞吐量上比Storm要優(yōu)秀,而吞吐量這一點,也是歷來挺Spark Streaming貶Storm的人著重強調(diào)的。但是問題是,是不是在所有的實時計算場景下,都那么注重吞吐量?不盡然。因此,通過吞吐量說Spark Streaming強于Storm,不靠譜。事實上,Storm在實時延遲度上,比Spark Streaming就好多了,前者是純實時,后者是準實時。而且,Storm的事務機制、健壯性 / 容錯性、動態(tài)調(diào)整并行度等特性,都要比Spark Streaming更加優(yōu)秀。Spark Streaming,有一點是Storm絕對比不上的,就是:它位于Spark生態(tài)技術棧中,因此Spark Streaming可以和Spark Core、Spark SQL無縫整合,也就意味著,我們可以對實時處理出來的中間數(shù)據(jù),立即在程序中無縫進行延遲批處理、交互式查詢等操作。這個特點大大增強了Spark Streaming的優(yōu)勢和功能?!疚恼聛碓从诰W(wǎng)絡】

分享到:
在線咨詢 我要報名
和我們在線交談!