package demo04.flow; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Partitioner; public class FlowPartion extends Partitioner{ @Override public int getPartition(Text text, FlowNum flowNum, int i) { String line = text.toString(); if (line.startsWith("135")) { return 0; }else if(line.startsWith("135")){ return 1; }else if(line.startsWith("135")){ return 2; }else if(line.startsWith("135")){ return 3; }else if(line.startsWith("135")){ return 4; }else{ return 5; } } }
主程序里run方法里加入
//分区,分区个数,分区个数最好与上面方法的分区个数相等,多了冗余,少了一个reduce处理多份工作 job.setPartitionerClass(FlowPartion.class); job.setNumReduceTasks(6);



