首页 > 其他 > 详细

六、MapReduce Shuffle 过程

时间:2016-05-09 22:08:01      阅读:222      评论:0      收藏:0      [点我收藏+]

Shuffle描述数据从map task输出到reduce输入的这段过程

1、map端shuffle功能

1)分区:决定将map task 交给哪个reduce程序处理;

2)排序:对分区中的数据做排序处理

3)spill写入磁盘:将内存中数据写入磁盘

4)merge合并:将小文件合并成大文件

说明:设置reduce task的个数在run()方法中使用代码:

job.setNumReduceTasks(3)

2、reduce端shuffle功能

1)从map数据中拷贝属于自己分区的数据

2)对分区数据进行合并

3)分组:将形同key的value值组合在一起

3、MapReduce中间数据压缩配置

1)方式一:全局生效

在mapred-site中新增属性

属性:mapreduce.map.output.compress

值:ture

2)方式二:本次生效

在代码中添加:

configuration.set("mapreduce.map.output.compress","true");

六、MapReduce Shuffle 过程

原文:http://www.cnblogs.com/really0612/p/5475538.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!