hadoop mapreduce程序中的错误

时间:2013-05-20 11:09:53

标签: hadoop mapreduce reduce

我正在尝试将数据从hbase写入hdfs并在编译中遇到此错误。是减速器代码还是别的问题?

HpgFile.java:36:org.apache.hadoop.mapreduce.Job中的setReducerClass(java.lang.Class)无法应用于(java.lang.Class)                 job.setReducerClass(CountWordReducer.class);                    ^ HbaseFile.java:38:org.apache.hadoop.mapred.FileOutputFormat中的setOutputPath(org.apache.hadoop.mapred.JobConf,org.apache.hadoop.fs.Path)无法应用于(org.apache.hadoop.mapreduce) .JOB,org.apache.hadoop.fs.Path)         FileOutputFormat.setOutputPath(job,new Path(args [0]));

1 个答案:

答案 0 :(得分:1)

从你正在使用的软件包中混合旧的和新的api。要解决此问题,您必须选择一个并始终如一地使用它。

请注意,您的工作是新的API org.apache.hadoop.mapreduce.Job。但是你试图使用旧的api来设置输出路径,我可以说,因为它需要旧的JobConf org.apache.hadoop.mapred.JobConf

如果你同时在代码中看到“org.apache.hadoop.mapreduce”和“org.apache.hadoop.mapred”,你可能会混合api,并且应该改变一下来选择一个。