Spark和MR的區別

2021-09-26 21:06:52 字數 690 閱讀 9668

spark把運算的中間資料存放在記憶體,迭代計算效率更高;mr的中間結果需要落地,需要儲存到磁碟,這樣必然會有磁碟io操作,影響效能

spark容錯性高,它通過彈性分布式資料集rdd來實現高效容錯,rdd是一組分布式的儲存在節點記憶體中的唯讀性質的資料集,這些集合石彈性的,某一部分丟失或者出錯,可以通過整個資料集的計算流程的血緣關係來實現重建;mr的話容錯可能只能重新計算了,成本較高

spark更加通用,spark提供了transformation和action這兩大類的多個功能的api,另外還有流式處理sparkstreaming模組,圖計算graphx等;mr只提供了map和reduce兩種操作,流計算以及其他模組的支援比較缺乏

spark框架和生態更為複雜,首先由rdd、血緣lineage、執行時的有向無環圖dag、stage劃分等等,

很多時候spark作業都需要根據不同的業務場景的需要進行調優,以達到效能要求,mr框架及其生態相對較為簡單,對效能的要求也相對較弱,但是執行較為穩定,適合長期後台執行

mr執行在yarn上,

spark

local:本地執行

standalone:使用spark自帶的資源管理框架,執行spark的應用

yarn:將spark應用類似mr一樣,提交到yarn上執行

mesos:類似yarn的一種資源管理框架

Spark的shuffle和mr的區別?

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

Spark與MR的區別

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

MR與spark的區別

1.本質上相同,都是把map端資料分類處理後交由reduce的過程 2.資料流有所區別,mr按map,spill,merge,shuffle,sort,reduce等各階段逐一實現。spark基於dag資料流,可實現更複雜資料流操作 根據寬 窄依賴實現 3.實現功能上有所區別,mr在map中做了排序...