【问题标题】:Does hadoop streaming use a stable sort between map and reduce phases?hadoop 流是否在 map 和 reduce 阶段之间使用稳定的排序?
【发布时间】:2011-12-20 18:12:40
【问题描述】:

这会对多阶段作业产生影响。例如,如果我们在作业的第 1 阶段按键“a”排序,在作业的第 2 阶段按键“b”排序(将第 1 阶段的输出作为标准输入),我们是否可以假设当这两个阶段完成时,记录是按“b”键排序,然后按“a”键排序?出于这个问题的目的,假设映射器和化简器不置换记录顺序。还假设reduce任务的数量是1个或更多。

请记住,答案可能会因阶段 1 的 reduce 任务数量而异。例如,如果阶段 1 的 reduce 任务数量大于 1,则键 a 将被拆分到多个文件中(尽管在每个文件的排序顺序)。但是,当只有一个 reduce 任务时,所有值都将出现在同一个文件中,这可能是稳定性的必要条件,具体取决于实现。

如果答案是肯定的,指向适当文档的链接将是最有帮助的。

谢谢,

SetJmp

【问题讨论】:

    标签: sorting hadoop mergesort stable-sort


    【解决方案1】:

    默认情况下,Hadoop 不会强制执行您想要的稳定排序属性。

    Hadoop 流具有 Comparator 和 Partitioner 来帮助将结果从 map 排序到 reduce;看看here

    编辑:更新断开的链接

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-22
      • 2015-08-09
      • 2014-04-09
      • 1970-01-01
      • 2012-07-07
      相关资源
      最近更新 更多