2013-05-20 64 views
0

我正在尝试将hbase中的数据写入hdfs并在编译时遇到此错误。减速器代码还是其他问题?hadoop mapreduce程序中的错误

HbaseFile.java:36:setReducerClass(java.lang.Class中)在org.apache.hadoop.mapreduce.Job不能被应用到(java.lang.Class中) job.setReducerClass(CountWordReducer.class); ^ HbaseFile.java:38:setOutputPath(org.apache.hadoop.mapred.JobConf,org.apache.hadoop.fs.Path)在org.apache.hadoop.mapred.FileOutputFormat不能被应用到(org.apache。 hadoop.mapreduce.Job,org.apache.hadoop.fs.Path) FileOutputFormat.setOutputPath(job,new Path(args [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,并且应该更改其中的某个选项。

+0

谢谢我发现相同的踪迹和错误.. – user2401464

相关问题