MapReduce 的知识点详解

MapReduce 核心思想

分而治之,先分后和
MapReduce由Map和Reduce组成
Map:将数据进行拆分
Reduce:对数据进行汇总
MapReduce 的知识点详解

WordCount计算

计算每个单词出现的次数

原始数据
zhangsan,lisi,wangwu
zhaoliu,maqi
zhangsan,zhaoliu,wangwu
lisi,wangwu

期望的最终
zhangsan 2
lisi 2
wangwu 3
zhaoliu 2
maqi 1

偏移量
是指每个字符移动到当前文档的最前面需要移动的字符个数。

Hadoop数据类型
java:int ,long,double,float,boolean,String

hadoop:intWritable,LongWritable,DoubleWritable,FloatWritable

WordCount-Map实现
1.实例一个class 继承Mapper输入的key的数据类型,输入的value的数据类型,输出的key的数据类型,
输出的value的数据类型

2.重写map方法 map(LongWritable key,Text value,Context context)

key:行首字母的偏移量
value:一行数据
context:上下文对象

3.根据业务需求进行切分,然后逐一输出

WordCount-Reduce实现

1.实例一个class 继承Reduce输入的key的数据类型,输入的value的数据类型,输出的key的数据类型,
输出的value的数据类型

2.重写reduce方法

key:去重后单词
values:标记的1(好多个1,key出现几次就有几个1)
context:上下文对象

3.遍历values 进行汇总计算

WordCount-Driver实现
1.实例一个class 继承Configured实现Tool
2.重写run方法
3.在run方法中将自己编写的mapper和reduce添加到集群
4.输入输出