Terasort基准是用于演示MapReduce功能的主要示例之一。我在理解MapReduce环境中使用的排序算法的基础时遇到了麻烦。
对我而言,排序仅涉及确定元素相对于所有其他元素的相对位置。因此,分类涉及将“所有”与“所有”进行比较。您的平均排序算法(快速,冒泡,...)简单地以一种聪明的方式做到了。
在我看来,将数据集分为多个部分意味着您可以对单个部分进行排序,然后仍然必须将这些部分集成到“完整的”完全排序的数据集中。鉴于TB数据集分布在数千个系统中,我希望这是一项艰巨的任务。
那么这到底是怎么做的呢?该MapReduce排序算法如何工作?
感谢您帮助我理解。