天天看點

MapReduce 學習(一)

首先我們先來欣賞一下mapreduce的執行過程吧,如下圖,自己看,不解釋了。

MapReduce 學習(一)

map 和 reduce 的處理都是基于key/value來進行的,在map中對檔案的每一行進行處理,有兩個輸入參數,keyinput,valueinput,然後有兩個輸出,keyout,valueout,在map執行之後有個combiner,負責把多個map傳過來的key相同的value生成一個iterable接口的集合,也可以自己指定一個combiner,可以提高性能,要慎用,經過combiner處理之後,就把處理過的内容傳給reduce,這是個一對一的過程,reduce的輸出也是keyout,valueout,最後是輸出到檔案,這裡還有一個partitiner,實作它可以把輸出分别寫到多個檔案上,否則将會把所有reduce産生的檔案輸出到一個檔案當中,好,我們來看一下下面這個圖,大家就可以有一個更直覺的感受了!

MapReduce 學習(一)

好啦,理論就講到這裡。

繼續閱讀