码迷,mamicode.com
首页 > 其他好文 > 详细

六、MapReduce Shuffle 过程

时间:2016-05-09 22:09:26      阅读:217      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!