Advantages and Disadvantages of MapReduce

Advantages

  • Scalable (due to simple design)

  • Runs on cheap commodity hardware

  • Procedural control i.e. we can control of the execution of every step

Disadvantages

  • It is not flexible i.e. the MapReduce framework is rigid

This is the only possible flow of execution. (We can have 1 or more mappers and 0 or more reducers, but a job can be done using MapReduce only if it is possible to execute it in the MapReduce framework).

  • A lot of manual coding is required, even for common operations such as join, filter, projection, aggregates, sorting, distinct...

  • Semantics are hidden inside the map and reduce functions, so it is difficult to maintain, extend and optimize them

The need for a high-level, general data flow language gave rise to Pig Latin.

The next chapter introduces Apache Pig.

Last updated