MapReduce分区的学习

发布时间 2023-10-04 21:09:23作者: yesyes1

1、概念和原理

同一个分区的数据会发送给同一个reduce;

可以简单解释为————标记一样,放到一个reduce里面:

2、代码编写步骤(以中奖编号是否>15进行分区)

1、定义Mapper

可以自定义名称为PartitionMapper,并继承Mapper类:

并重写map方法:

2、自定义partitioner

可以自定义名称为MyPartitioner,并继承于Partitioner类:

并重写getPartition方法:

3、定义reducer逻辑(无需做任何处理)

自定义名称为PartitionerReducer的类,并继承于Reducer:

4、定义主类JobMain

main方法:

run方法:

第三步--指定分区类

四、五、六步采用默认方式(后面会学到的)

既然有分区的话,就需要在第七步设置reduceTask的个数: