码迷,mamicode.com
首页 > 编程语言 > 详细

java.io.IOException: Illegal partition for 67 (-1)

时间:2017-11-16 14:37:51      阅读:176      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!