This document discusses MapReduce design patterns. It describes the core MapReduce components including the mapper, reducer, and shuffle and sort. It then outlines several common MapReduce patterns such as filtering, summarization, joins, data organization, and input/output. Specific filtering patterns like bloom filtering and top-N are explained in more detail.