Spark和MapReduce的本質區別

2021-10-08 02:51:56 字數 379 閱讀 1434

1.mr只能做離線計算,如果實現複雜計算邏輯,乙個mr搞不定,就需要將多個mr按照先後順序連成一串,乙個mr計算完成後會將計算結果寫入到hdfs中,下乙個mr將上乙個mr的輸出作為輸入,這樣就要頻繁讀寫hdfs,網路io和磁碟io會成為效能瓶頸。從而導致效率低下。

2.既可以做離線計算,有可以做實時計算,提供了抽象的資料集(rdd、dataset、dataframe、dstream)

有高度封裝的api,運算元豐富,並且使用了更先進的dag有向無環圖排程思想,可以對執行計畫優化後在執行,並且可以資料可以cache到記憶體中進行復用。

spark shuffle的時候只寫到磁碟中不寫道hdfs中

注意:mr和spark在shuffle時資料都落本地磁碟

Spark與MapReduce的區別

spark中最核心的概念是rdd 彈性分布式資料集 近年來,隨著資料量的不斷增長,分布式集群平行計算 如mapreduce dryad等 被廣泛運用於處理日益增長的資料。這些設計優秀的計算模型大都具有容錯性好 可擴充套件性強 負載平衡 程式設計方法簡單等優點,從而使得它們受到眾多企業的青睞,被大多數...

spark相比MapReduce的優勢

spark 比hadoop快的原因 資料本地性 排程優化 傳輸優化,最主要的是基於記憶體計算和引入了dag。hadoop的計算結果在磁碟中,spark是在記憶體中 資料計算任務需要多個步驟時,hadoop需要引入oozie等工具,但是spark有dag hadoop中,每乙個job 的計算結果都會儲...

Spark相比MapReduce的優勢

mapreduce是apache hadoop中用於大規模資料集計算的平行計算框架,目前被廣泛應用於企業的離線資料處理上。但是因為種種原因,mapreduce的效能並不理想。而spark作為資料處理框架界的後起之秀,很多方面都超過了mapreduce。下面來列出mapreduce的不足以及spark...