NEW
A programming model and runtime for parallel, distributed processing of large datasets using map and reduce functions.
DESCRIPTION
MapReduce partitions computation across clusters: a map phase processes input records to key–value pairs, and a reduce phase aggregates by key. It provides scalability, fault tolerance, and data locality optimizations, popularized by Google’s paper and the Hadoop ecosystem. While Spark and streaming engines offer improved performance and APIs, MapReduce remains foundational and suitable for simple, large-scale batch jobs. It influenced modern dataflow systems and paradigms.
ALTERNATIVE DEFINITIONS
Google Research
MapReduce is a programming model and an associated implementation for processing and generating large datasets.
Original phrasing from the seminal paper emphasizing model and implementation.
Apache Hadoop
Hadoop MapReduce is a software framework for easily writing applications which process vast amounts of data (multi-terabyte data-sets) in-parallel on large clusters in a reliable, fault-tolerant manner.
Highlights reliability, scalability, and ease of writing parallel applications.
RELATED TERMS
Hadoop Distributed Computing Batch Processing HDFS Shuffle Durability (ACID) Parallel Processing
COMPETING TERMS
KNOWLEDGE AREAS
Data Engineering Data Storage & Operations Infrastructure Cloud
TARGET AUDIENCE
Data Engineer Software Developer Cloud Architect Data Architect
EXTERNAL SOURCES
- Wikipedia - MapReduce
- Google Research - Original MapReduce paper
- Apache Hadoop - Hadoop MapReduce tutorial
TOP QUESTIONS
How does MapReduce work at a high level?
Map transforms input data into key–value pairs; shuffle groups by key; reduce aggregates values per key. The framework handles distribution and fault tolerance.
Category: Concept
When should I use MapReduce today?
Use it for simple, massive batch jobs where Hadoop is established and latency isn’t critical. For iterative workloads, consider Spark.
Category: Decision
What are MapReduce’s limitations?
High-latency, disk-heavy pipelines and inconvenient iterative processing. Complex workflows require chaining multiple jobs.
Category: Limitations
How does MapReduce ensure fault tolerance?
Tasks are re-executed on failure, intermediate data is persisted, and speculative execution mitigates stragglers.
Category: Mechanism
What is the role of the shuffle phase in MapReduce?
Shuffle redistributes intermediate key–value data from mappers to reducers, enabling grouped aggregation by key.
Category: Mechanism
How does MapReduce compare with Apache Spark?
Spark keeps data in memory across stages, accelerating iterative and complex workflows, often outperforming MapReduce.
Category: Comparison
How is MapReduce deployed on the cloud?
Managed Hadoop services (EMR, Dataproc, HDInsight) provision clusters; jobs run via YARN with autoscaling and object storage integration.
Category: Cloud
What are best practices for MapReduce performance?
Use combiners, tune partitioners, increase parallelism, compress intermediate data, and optimize data formats (e.g., SequenceFile).
Category: Best practices
Is MapReduce outdated?
It is less favored for general analytics, but remains reliable for certain batch workloads and legacy ecosystems.
Category: Relevancy