From 4b06dc2a2e958005a43cf25e60610c7737e4ed6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ilkka=20Sepp=C3=A4l=C3=A4?= Date: Sat, 12 Apr 2025 16:40:17 +0300 Subject: [PATCH] docs: updates for MapReduce --- map-reduce/README.md | 117 ++++++++++++++++--------- map-reduce/etc/mapreduce-flowchart.png | Bin 0 -> 90525 bytes 2 files changed, 77 insertions(+), 40 deletions(-) create mode 100644 map-reduce/etc/mapreduce-flowchart.png diff --git a/map-reduce/README.md b/map-reduce/README.md index d73f513fc..d832616ba 100644 --- a/map-reduce/README.md +++ b/map-reduce/README.md @@ -2,20 +2,26 @@ title: "MapReduce Pattern in Java" shortTitle: MapReduce description: "Learn the MapReduce pattern in Java with real-world examples, class diagrams, and tutorials. Understand its intent, applicability, benefits, and known uses to enhance your design pattern knowledge." -category: Structural +category: Functional language: en tag: - - Delegation + - Concurrency + - Data processing + - Data transformation + - Functional decomposition + - Immutable + - Multithreading + - Scalability --- ## Also known as -* Split-Apply-Combine Strategy -* Scatter-Gather Pattern +* Map-Reduce +* Divide and Conquer for Data Processing ## Intent of Map Reduce Design Pattern -MapReduce aims to process and generate large datasets with a parallel, distributed algorithm on a cluster. It divides the workload into two main phases: Map and Reduce, allowing for efficient parallel processing of data. +To efficiently process large-scale datasets by dividing computation into two phases: map and reduce, which can be executed in parallel and distributed across multiple nodes. ## Detailed Explanation of Map Reduce Pattern with Real-World Examples @@ -29,19 +35,22 @@ In plain words Wikipedia says -> "MapReduce is a programming model and associated implementation for processing and generating big data sets with a parallel, distributed algorithm on a cluster". -MapReduce consists of two main steps: -The "Map" step: The master node takes the input, divides it into smaller sub-problems, and distributes them to worker nodes. A worker node may do this again in turn, leading to a multi-level tree structure. The worker node processes the smaller problem, and passes the answer back to its master node. -The "Reduce" step: The master node then collects the answers to all the sub-problems and combines them in some way to form the output – the answer to the problem it was originally trying to solve. -This approach allows for efficient processing of vast amounts of data across multiple machines, making it a fundamental technique in big data analytics and distributed computing. +> MapReduce is a programming model and associated implementation for processing and generating big data sets with a parallel, distributed algorithm on a cluster. MapReduce consists of two main steps: +The Map step: The master node takes the input, divides it into smaller sub-problems, and distributes them to worker nodes. A worker node may do this again in turn, leading to a multi-level tree structure. The worker node processes the smaller problem, and passes the answer back to its master node. The Reduce step: The master node then collects the answers to all the sub-problems and combines them in some way to form the output – the answer to the problem it was originally trying to solve. This approach allows for efficient processing of vast amounts of data across multiple machines, making it a fundamental technique in big data analytics and distributed computing. + +Flowchart + +![MapReduce flowchart](./etc/mapreduce-flowchart.png) ## Programmatic Example of Map Reduce in Java ### 1. Map Phase (Splitting & Processing Data) -* The Mapper takes an input string, splits it into words, and counts occurrences. -* Output: A map {word → count} for each input line. +* Each input string is split into words, normalized, and counted. +* Output: A map `{word → count}` for each input string. + #### `Mapper.java` + ```java public class Mapper { public static Map map(String input) { @@ -57,13 +66,17 @@ public class Mapper { } } ``` + Example Input: ```"Hello world hello"``` Output: ```{hello=2, world=1}``` -### 2. Shuffle Phase (Grouping Data by Key) +### 2. Shuffle Phase – Grouping Words Across Inputs + +* Takes results from all mappers and groups values by word. +* Output: A map `{word → list of counts}`. -* The Shuffler collects key-value pairs from multiple mappers and groups values by key. #### `Shuffler.java` + ```java public class Shuffler { public static Map> shuffleAndSort(List> mapped) { @@ -78,14 +91,18 @@ public class Shuffler { } } ``` + Example Input: + ``` [ {"hello": 2, "world": 1}, {"hello": 1, "java": 1} ] ``` + Output: + ``` { "hello": [2, 1], @@ -94,10 +111,13 @@ Output: } ``` -### 3. Reduce Phase (Aggregating Results) +### 3. Reduce Phase – Aggregating Counts + +* Sums the list of counts for each word. +* Output: A sorted list of word counts in descending order. -* The Reducer sums up occurrences of each word. #### `Reducer.java` + ```java public class Reducer { public static List> reduce(Map> grouped) { @@ -112,7 +132,9 @@ public class Reducer { } } ``` + Example Input: + ``` { "hello": [2, 1], @@ -120,7 +142,9 @@ Example Input: "java": [1] } ``` + Output: + ``` [ {"hello": 3}, @@ -129,10 +153,12 @@ Output: ] ``` -### 4. Running the Full MapReduce Process +### 4. MapReduce Coordinator – Running the Whole Pipeline + +* Coordinates map, shuffle, and reduce phases. -* The MapReduce class coordinates the three steps. #### `MapReduce.java` + ```java public class MapReduce { public static List> mapReduce(List inputs) { @@ -148,10 +174,12 @@ public class MapReduce { } ``` -### 4. Main Execution (Calling MapReduce) +### 5. Main Execution – Example Usage + +* Runs the MapReduce process and prints results. -* The Main class executes the MapReduce pipeline and prints the final word count. #### `Main.java` + ```java public static void main(String[] args) { List inputs = Arrays.asList( @@ -168,6 +196,7 @@ public class MapReduce { ``` Output: + ``` hello: 4 world: 2 @@ -183,10 +212,11 @@ fun: 1 ## When to Use the Map Reduce Pattern in Java Use MapReduce when: -* Processing large datasets that don't fit into a single machine's memory -* Performing computations that can be parallelized -* Dealing with fault-tolerant and distributed computing scenarios -* Analyzing log files, web crawl data, or scientific data + +* When processing large datasets that can be broken into independent chunks. +* When data operations can be naturally divided into map (transformation) and reduce (aggregation) phases. +* When horizontal scalability and parallelization are essential, especially in distributed or big data environments. +* When leveraging Java-based distributed computing platforms like Hadoop or Spark. ## Map Reduce Pattern Java Tutorials @@ -197,32 +227,39 @@ Use MapReduce when: Benefits: -* Scalability: Can process vast amounts of data across multiple machines -* Fault-tolerance: Handles machine failures gracefully -* Simplicity: Abstracts complex distributed computing details +* Enables massive scalability by distributing processing across nodes. +* Encourages a functional style, promoting immutability and stateless operations. +* Simplifies complex data workflows by separating transformation (map) from aggregation (reduce). +* Fault-tolerant due to isolated, recoverable processing tasks. Trade-offs: -* Overhead: Not efficient for small datasets due to setup and coordination costs -* Limited flexibility: Not suitable for all types of computations or algorithms -* Latency: Batch-oriented nature may not be suitable for real-time processing needs +* Requires a suitable problem structure — not all tasks fit the map/reduce paradigm. +* Data shuffling between map and reduce phases can be performance-intensive. +* Higher complexity in debugging and optimizing distributed jobs. +* Intermediate I/O can become a bottleneck in large-scale operations. ## Real-World Applications of Map Reduce Pattern in Java -* Google's original implementation for indexing web pages -* Hadoop MapReduce for big data processing -* Log analysis in large-scale systems -* Genomic sequence analysis in bioinformatics +* Hadoop MapReduce: Java-based framework for distributed data processing using MapReduce. +* Apache Spark: Utilizes similar map and reduce transformations in its RDD and Dataset APIs. +* Elasticsearch: Uses MapReduce-style aggregation pipelines for querying distributed data. +* Google Bigtable: Underlying storage engine influenced by MapReduce principles. +* MongoDB Aggregation Framework: Conceptually applies MapReduce in its data pipelines. ## Related Java Design Patterns -* Chaining Pattern -* Master-Worker Pattern -* Pipeline Pattern +* [Master-Worker](https://java-design-patterns.com/patterns/master-worker/): Similar distribution of tasks among workers, with a master coordinating job execution. +* [Pipeline](https://java-design-patterns.com/patterns/pipeline/): Can be used to chain multiple MapReduce operations into staged transformations. +* [Iterator](https://java-design-patterns.com/patterns/iterator/): Often used under the hood to process input streams lazily in map and reduce steps. ## References and Credits -* [What is MapReduce](https://www.ibm.com/think/topics/mapreduce) -* [Wy MapReduce is not dead](https://www.codemotion.com/magazine/ai-ml/big-data/mapreduce-not-dead-heres-why-its-still-ruling-in-the-cloud/) -* [Scalabe Distributed Data Processing Solutions](https://tcpp.cs.gsu.edu/curriculum/?q=system%2Ffiles%2Fch07.pdf) +* [Big Data: Principles and Paradigms](https://amzn.to/3RJIGPZ) +* [Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems](https://amzn.to/3E6VhtD) +* [Hadoop: The Definitive Guide: Storage and Analysis at Internet Scale](https://amzn.to/4ij2y7F) +* [Java 8 in Action: Lambdas, Streams, and functional-style programming](https://amzn.to/3QCmGXs) * [Java Design Patterns: A Hands-On Experience with Real-World Examples](https://amzn.to/3HWNf4U) +* [Programming Pig: Dataflow Scripting with Hadoop](https://amzn.to/4cAU36K) +* [What is MapReduce (IBM)](https://www.ibm.com/think/topics/mapreduce) +* [Why MapReduce is not dead (Codemotion)](https://www.codemotion.com/magazine/ai-ml/big-data/mapreduce-not-dead-heres-why-its-still-ruling-in-the-cloud/) diff --git a/map-reduce/etc/mapreduce-flowchart.png b/map-reduce/etc/mapreduce-flowchart.png new file mode 100644 index 0000000000000000000000000000000000000000..dade8f7ccdf2c0f87f50e51f31922aa85c2ad735 GIT binary patch literal 90525 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 G@c$3<8jFAc literal 0 HcmV?d00001