hadoop - hadoop mapreduce程序中的错误

标签 hadoop mapreduce reduce

我试图将数据从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 .org.org.apache.hadoop.fs.Path)
FileOutputFormat.setOutputPath(job,new Path(args [0]));

最佳答案

从正在使用的程序包中,您将混合使用旧的和新的api。要解决此问题,您必须选择一个并持续使用它。

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

如果您在代码中同时看到“org.apache.hadoop.mapreduce”和“org.apache.hadoop.mapred”,则可能是混合使用了api,应该改变周围的情况以仅选择其中之一。

关于hadoop - hadoop mapreduce程序中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16648198/

相关文章:

java - 在 Hbase 上运行 MapReduce 时出现 KERBEROS 错误

javascript - reduce() 和 find() 抛出 TypeError - 无法读取未定义的属性 'find'

java - 如何降低java中的圈复杂度?

hadoop - 将所有映射器中遇到的最大键作为参数传递给下一个作业

hadoop - Hdfs 到 s3 Distcp - 访问 key

java - 从 MapReduce 映射器中的输入文件获取唯一行号

couchdb - 计算某种类型的文档(之前针对用户进行过滤)

Hadoop fsck 显示缺少副本

apache - HBase master 无法启动,无法连接到 hbase.rootdir

Hadoop Reducer 执行重现