如果 IMO Hadoop 简单地将相同的密钥组合在一起,则可以节省 CPU 和内存
(就像在这个答案中一样O(n)
),
而不是严格排序键(即O(nlgn)
)。
是否有任何应用程序依赖于严格排序的键?
没错,Map/Reduce 作业不一定需要对键进行排序,Hadoop 这样做主要是因为它用于分组,因为它很方便,而不是因为它是必要的,如果你的应用程序不依赖于订购。
它实际上正在MAPREDUCE Jira上进行辩论,我建议阅读那里的所有评论以获取更多实施细节。
有趣的轶事是,MARS 项目报告说,使用散列而不是使用他们自己的实现进行排序,提高了 45%。