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中做了排序...