gpt4 book ai didi

java - 当我在hadoop 1.2.1中使用时,我想从父类HashPatitioner构建一个新的MyPatitioner

转载 作者:行者123 更新时间:2023-12-02 21:52:31 24 4
gpt4 key购买 nike

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

            job.setPartitionerClass(MyPartitioner.class);

提示:Job类型的setPartitionerClass(Class)方法不适用于参数(Class)。
    public class MyPartitioner extends  HashPartitioner<Text,IntWritable>{……}

最佳答案

您的问题有点难以解释,但我怀疑您不是一直在导入软件包。在hadoop API中,有两个MapReduce API包org.apache.hadoop.mapreduceorg.apache.hadoop.mapred

这两个不会混合使用,例如,如果您将作业类导入为org.apache.hadoop.mapreduce.Job,将HashPartitioner类导入为org.apache.hadoop.mapred.lib.HashPartitioner,则会出现听起来像您正在描述的问题。

如果那是您的Job设置使用的,请确保MyPartitioner类中的import语句使用org.apache.hadoop.mapreduce,反之亦然。不要将这两个软件包混合使用以完成同一工作。

关于java - 当我在hadoop 1.2.1中使用时,我想从父类HashPatitioner构建一个新的MyPatitioner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19050487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com