hadoop mapreduce程序中的错误

hadoop mapreduce程序中的错误,hadoop,mapreduce,reduce,Hadoop,Mapreduce,Reduce,我试图将数据从hbase写入hdfs,但在编译过程中遇到此错误。减速机代码有问题吗 HbaseFile.java:36:org.apache.hadoop.mapreduce.Job中的setReducerClass(java.lang.Class)不能应用于(java.lang.Class) job.setReducerClass(CountWordReducer.class); ^ org.apache.hadoop.mapred.FileOutputFormat中的HbaseFile.ja

我试图将数据从hbase写入hdfs,但在编译过程中遇到此错误。减速机代码有问题吗

HbaseFile.java:36:org.apache.hadoop.mapreduce.Job中的setReducerClass(java.lang.Class)不能应用于(java.lang.Class) job.setReducerClass(CountWordReducer.class); ^ org.apache.hadoop.mapred.FileOutputFormat中的HbaseFile.java:38:setOutputPath(org.apache.hadoop.mapred.JobConf,org.apache.hadoop.fs.Path)不能应用于(org.apache.hadoop.mapreduce.Job,org.apache.hadoop.fs.Path)
setOutputPath(作业,新路径(args[0])

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

请注意,您的作业是新的api
org.apache.hadoop.mapreduce.Job
。但是您试图使用旧的api来设置outputpath,我可以看出,因为它需要旧的JobConf
org.apache.hadoop.mapred.JobConf

如果您在代码中同时看到“org.apache.hadoop.mapreduce”和“org.apache.hadoop.mapred”,那么您可能是在混合api,应该改变一下,只选择一个