什么是大數據?大數據就是大量的數據,比如1TB或者1PB的數據。
什么是MapReduce,MapReduce是解決大數據帶來的性能問題的一種解決方案。
舉個例子,給你1PB的文本,要你統計出love出現的次數。如果你按照傳統的方法,性能肯定是不可以接受的,要提高性能,必須用并行處理的方法。
要并行處理,就必須拆解,比如我們把1萬行的文本拆成100份。然后對每一份統計love出現的次數,這個統計的過程就是就是Map,比如第一份love出現的次數是1,第二份出現的次數是0,第三份出現的次數是2,第四份出現的次數是8。。。
然后把所有所有的統計結果放到1個叫love的盒子里,這個過程叫shuffle。
最后在一個盒子里面把所有100份love的計數匯總,得出最終的結果,這個過程就叫Reduce,整個過程如下圖所示。
總之,MapReduce應用的就是分而治之的思想解決大數據處理問題的解決方案之一。