用于演示MapReduce功能的主要示例之一是Terasort benchmark。我无法理解MapReduce环境中使用的排序算法的基础知识。MapReduce排序算法如何工作?
对我来说,排序只需要确定一个元素与所有其他元素的相对位置。所以排序包括比较“一切”和“一切”。您的平均排序算法(快速,气泡,...)只是以一种明智的方式做到这一点。
在我看来,将数据集分成多个部分意味着您可以对单个部分进行排序,然后您仍然必须将这些部分整合到'完整'完全排序的数据集中。鉴于分布在数千个系统上的terabyte数据集,我预计这将是一项艰巨的任务。
那么这是如何做到的?这个MapReduce排序算法是如何工作的?
谢谢你帮助我理解。
我了解(大部分)MapReduce的概念,如上述文档中所述。我试图理解排序算法。 – 2009-07-20 10:52:32