This document outlines three common design patterns in MapReduce: summarization patterns, numerical summarization, and filter patterns. Summarization patterns provide aggregate views of large datasets by grouping similar data and performing calculations. Numerical summarization is a general pattern for calculating aggregate statistics by grouping records by key and calculating metrics per group. Filter patterns find subsets of interest from large datasets to apply further analysis. Specific examples like top K records, join patterns, and reduce-side joins are also covered.