在hadoop1.2.1中使用时,我想从父类hashpationer构建一个新类mypationer,它(mypationer)是可以的。但是,当我尝试在main中使用它时,eclipse发现了一些异常。为什么?
job.setPartitionerClass(MyPartitioner.class);
tips:the method 类型作业中的setpartitionerclass(类)不适用于参数(类)。
public class MyPartitioner extends HashPartitioner<Text,IntWritable>{……}
1条答案
按热度按时间2skhul331#
你的问题有点难以解释,但我怀疑你没有始终如一地导入软件包。在hadoopapi中有两个mapreduceapi包
org.apache.hadoop.mapreduce
以及org.apache.hadoop.mapred
.这两个类不会混合使用,例如,如果您将job类作为
org.apache.hadoop.mapreduce.Job
hashpartitioner类org.apache.hadoop.mapred.lib.HashPartitioner
你会发现一个听起来像你在描述的问题。确保mypartitioner类中的import语句使用
org.apache.hadoop.mapreduce
如果这是你的工作设置使用,反之亦然。不要把这两个包混用在同一个工作上。