我是Hadoop mapreduce的新手。我浏览了一些教程并注意到mapper的输出在reducer方面进行了排序,我们也有一个shuffle&排序阶段。
那么为什么我们有两种呢?它们的目的是什么?
谢谢!
答案 0 :(得分:0)
映射器:它将来自源的输入数据排列成键值对,以便进一步处理。
Reducer:聚合逻辑写在这里。
Shuffler的作用是shuffle和sort,它将mapper的输出传递给reducer。这是由MR framework在内部完成的。但是,我们可以使用MR Api和Java实现我们自己的自定义shuffler。
参考WordCount的这个例子:
http://kickstarthadoop.blogspot.in/2011/04/word-count-hadoop-map-reduce-example.html 请参阅此处。 https://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html