partition 的输出值的总数据和reduce数量不匹配

来源:互联网 发布:东罗马帝国 知乎 编辑:程序博客网 时间:2024/05/29 02:46
 由于partition中的partition数量和reducer的数量是一致的,getpartition函数中的numpartitions 也是由job设定的reducer值传入。这个值到了partition类中不可以改变,问题是当我定义的getpartiton的值的种类多于(小于的情况是好理解的)reducer的个数时,这样的数据该如何分配到reducer?比如在job设定的reducer的数量为2,但是我在getpartition的返回值有1,2,3这三个值。待验证如下:

后续: 其实这是完全不可能的,因为在设定reduce数量值会传到getpartiton函数中,当返回值<0或者>=reducer数量值的时候就会出错。所以getpatition函数的返回值总会是<=returnvalue<reducerNum(partitionNum)(存疑中????)
在我的伪分布下不能设定多个reduce(设了也没有用,它总会是1)。