弄清Spark、Storm、MapReduce的這幾點區別才適合學習大數據

很多初學者在剛剛接觸大數據的時候會有很多疑惑,比如對MapReduce、Storm、Spark三個計算框架的理解經常會產生混亂。

哪一個適合對大量數據進行處理?哪一個又適合對實時的流數據進行處理?又該如何來區分他們呢?

我對比整理了這3個計算框架的基本知識,大家可以瞭解一下以便對這個3個計算框架有一個整體的認識。

弄清Spark、Storm、MR的這幾點區別才適合學習大數據

MapReduce

  • 分佈式離線計算框架

  • 主要適用於大批量的集羣任務,由於是批量執行,故時效性偏低。

  • 原生支持 Java 語言開發 MapReduce ,其它語言需要使用到 Hadoop Streaming 來開發。

弄清Spark、Storm、MR的這幾點區別才適合學習大數據

Spark

  • Spark 是專爲大規模數據處理而設計的快速通用的計算引擎,其是基於內存的迭代式計算。

  • Spark 保留了MapReduce 的優點,而且在時效性上有了很大提高,從而對需要迭代計算和有較高時效性要求的系統提供了很好的支持。

  • 開發人員可以通過Java、Scala或者Python等語言進行數據分析作業編寫,並使用超過80種高級運算符。

  • Spark與HDFS全面兼容,同時還能與其它Hadoop組件—包括YARN以及HBase並行協作。

  • Spark可以被用於處理多種作業類型,比如實時數據分析、機器學習與圖形處理。多用於能容忍小延時的推薦與計算系統。

弄清Spark、Storm、MR的這幾點區別才適合學習大數據

Storm

  • Storm是一個分佈式的、可靠的、容錯的流式計算框架。

  • Storm 一開始就是爲實時處理設計,因此在實時分析/性能監測等需要高時效性的領域廣泛採用。

  • Storm在理論上支持所有語言,只需要少量代碼即可完成適配。

  • Storm把集羣的狀態存在Zookeeper或者本地磁盤,所以後臺進程都是無狀態的(不需要保存自己的狀態,都在zookeeper上),可以在不影響系統健康運行的同時失敗或重啓。

  • Storm可應用於--數據流處理、持續計算(持續地向客戶端發送數據,它們可以實時的更新以及展現數據,比如網站指標)、分佈式遠程過程調用(輕鬆地並行化CPU密集型操作)。

弄清Spark、Storm、MR的這幾點區別才適合學習大數據


如何用4個月學會Hadoop開發並找到年薪25萬工作?

 

免費分享一套17年最新Hadoop大數據教程100Hadoop大數據必會面試題

因爲鏈接經常被和諧,需要的朋友請 加微信 55723447 來獲取最新下載鏈接,註明“51CTO”

 

教程已幫助300+人成功轉型Hadoop開發,90%起薪超過20K,工資比之前翻了一倍。

由百度Hadoop核心架構師(T7級別)親自錄製。

內容包括0基礎入門、Hadoop生態系統、真實商業項目實戰3大部分。其中商業案例可以讓你接觸真實的生產環境,訓練自己的開發能力。

wKioL1mdQGiDPhHeAAAuZtp-5xs706.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章