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