此篇需要对mapreduce有一定的了解,知道了解mapreduce的过程中,map需要分区,有多少个分区就有多少个reduce。
因此我们的map是如何分区的。
map通过Partitioner实现分区。Partitioner则是通过取余算法来实现的。
比如:
1.默认分区
key.hashcode%numPartitions
如果数值相同则被分到同一个分区。
2.自定义分区
在如下面是对男女进行分区:
对于上面假如我们把这些数据都放到一个分区中,
是否会影响输出结果那?
答案是不影响输出结果。
影响的是什么?
如果都放到一个分区,会造成性能下降。