MR與spark的區別

2022-09-19 13:00:16 字數 534 閱讀 1009

1.本質上相同,都是把map端資料分類處理後交由reduce的過程

2.資料流有所區別,mr按map, spill, merge, shuffle, sort, reduce等各階段逐一實現。spark基於dag資料流,可實現更複雜資料流操作(根據寬/窄依賴實現)

3.實現功能上有所區別,mr在map中做了排序操作,而spark假定大多數應用場景shuffle資料的排序操作不是必須的,而是採用aggregator機制(hashmap每個元素形式)實現。(下面有較詳細說明)

4.shuffle是連線map和reduce之間的橋梁,map的輸出結果需要經過shuffle過程之後,也就是經過資料分類以後再交給reduce進行處理。因此,shuffle的效能高低直接影響了整個程式的效能和吞吐量。由此可知,shuffle是指對map輸出結果進行分割槽、排序、合併等處理並交給reduce的過程。

5.map端shuffle過程,就是對map輸出結果寫入快取、分割槽、排序、合併再寫入磁碟。

reduce端shuffle過程,就是從不同map機器取回輸出進行歸併後交給reduce進行處理。

Spark與MR的區別

spark把運算的中間資料存放在記憶體,迭代計算效率更高 mr的中間結果需要落地,需要儲存到磁碟,這樣必然會有磁碟io操作,影響效能 spark容錯性高,它通過彈性分布式資料集rdd來實現高效容錯,rdd是一組分布式的儲存在節點記憶體中的唯讀性質的資料集,這些集合是彈性的,某一部分丟失或者出錯,可以...

Spark和MR的區別

spark把運算的中間資料存放在記憶體,迭代計算效率更高 mr的中間結果需要落地,需要儲存到磁碟,這樣必然會有磁碟io操作,影響效能 spark容錯性高,它通過彈性分布式資料集rdd來實現高效容錯,rdd是一組分布式的儲存在節點記憶體中的唯讀性質的資料集,這些集合石彈性的,某一部分丟失或者出錯,可以...

Spark的shuffle和mr的區別?

問題分析 對hadoop和spark的shullfe過程理解不透徹 問題解答 mr的shuffle mapshuffle 資料存到hdfs中是以塊進行儲存的,每乙個塊對應乙個分片,maptask就是從分片中獲取資料的 在某個節點上啟動了maptask,maptask讀取是通過k v來讀取的,讀取的資...