我是新来的hadoop.目前尚不清楚为什么我们需要能够在使用hadoop mapreduce时按键排序?在映射阶段之后,我们需要将对应于每个唯一键的数据分发到一些数量的reducer.这可以在不需要对其进行排序的情况下完成吗?
Tho*_*lut 14
它就在那里,因为排序是一个巧妙的技巧来分组你的键.当然,如果您的工作或算法不需要任何键盘顺序,那么您可以更快地通过一些散列技巧进行分组.
在Hadoop本身,已有多年的JIRA申请(来源).在Hadoop之上的其他几个发行版已经具备了这些功能,例如Hanborq(他们称之为避免排序).(来源)
对于你的实际问题(为什么),MapReduce本来就是谷歌的一篇论文(来源),其中陈述如下:
我们保证在给定分区内,按增加的键顺序处理中间键/值对.这种排序保证可以很容易地为每个分区生成一个排序的输出文件,这在输出文件格式需要通过密钥支持有效的随机访问查找时很有用,或者输出的用户发现将数据排序很方便.
因此,支持排序更方便,但不是本质上只允许对组进行排序.
| 归档时间: |
|
| 查看次数: |
3979 次 |
| 最近记录: |