首页 > 其他 > 详细

mapreduce原理【分区,分组】

时间:2014-08-14 19:32:39      阅读:496      评论:0      收藏:0      [点我收藏+]

  分析这个原理,的原因是:

  1、更好的理解MAPREDUCE的过程。

  2、在二次排序时会用到这个原理,二次排序要重写分区方法,重写分组方法;如果原理没搞明白,就无法写二次排序的代码。

Key

默认分区

默认分组

自定义分区

自定义分组

Abc123

1、使用系统默认分区方式,是按KEY进行分区。

 

2、KEY相同,分划分到一个分区且只能划分到一个分区。 划分方式按KEY的HASHCODE进行计算。

 

3、假设设定为3个分区,则划分方式可能是

a) 分区1:Abc789,Cde123,Cde456

b) 分区2:Abc456,Cde789,Efg123

c) 分区3:Abc123,Efg456,Efg789

1、默认按KEY进行分组,KEY相同的划分到同一个分组。

 

2、同一个分组的VALUE会以组中第一个值的KEY为KEY发送到REDUCE进行迭代。

 

3、默认情况下,就会有9个分组,进行9次REDUCE迭代。

将前三个字母截取,生成HASHCODE进行分区。假设有3个分区,分区结果如下所示:

将前三个字母截取,进行分组比较,KEY相同的划分到同一个分组中。分组情况如下所示:

Abc456

1、分区1:Abc123,Abc456,Abc789  

2、分区2:Cde123,Cde456,Cde789

3、分区3:Efg123,Efg456,Efg789

1、分组1(KEY是Abc):Abc123,Abc456,Abc789  

2、分区2(KEY是Cde):Cde123,Cde456,Cde789

3、分区3(KEY是Efg):Efg123,Efg456,Efg789

Abc789

Cde123

Cde456

Cde789

Efg123

Efg456

Efg789

mapreduce原理【分区,分组】,布布扣,bubuko.com

mapreduce原理【分区,分组】

原文:http://www.cnblogs.com/netskill/p/3912808.html

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