天天看點

大資料-玩轉資料-Hadoop+Storm與Spark架構方案比較

大資料-玩轉資料-Hadoop+Storm與Spark架構方案比較

Hadoop+Storm方案結構圖

大資料-玩轉資料-Hadoop+Storm與Spark架構方案比較

Spark方案結構圖

大資料-玩轉資料-Hadoop+Storm與Spark架構方案比較

Hadoop的資料處理工作在硬碟層面,借助HDFS(分布式檔案系統),可以将架構下每一台電腦中的硬碟資源聚集起來,之後使用叢集管理和排程軟體YARN,最後利用Map/Reduce計算架構,就可以在這上面進行計算程式設計。

由于Hadoop的計算過程放在硬碟,受制于硬體條件限制,資料的吞吐和處理速度明顯不如使用記憶體來的快。

Spark和Storm兩者最大的差別在于實時性:Spark是準實時,先收集一段時間的資料再進行統一處理,好比看網頁統計票數每隔幾秒重新整理一次,而Storm則是完全實時,來一條資料就處理一條。

當然Storm實時處理方式所帶來的缺點也是很明顯的,不論離線批處理,高延遲批處理還是互動式查詢都不如Spark架構。

不同的機制決定了兩者架構适用的場景不同,比如炒股,股價的變化不是按秒計算的(Spark實時計算延遲度是秒級),在高頻交易中,高頻獲利與否往往就在1ms(0.001秒)之間,而這恰好就是Storm的實時計算延遲度。

Hadoop,盡管資料處理的速度和難易度都遠比不過Spark和Storm。但是由于硬碟斷電後資料可以長期儲存,是以在處理需要長期存儲的資料時還是需要借助Hadoop。

Hadoop由于具有非常好的相容性,是以非常容易的同Spark和Storm進行結合,進而滿足公司的不同需求。