共计 1148 个字符,预计需要花费 3 分钟才能阅读完成。
面以《Hadoop 权威指南》中的一个例子来解释分区与分组的关系。
Hadoop 权威指南 (中文版 - 带目录索引)PDF 下载见 http://www.linuxidc.com/Linux/2013-05/84948.htm
Hadoop 权威指南(中文第 2 版)PDF http://www.linuxidc.com/Linux/2012-07/65972.htm
对于一般的键,只需要 key 值相同,则对应的 value 就会分配至同一个 reduce 中;
对于复合键,形式为 TextPair<key1,key2>(关于复合键,可参考另一篇关于 TextPair 的博文 http://www.linuxidc.com/Linux/2014-11/109360.htm),通过控制 key1 来进行分区,则具有相同的 key1 的值会被划分至同一个分区中,但此时如果 key2 不相同,则不同的 key2 会被划分至不同的分组。如
注:Partition 代表分区,Group 代表分组;
1900、1901 为 key1 的值;35℃、34℃为 key2 的值
通过控制任务的分组(job.setGroupingComparatorClass(GroupComparator.class),可以忽略 key2 的值,使相同的 key1 的值划分至同一组,从而使 key1 相同的数据能够迭代在一个 reduce 中。如:
CentOS 安装和配置 Hadoop2.2.0 http://www.linuxidc.com/Linux/2014-01/94685.htm
Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm
更多 Hadoop 相关信息见 Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13