MapReduce总结

来源:互联网 发布:洛奇英雄传网络单机版 编辑:程序博客网 时间:2024/05/19 22:58

1、MapReduce的输入过程
大多数使用HDFS上的文件作为输入,通过FileInputFormat 进行切分为输入分片InputSplit,切分数量为 文件大小/分片大小,应尽量使输入分片大小和块的大小相同,以提高Map任务的计算数据的本地性进行提升计算性能。
partition 分区,sort 排序(快速排序、归并排序)算法。


2、map输出过程 shuffle进行数据混洗--》对Map结果文件数据进行分区归并排序


3、排序进行了3次:

Map输出到环形缓冲区,进行分区后按照健进行内排序;map任务完成前进行写文件时进行归并排序把溢写文件归并为完整的Map文件;进行把多个Map文件进行归并排序。

4、类型和Java对应关系
Java     Writable
string    Text
int       IntWritable


5、context 对象保存了作业运行的上下文信息:作业配置信息、InputSite信息、任务ID.


6、reduce 函数接受的是values是Iterate,经过聚合后的中间结果。


7、main通过文件作为输入,map通过行号和行内容作为输入。

原创粉丝点击