标签:ati table stat rgb task bsp pre back 今天
今天写MapReduce的分区进行排序的功能,自己写了一个Partitioner,然后用的时候就错了
public static class MyPartition extends Partitioner<IntWritable, IntWritable> { @Override public int getPartition(IntWritable key, IntWritable value, int numTaskReduce) { int maxNumber = 550; int end = maxNumber/numTaskReduce + 1; int keyNum = key.get(); for(int i=0; i<numTaskReduce; i++) { if(keyNum >= end*i && keyNum <= end*(i+1)) { return i; } } return -1; } }
后来发现应该是返回了-1,导致了出错的,分区默认是从0开始的,返回-1肯定就报错了。
java.io.IOException: Illegal partition for 67 (-1)
标签:ati table stat rgb task bsp pre back 今天
原文地址:http://www.cnblogs.com/tuhooo/p/7843583.html