Mapreduce 如何覆盖map/reduce中的shuffle/sort,或者,如何将map/reduce中的排序列表从最后一个元素获取到pationer

Mapreduce 如何覆盖map/reduce中的shuffle/sort,或者,如何将map/reduce中的排序列表从最后一个元素获取到pationer,mapreduce,hadoop2,hadoop-partitioning,Mapreduce,Hadoop2,Hadoop Partitioning,假设只有一个减速器 我的设想是获得该大学前N名得分手的名单。数据是格式化的。默认情况下,Map/reduce框架按升序对数据进行排序。但是我希望列表按降序排列,或者至少如果我可以从最后访问排序的列表,我的工作就变得非常简单。我可以将数据限制在一定的范围内,而不是向reducer发送大量数据。 我想覆盖预定义的无序排列/排序 谢谢和问候 Ashwanth我想合路器就是你想要的。它与映射器一起运行,它们通常执行reducer所执行的操作,但只对单个映射器的输出数据执行。通常,组合器类别设置为与减速器

假设只有一个减速器

我的设想是获得该大学前N名得分手的名单。数据是格式化的。默认情况下,Map/reduce框架按升序对数据进行排序。但是我希望列表按降序排列,或者至少如果我可以从最后访问排序的列表,我的工作就变得非常简单。我可以将数据限制在一定的范围内,而不是向reducer发送大量数据。 我想覆盖预定义的无序排列/排序 谢谢和问候
Ashwanth

我想合路器就是你想要的。它与映射器一起运行,它们通常执行reducer所执行的操作,但只对单个映射器的输出数据执行。通常,组合器类别设置为与减速器相同。在您的情况下,您可以在每个映射器中对top-K元素进行排序和选择,并仅发送这些元素

因此,与发送所有映射输出记录不同,您将只向reducer发送最多K*个映射器记录

您可以在上找到示例用法

奖金-查看合并器和减速器之间的主要差异