Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在hadoop 1.2.1中使用时,我希望从父类HashPationer构建一个新的MyPationer_Java_Hadoop - Fatal编程技术网

Java 在hadoop 1.2.1中使用时,我希望从父类HashPationer构建一个新的MyPationer

Java 在hadoop 1.2.1中使用时,我希望从父类HashPationer构建一个新的MyPationer,java,hadoop,Java,Hadoop,当我在hadoop 1.2.1中使用时,我想从父类HashPationer构建一个新的类MyPationer,它(MyPationer)是可以的。但是,当我尝试在main中使用它时,eclipse发现了一些异常。为什么 job.setPartitionerClass(MyPartitioner.class); 提示:类型作业中的方法setPartitionerClass(类)不适用于参数(类) 公共类MyPartitioner扩展了HashPartitioner{……}

当我在hadoop 1.2.1中使用时,我想从父类HashPationer构建一个新的类MyPationer,它(MyPationer)是可以的。但是,当我尝试在main中使用它时,eclipse发现了一些异常。为什么

            job.setPartitionerClass(MyPartitioner.class);
提示:类型作业中的方法setPartitionerClass(类)不适用于参数(类)

公共类MyPartitioner扩展了HashPartitioner{……}

您的问题有点难以解释,但我怀疑您没有始终如一地导入包。hadoop API中有两个MapReduce API包
org.apache.hadoop.MapReduce
org.apache.hadoop.mapred

这两个类不会混合使用,例如,如果您将job类导入为
org.apache.hadoop.mapreduce.job
,将HashPartitioner类导入为
org.apache.hadoop.mapred.lib.HashPartitioner
,您将看到一个听起来像您正在描述的问题


确保MyPartitioner类中的导入语句使用
org.apache.hadoop.mapreduce
,如果这是用于作业设置的,则反之亦然。不要将这两个软件包混用在同一个工作中。

您能给我看一下您的代码和完整的例外情况吗?
    public class MyPartitioner extends  HashPartitioner<Text,IntWritable>{……}