1. 程式人生 > >MapReduce的原始碼分析

MapReduce的原始碼分析

map端的輸出是reduce端的輸入。

切片的資訊

設定塊的最大值和最小值

設定切片的最大值和最小值

設定reduce  task的個數

如果reduce環節為0,那麼就是說沒有reduce環節

如果reduce的個數不為零,那麼reduce階段就有兩個環節:分割槽和排序

map階段有一個run方法

 

偏移量:

map端的原始碼分析:

partition的原始碼分析

在框架預設的情況下,reduce的數量是一個。

partition分割槽器的個數

環形緩衝區的設定

 spill溢寫磁碟

排序器:預設是快速排序

 job階段的比較器

combiner:map端的預聚合

combiner預設是沒有的,是人為加上去的

 溢寫執行緒

環形緩衝區和赤道

reduce 端的原始碼分析:

reduce端也有排序,但是reduce端的排序是一種歸併排序方法。

 

 

 檢視使用者設定比較器沒有,分組比較器、排序比較器