Some points to clarify:
The reducer cannot begin to decrease until all the cartographers have finished, their sections are copied to the node where the reducer task is performed, and finally, sorted.
What you can see is a reducer that keeps a copy of the output from the map, while other map tasks still work. This is controlled by a configuration property known as mapred.reduce.slowstart.completed.map ( mapred.reduce.slowstart.completed.map ). This value is the ratio (0.0 - 1.0) of the number of map tasks that must be completed before running the reducer tasks (copying by map outputs from completed completed map tasks). The default value is usually around 0.9, which means that if you have 100 tasks on the map for your work, 90 of them will need to be completed before the task tracker can start running the reduction tasks.
All this is controlled by the job tracker, in the JobInProgress class, lines 775, 1610, 1664.
source share