hadoop中,combinepartitionshuffle作用分别是什么?

Posted 白开水加糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hadoop中,combinepartitionshuffle作用分别是什么?相关的知识,希望对你有一定的参考价值。

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 节点本地。

Shuffle的正常意思是洗牌或弄乱,Shuffle描述着数据从map task输出到reduce task输入的这段过程。partition,是划分,分区,归类,是shuffle的一部分。

以上是关于hadoop中,combinepartitionshuffle作用分别是什么?的主要内容,如果未能解决你的问题,请参考以下文章

启动hadoop中have命令

hadoop上删除文件

hadoop中datanode怎么启动

hadoop 作业中的 org.apache.hadoop.fs.BlockMissingException

如何用idea能不能远程连接hadoop

hadoop生产环境中jps的使用