1. 程式人生 > >對MapReduce初步認識

對MapReduce初步認識

        MapReduce基於“分而治之”的思想,將計算任務抽象成map和reduce兩個計算過程。通過適當的split任務,可以充分發揮單臺機器的計算能力。同時,良好的伸縮性,使得叢集容易擴充套件。在容錯方面,單臺節點的失敗可由其它節點重算,不會影響其它節點的計算。其缺點是計算的中間結果以檔案形式儲存,效率較低。另外,MapReduce不適合計算密集型的操作,如機器學習,因為這類任務通常需要反覆的迭代,而MapReduce的中間資料儲存在磁碟上,速度較慢。因為有這樣的問題,也就出現了Spark--基於MapReduce的新的分散式計算引擎。由此也可以感受到,新技術的發展往往是為了應對新的挑戰,而對現有技術否定的結果-否定之否定的否定。