首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

用户定做Partitioner

2013-10-15 
用户定制Partitioner用户定制PartitionerPartition:完成Map节点数据的中间结果向Reduce节点的分区处理在Ma

用户定制Partitioner

用户定制Partitioner

Partition:完成Map节点数据的中间结果向Reduce节点的分区处理

在MapReduce程序中,Partitioner决定Map节点的输出将被分区到那个Reduce节点上去,MapReduce提供的默认的Partitioner是HashPartitioner
他根据每条数据记录的主键值进行Hash操作,获取一个非负整数的Hash码,然后用当前作业的Reduce数进行取模运算,此时决定记录将被分到哪个Reduce节点上去

定制Partitioner可以继承HashPartitioner,然后重载getPartition()方法,在该方法中用新的主键值进一步调用HashPartitioner的getPartition()
最后还需要在job的配置程序中配置进行如下的Partitioner设置。

热点排行