【问题标题】:Hadoop MapReduce: Replicating the data from mapper to reducerHadoop MapReduce:将数据从 mapper 复制到 reducer
【发布时间】:2015-04-09 14:56:05
【问题描述】:

我正在从映射器获得所需的输出,但它没有排序。有什么方法可以对 Mapper 输出进行排序,或者有什么方法可以复制从 mapper 到 reducer 的确切数据(希望数据将在 reduce 阶段排序)?由于我是 Hadoop 的新手,如果您有任何示例代码,请提供帮助。

映射器的输出:

1,abcd,76 5,yyht,87 3,ddfg,43

我希望这个结果是有序的。

【问题讨论】:

  • 您需要的数据顺序是什么?请提供两个案例..你得到什么..以及你想要什么..
  • 嗨,映射器的输出:: 1,A,G 5,y,u 3,h,S 需要的输出: 1,A,G 3,h,S 5,y,u 抱歉op & ip 格式被包裹在一行中。

标签: java hadoop mapreduce


【解决方案1】:

MapReduce 中有一个称为 Shuffle 的阶段。这发生在 Map 阶段之后和向 reducer 发送数据之前。洗牌主要有两个阶段,一个是排序,一个是分组。您不需要明确地对映射器的输出进行排序。

这是一个简单的例子。

(Hello, 1) (Hello, 1) (A, 1) (boss, 1) > These will be first sorted

(A,1), (boss,1), (Hello,1), (Hello,1) > Sorting done on the KEY, and now groupping

(A,<1>), (boss, <1>), (Hello,<1,1>) > (Key,List<Values>)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多