After setting the grounds for experimenting and learning Hadoop and MapReduce in the first part of the Hadoop tutorial, Philippe Adjiman is continuing his series by covering data partitioning. The post presents the default Hadoop partitioner(s), strategies for determining better partitioning using sampling and the importance of this initial MapReduce phase.
Partitioning in map/reduce is a fairly simple concept but that is important to get correctly.
First, it has a direct impact on the overall performance of your job: a poorly designed partitioning function will not evenly distributes the charge over the reducers, potentially loosing all the interest of the map/reduce distributed infrastructure.
Second, it maybe sometimes necessary to control the key/value pairs partitioning over the reducers.