一、数据去重
要求:对多个数据文件进行去重。每行数据格式为“时间 字母”
1.1 设计思路
根据reduce的过程特性,会自动根据key来计算输入value的集合,把数据作为key输出传给reduce,则无论出现多少次,reduce最终结果中key只能输出一个。(map输出:<key,value-list>,value-list的个数即次数>
每个数据代表一行内容,所以map阶段任务即为把value设置为key并直接输出。map中结果经过shuffle后交给reduce。reduce阶段不管每个key有多少value,而是直接将输入的key复制为输出的key,并输出。
1.2 代码实现
public calss Dedup{
// Mapper的四个参数:第一个Object表示输入key的类型;第二个Text表示输入value的类型;第三个Text表示表示输出键的类型;第四个IntWritable表示输出值的类型。
public static class Map extends Mapper<Object, Text, Text, IntWritable> {
private static Text line=