当前位置:  开发笔记 > 大数据 > 正文

MapReduce排序算法如何工作?

如何解决《MapReduce排序算法如何工作?》经验,为你挑选了1个好方法。

用于演示MapReduce功能的主要示例之一是Terasort基准测试.我无法理解MapReduce环境中使用的排序算法的基础知识.

对我来说,排序只涉及确定元素与所有其他元素的相对位置.因此排序涉及将"一切"与"一切"进行比较.你的平均排序算法(快速,泡沫......)只是以聪明的方式做到这一点.

在我看来,将数据集分成多个部分意味着您可以对单个部分进行排序,然后您仍然必须将这些部分集成到"完整"的完全排序数据集中.鉴于分布在数千个系统上的TB级数据集,我认为这是一项艰巨的任务.

那怎么回事呢?这个MapReduce排序算法如何工作?

谢谢你帮我理解.



1> Yuval F..:

以下是Hadoop为Terasort实施的一些细节:

TeraSort是标准的map/reduce排序,但自定义分区器除外,该分区器使用N-1个采样键的排序列表,这些键定义了每个reduce的键范围.特别是,所有键,例如sample [i-1] <= key

所以他们的诀窍在于他们在地图阶段确定键的方式.基本上,他们确保单个减速器中的每个值都保证与所有其他减速器"预先排序".

我通过James Hamilton的博客文章找到了论文.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有