我从mapper获取所需的输出但它没有排序。有没有办法让Mapper输出排序或以任何方式复制从mapper到reducer的精确数据(Hope数据将在reduce阶段进行排序)?由于我是Hadoop的新手,如果您有任何示例代码,请提供帮助。
mapper的输出:
1,ABCD,76 5,yyht,87 3,ddfg,43
我希望这个结果是有条理的。
答案 0 :(得分:0)
MapReduce中有一个名为Shuffling的阶段。这在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>)