1. 程式人生 > >spark與storm功能對比與選型思考

spark與storm功能對比與選型思考

Storm擅長於動態處理大量實時生產的小資料塊,概念上是將小資料量的資料來源源不斷傳給過程;

Spark擅長對現有的資料全集做處理,概念是將過程傳給大資料量的資料。

二者設計思路相反。Storm側重於處理的實時性,Spark側重處理龐大資料(類似於Hadoop的MR)。

 

Spark流模組(Spark Streaming)與Storm類似,但有區別:

1.Storm純實時,來一條資料,處理一條資料;SparkStreaming準實時,對一個時間段內的資料收集起來,作為一個RDD,再做處理。

2.Storm響應時間毫秒級;Spark Streaming響應時間秒級

3.Storm可以動態調整並行度;SparkStreaming不行

 

Storm應用場景:

1、對於需要純實時,不能忍受1秒以上延遲的場景

2、要求可靠的事務機制和可靠性機制,即資料的處理完全精準

3、如果還需要針對高峰低峰時間段,動態調整實時計算程式的並行度,以最大限度利用叢集資源

 

Spark Streaming應用場景:

1、Spark Streaming可以和Spark Core、Spark SQL無縫整合,如果一個專案除了實時計算之外,還包括了離線批處理、互動式查詢等業務功能,考慮使用Spark Streaming。