编程模型之核心概念
- 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 上