我对hadoop的实现感到困惑。我注意到,当我用多个Map器和还原器运行hadoopmapreduce作业时,会得到许多part-xx文件。同时,一把钥匙确实只出现在其中一把钥匙上。因此,我想知道mapreduce是如何工作的,以至于一个键只指向一个输出文件?提前谢谢。
w1jd8yoj1#
洗牌reducer的输入是Map器的排序输出。在这个阶段,框架通过http获取所有Map器输出的相关分区。分类在这个阶段,框架按键对输入进行分组(因为不同的Map器可能输出相同的键)。洗牌和排序阶段同时发生;在获取Map输出时,它们被合并。我从这里得到的https://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html看看吧,我希望这会有帮助
zdwk9cvp2#
mapreduce过程中的shuffle步骤负责确保具有相同键的所有记录都在同一个reduce任务中结束。有关mapreduce数据流的描述,请参见本yahoo教程。名为partition&shuffle的部分指出每个map任务可以向任何分区发出(键、值)对;同一个键的所有值总是一起减少,而不管哪个Map器是它的原点。
2条答案
按热度按时间w1jd8yoj1#
洗牌
reducer的输入是Map器的排序输出。在这个阶段,框架通过http获取所有Map器输出的相关分区。
分类
在这个阶段,框架按键对输入进行分组(因为不同的Map器可能输出相同的键)。
洗牌和排序阶段同时发生;在获取Map输出时,它们被合并。
我从这里得到的
https://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html
看看吧,我希望这会有帮助
zdwk9cvp2#
mapreduce过程中的shuffle步骤负责确保具有相同键的所有记录都在同一个reduce任务中结束。有关mapreduce数据流的描述,请参见本yahoo教程。名为partition&shuffle的部分指出
每个map任务可以向任何分区发出(键、值)对;同一个键的所有值总是一起减少,而不管哪个Map器是它的原点。