MapReduce execution skeleton A data-flow diagram generated by Archify. 01 / Input 02 / Map 03 / Shuffle 04 / Reduce 05 / Output Input split A · HDFS block · 01 / Input · records Input split A HDFS block records Input split B · HDFS block · 01 / Input · records Input split B HDFS block records Map task 1 · map() · 02 / Map · parallel Map task 1 map() parallel Map task 2 · map() · 02 / Map · parallel Map task 2 map() parallel Shuffle · fetch + merge · 03 / Shuffle · barrier Shuffle fetch + merge barrier Reduce task 0 · reduce() · 04 / Reduce · partition 0 Reduce task 0 reduce() partition 0 Reduce task 1 · reduce() · 04 / Reduce · partition 1 Reduce task 1 reduce() partition 1 part-00000 · reducer 0 · 05 / Output part-00000 reducer 0 part-00001 · reducer 1 · 05 / Output part-00001 reducer 1 records input split records input split intermediate k/v partitioned + sorted intermediate k/v partitioned + sorted partition 0, sorted by key over network partition 1, sorted by key over network output write to HDFS output write to HDFS Legend primary data data store data flow