一:Mapreduce编程模型
1.介绍
解决海量数据的计算问题。
》map:映射
处理不同机器上的块的数据,一个map处理一个块。
》reduce:汇总
将map的结果进行汇总合并
2.一个简单的MR程序
map
reduce
input
output
3.在处理中,格式的流向
《key,value》
4.需要思考的问题
处理的数据是什么样的
map的输出格式
reduce的输出数据格式
二:完成Wordcount的程序
1.数据的输入格式说明(默认方式)
Hadoop Yarn
》key:代表偏移量
》value:这一行的值
》<0,Hadoop Yarn>
2.map处理的数据格式
Hadoop Yarn
Hadoop Spark
分割单词
每出现一次就这样处理一下
<Hadoop,1> <Yarn,1>
<Hadoop,1> <Spark,1>
3.reduce处理的数据格式
将相同key的value值加在一起就是单词出现的次数
4.新建包以及类
5.将程序分成三块的框架
Mapper类,Reducer类,Driver的run方法
3.将map与reduce相结合,并在main中运行
分为四大部分:input,output,mapper,reducer
4.Mapper类
将value转化为字符串
使用空格分隔
使用context输出键值对。
5.Reducer类
6.在main()中写入文件操作系统的路径。
7.结果
8.出现的结果有些问题,因为没有计数。
IntWritable(1),其参数为1.表示每出现一次就记录一次。
9.最新的结果
三:打包在yarn上运行
10.因为需要把jar分发到节点上,所以需要修改
11.打jar包
12.选择jar包的路径
13.选择jar运行的主类
14.运行jar在yarn上
15.运行结果
16.在yarn的管理界面上看
17.在Configuration中search一下mapper
同样可以reduce,或者fileoutput等查阅一些参数。