In a MapReduce job, reducers do not start executing
the reduce() method until
all Map jobs are completed. Reducers start copying intermediate output data
from the mappers as soon as they are available. But reduce() method is called
only after all the mappers have finished.