是否可以使用MapReduce实现合并排序算法? 我对此持怀疑态度,因为映射器或缩减器无法相互通信,但是有人告诉我它是MapReduce(??)的关键用例之一。 我正在寻找任何实现,甚至是如何做到的线索,但我找不到任何东西。 我自己对如何做到这一点没有任何线索...... 有什么想法吗?
@Edit 是。我知道MapReduce具有开箱即用的排序功能。 例如,可以将其关闭吗?
答案 0 :(得分:3)
合并排序是MapReduce在map和reduce函数是单位函数时的作用。查看 Terasort基准以查看更多详细信息。
答案 1 :(得分:3)
合并排序是mapreduce的默认功能,无需实现它,并且您无法更改mapreduce的排序方法,因为数据来自不同的节点到单个点,因此这里可以使用的最佳算法是mergesort。否则你可以做的是指定你自己的比较器类来按升序或降序对键进行排序。
job.setSortComparatorClass(YourClass.class);