mapreduce分区
MapReduce当中的分区:相同key的数据发送到同一个reduce当中去
物以类聚,人以群分。
分区就是把同一类的数据,划分到一个地方去,划分到同一个reduce当中去
直达的火车,上面坐的人都是去同一个地方的
默认使用的是HashPartitioner 这个类来对我们的数据进行分区,实现将相同的数据,发送到同一个reduce当中去
使用的算法:使用k2 取hashCode值,然后对reduceTask的个数进行取模
如果是自定义分区要点:
1、不能在本地跑,只能打成jar包在linux上执行
2、要设置ReduceTask的个数
例如设置两个ReduceTask的个数:
job.setReduceTasks(2)
3、分区是分文件,不是分文件夹。如果要分文件夹必须自定义outputformat