【问题标题】:Can merge-sort algorithm be implemented in MapReduce?可以在 MapReduce 中实现归并排序算法吗?
【发布时间】:2014-01-05 13:17:36
【问题描述】:

是否可以使用 MapReduce 实现归并排序算法? 我对此持怀疑态度,因为映射器或化简器无法相互通信,但有人告诉我这是 MapReduce(??)的关键用例之一。 我正在寻找任何实现,甚至是如何做到这一点的线索,但我找不到任何东西。 我自己对如何做到这一点一无所知... 有什么想法吗?

@编辑 是的。我知道 MapReduce 具有开箱即用的排序功能。 例如,是否可以将其关闭?

【问题讨论】:

    标签: hadoop mapreduce


    【解决方案1】:

    归并排序是 MapReduce 在 map 和 reduce 函数是单位函数时所做的。查找 Terasort 基准以查看更多详细信息。

    【讨论】:

    • 嗯,这是一个不错的建议,但无论如何我在提问之前先看了一下。问题是,我可以使用 mapreduce 制作自己的自定义排序实现吗?
    • 可以覆盖排序算法
    【解决方案2】:

    归并排序是mapreduce的默认特性,不需要实现,也不能改变mapreduce的排序方式,因为数据来自不同的节点到一个点,所以这里可以使用的最佳算法是归并排序。什么否则,您可以指定自己的比较器类以升序或降序对键进行排序。

    job.setSortComparatorClass(YourClass.class);
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    • 2012-03-20
    • 2015-12-29
    • 1970-01-01
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多