MapReduce简介
执行框架组件和执行流程
《深入理解大数据》黄宜华著
1. InputFormat
负责确定从HDFS文件中读取数据的输入格式
2. Split
负责将数据切片(HDFS默认128M/块),每个切片分配一个map对象
3. RecordReader
负责逐个读取切片中的数据,转换为key-value键值对后输入到map对象
4. Map
负责具体业务,处理输入的键值对,输出键值对,key可重复
5. Combiner
负责合并Map输出的键值对,即将相同的key合并为一个键值对
6. Partitioner
负责将map输出的数据分区,发送到合适的reduce节点,原则是消除reduce节点间数据的相关性,保证reduce可独立完成本地计算
7. sort
负责将数据按主键值排序,默认在map阶段写入文件时执行快排,reduce阶段执行归并排序,都为升序
8. Reduce
负责具体业务,处理输入的键值对,输出键值对,key不可重复
9. OutputFormat
负责确定数据的输出格式,并向HDFS中写入文件
WordCount
MR入门第一步,统计文本文件单词数,向hdfs上传文本文件input,输出output文件夹必须不存在,否则报错
1. MyMap
package com;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
import java.io.IOException;
public class MyMap extends Mapper<LongWritable,Text</