我只想知道在map reduce程序中调用reducer的次数。 我所知道的是,映射器的数量等于输入拆分的数量,即对于每个输入拆分1个映射器运行并且每个映射器的o / p被传递给reducer,因此它被逐个传递或者它得到所有的数据一次处理并处理数据(减少数据),所以我只想知道减速器的流量或工作情况。
答案 0 :(得分:2)
对于每个唯一键,通常会调用一次reducer,但是您可以指定GrouperComparator(例如,用于二级排序),然后对每组键调用一次reducer,由GrouperComparator确定。
虽然日志消息似乎暗示reduce步骤在映射器全部完成之前开始,但是在所有映射器完成之前,不会调用reducer。
答案 1 :(得分:0)
'理想情况下'减速器阶段可以在第一个映射器成功完成后立即开始。
您想引用类似的问题:when-do-reduce-tasks-start-in-hadoop
答案 2 :(得分:0)
您可以指定:
mapreduce.job.reduces=N
如果需要,可以设置0 reducer。