java—当我在Hadoop1.2.1中使用时,我想从父类HashPationer构建一个新的MyPationer

cqoc49vn  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(189)

在hadoop1.2.1中使用时,我想从父类hashpationer构建一个新类mypationer,它(mypationer)是可以的。但是,当我尝试在main中使用它时,eclipse发现了一些异常。为什么?

job.setPartitionerClass(MyPartitioner.class);

tips:the method 类型作业中的setpartitionerclass(类)不适用于参数(类)。

public class MyPartitioner extends  HashPartitioner<Text,IntWritable>{……}
2skhul33

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 如果这是你的工作设置使用,反之亦然。不要把这两个包混用在同一个工作上。

相关问题