为什么map reduce对键进行排序,而不是简单地将相同的键分组在一起



在我看来,如果将相同的键组合在一起,Hadoop可以节省CPU和内存

(在这个答案中,它是O(n)),

而不是严格排序键(即O(nlgn))。

是否存在依赖于键严格排序的应用程序?

你是对的,Map/Reduce作业不一定需要对键进行排序,Hadoop这样做主要是因为它用于分组,因为它很方便,而不是因为它是必要的,如果你的应用程序不依赖于排序,这可能会导致不必要的开销。

实际上MAPREDUCE Jira上正在讨论这个问题,我建议阅读所有的评论,以获得更多的实现细节。

有趣的是,MARS项目报告使用哈希而不是使用自己的实现进行排序,提高了45%。

相关内容

  • 没有找到相关文章

最新更新