【问题标题】:error in hadoop mapreduce programhadoop mapreduce程序中的错误
【发布时间】:2013-05-20 11:09:52
【问题描述】:

我正在尝试将数据从 hbase 写入 hdfs,并在编译时遇到此错误。是reducer代码有问题还是其他什么问题?

HbaseFile.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]));

【问题讨论】:

    标签: hadoop mapreduce reduce


    【解决方案1】:

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

    注意你的 Job 是新的 api org.apache.hadoop.mapreduce.Job。但是你正在尝试使用旧的 api 来设置输出路径,我可以看出它需要旧的 JobConf org.apache.hadoop.mapred.JobConf

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多