通过Partition把map的结果输出到到n个不同的reduce

来源:互联网 发布:新浪 算法工程师 编辑:程序博客网 时间:2024/05/22 11:59

默认的Partition无法满足我们的需求,因此需要自定义partition过程。

根据map输出的不同key值,通过partition把map输出的数据输出到numReduceTasks个不同的reduce上去。

public static class Selector extends Partitioner<Text, Text>{@Overridepublic int getPartition(Text key, Text value, int numReduceTasks) {return Integer.parseInt(key.toString()) % numReduceTasks;}}

设置job的partition:

job.setPartitionerClass(Selector.class);


原创粉丝点击