首页 > 代码库 > Hadoop分区与分组
Hadoop分区与分组
下面以《Hadoop权威指南》中的一个例子来解释分区与分组的关系。
对于一般的键,只需要key值相同,则对应的value就会分配至同一个 reduce中;
对于复合键,形式为TextPair<key1,key2>(关于复合键,可参考另一篇关于TextPair的博文http://blog.csdn.net/until_v/article/details/40867973),通过控制 key1来进行分区,则具有相同的 key1的值会被划分至同一个分区中,但此时如果 key2不相同,则不同的key2会被划分至不同的分组。如
注:Partition代表分区,Group代表分组;
1900、1901为key1的值;35℃、34℃为key2的值
通过控制任务的分组(job.setGroupingComparatorClass(GroupComparator.class),可以忽略key2的值,使相同的 key1的值划分至同一组,从而使key1相同的数据能够迭代在一个 reduce中。如:
Hadoop分区与分组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。