我正在学习Hadoop。
我在单个节点上运行Hadoop。
根据我的知识,Reducer在完成Mapper之后运行(它也有意义)。
但是当我在200MB文件上运行MapReduce作业时,Reducer在Mapper完成之前就开始了。我没有使用任何Combiner。
任何人都可以解释原因吗?
答案 0 :(得分:1)
reduce阶段涉及将数据输出从映射器复制并合并到reducer。
由于复制和合并中间输出不需要障碍(你不需要等待所有映射器完成),这就是当映射器运行时reducer正在做的事情。