MapReduce Patterns, Algorithms, and Use Cases
Ilya Katsov’s post enumerates an extensive set of patterns and algorithms each accompanied by use cases and pseudocode:
- counting and summing (log analysis, data querying)
- collating (inverted indexes, ETL)
- filtering, parsing, validation (log analysis, data querying, ETL, data validation)
- distributed task execution (physical and engineering simulations, numerical analysis, performance testing)
- sorting (ETL, data analysis)
- iterative message passing/graph processing (graph analysis, web indexing)
- distinct values (log analysis, uniqueness)
- cross-correlation (text analysis, market analysis)
- relational patterns: selection, projection, union, intersection, difference, aggregation, joining
As you can see there’s a wide range of problems that can be addressed using MapReduce algorithms. The complexity of applying MapReduce techniques comes from identifying the phases that lead to both effective and efficient analysis.
Original title and link: MapReduce Patterns, Algorithms, and Use Cases ( ©myNoSQL)
via: http://highlyscalable.wordpress.com/2012/02/01/mapreduce-patterns/