分享

hadoop中,combine、partition、shuffle作用分别是什么?

sstutu 2014-3-11 00:44:28 发表于 问题解答 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 11 93238
在hadoop中,map->combine->partition->shuffle->reduce,五个步骤的作用分别是什么?


欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间

已有(11)人评论

跳转到指定楼层
pig2 发表于 2014-3-11 00:55:11
本帖最后由 pig2 于 2014-3-11 01:00 编辑

combine和partition都是函数,中间的步骤应该只有shuffle!

combine分为map端和reduce端,作用是把同一个key的键值对合并在一起,可以自定义的。
combine函数把一个map函数产生的<key,value>对(多个key,value)合并成一个新的<key2,value2>.将新的<key2,value2>作为输入到reduce函数中
这个value2亦可称之为values,因为有多个。这个合并的目的是为了减少网络传输。

partition是分割map每个节点的结果,按照key分别映射给不同的reduce,也是可以自定义的。这里其实可以理解归类。
我们对于错综复杂的数据归类。比如在动物园里有牛羊鸡鸭鹅,他们都是混在一起的,但是到了晚上他们就各自牛回牛棚,羊回羊圈,鸡回鸡窝。partition的作用就是把这些数据归类。只不过在写程序的时候,mapreduce使用哈希HashPartitioner帮我们归类了。这个我们也可以自定义。

shuffle就是map和reduce之间的过程,包含了两端的combine和partition。


Map的结果,会通过partition分发到Reducer上,Reducer做完Reduce操作后,通过OutputFormat,进行输出
shuffle阶段的主要函数是fetchOutputs(),这个函数的功能就是将map阶段的输出,copy到reduce 节点本地。

回复

使用道具 举报

小熊007 发表于 2014-9-27 17:02:40
很好,很强大111111111
回复

使用道具 举报

zhujun182104906 发表于 2014-11-18 17:20:26
讲的还不错
回复

使用道具 举报

楚橙 发表于 2014-12-4 18:16:55
pig2 发表于 2014-3-11 00:55
combine和partition都是函数,中间的步骤应该只有shuffle!

combine分为map端和reduce端,作用是把同一 ...

版主您好,我有一个问题请教您,map的输出格式是这样(1,(1,2,3)),key是1,value是字符串格式的数字,在combine函数中,求value对应维的和,并计算同一个key数据的个数,(我的目的是想求平均,假设value值是一个三维),那么在reduce函数中还需要求对应维的和吗?也就是说combine求和的时候是针对所有输入数据求的和还是只针对一个map结果求的和,不知道我有没有表述准确。
回复

使用道具 举报

sstutu 发表于 2014-12-4 19:56:59
楚橙 发表于 2014-12-4 18:16
版主您好,我有一个问题请教您,map的输出格式是这样(1,(1,2,3)),key是1,value是字符串格式的数字 ...
combine求和的时候是针对针对一个map结果求的和,求和的结果会汇入reduce中,key和value没有特殊的要求。
回复

使用道具 举报

tang 发表于 2015-3-7 14:12:44
楼主能否将完整过程展示出来,包括map,shuffle,reduce的整个过程
回复

使用道具 举报

zcfightings 发表于 2015-5-7 16:48:12
在顺序方面有点不太明白  我认为 map处理完之后 map端:partition->sort->combine(如果有)->spill->merge   map端往reduce端copy数据   redece端:merge->sort->process 请问这样对吗
回复

使用道具 举报

rocky2015 发表于 2015-12-11 14:50:20
Shuffle的正常意思是洗牌或弄乱,Shuffle描述着数据从map task输出到reduce task输入的这段过程。partition,是划分,分区,归类,是shuffle的一部分。
回复

使用道具 举报

about-hadoop 发表于 2016-9-6 14:31:10
很好,很强大666
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条