編程模型之核心概念
- Split
- InputFormat
- OutputFormat
- Combiner:map端的聚合操作
- Partitoner:決定MapTask輸出的數據由哪裏ReduceTask處理。默認實現:Key.hash % numReduceTask
編程模型之執行步驟
- 準備map處理的輸入數據
- Mapper處理
- Shuffle
- Reduce處理
- 結果輸出
- 通過 InputFormat 讀入HDFS上的文件
- 通過 Split 進行分片後,用 RecordReader 讀取進來
- input(k,v) pairs ⇒ map ⇒ intermediate(k,v) pairs
- 通過 Partitioner 進行分區後,按照一定的規則進行 Shuffling,然後按字典排序
- 通過 Reduce 後,OutputFormat 寫回到 HDFS 上