用于展示 MapReduce 功能的主要示例之一是Terasort 基准。我无法理解 MapReduce 环境中使用的排序算法的基础知识。
对我来说,排序只是确定一个元素相对于所有其他元素的相对位置。因此,排序涉及将“一切”与“一切”进行比较。您的平均排序算法(快速、冒泡、...)只是以一种聪明的方式完成此操作。
在我看来,将数据集分成许多部分意味着您可以对单个部分进行排序,然后您仍然必须将这些部分整合到“完整”的完全排序的数据集中。鉴于分布在数千个系统上的 TB 数据集,我预计这将是一项艰巨的任务。
那么这到底是怎么做到的呢?这个 MapReduce 排序算法是如何工作的?
谢谢你帮助我理解。