标签: hadoop mapreduce
IMO Hadoop只需将相同的密钥组合在一起就可以节省CPU和内存
(如this answer中所述,O(n)),
O(n)
而不是严格排序键(O(nlgn))。
O(nlgn)
是否存在依赖于密钥严格排序的应用程序?
答案 0 :(得分:1)
你是对的,Map / Reduce作业不一定需要对键进行排序,Hadoop这样做主要是因为它是用于分组的,因为它很方便,不是因为它是必要的,这可能导致不必要的如果您的应用程序不依赖于订购,则会产生开销。
它实际上正在the MAPREDUCE Jira进行辩论,我建议阅读那里的所有评论以获取更多实施细节。
有趣的轶事,the MARS project报告使用散列而不是使用自己的实现进行排序,提升了45%。