Hadoop Avro Map REDUCT-找不到AvroInputFormat错误

Hadoop Avro Map REDUCT-找不到AvroInputFormat错误,hadoop,mapreduce,avro,Hadoop,Mapreduce,Avro,这就是我从互联网上的各种来源所了解到的 Avro-mapred和Avro不是CDH4(Cloudera发行版)的一部分,我必须使用HADOOP_CLASSPATH=Avro.jar:Avro-mapred.jar手动设置它 我已经这样做了,当我在伪集群上运行作业时,它会引发以下异常: 13/12/27 00:47:40 WARN mapred.JobClient:使用GenericOptionsParser解析参数。应用程序应该为相同的应用程序实现工具 13/12/27 00:47:40信息映射

这就是我从互联网上的各种来源所了解到的

Avro-mapred和Avro不是CDH4(Cloudera发行版)的一部分,我必须使用HADOOP_CLASSPATH=Avro.jar:Avro-mapred.jar手动设置它

我已经这样做了,当我在伪集群上运行作业时,它会引发以下异常:

13/12/27 00:47:40 WARN mapred.JobClient:使用GenericOptionsParser解析参数。应用程序应该为相同的应用程序实现工具

13/12/27 00:47:40信息映射。文件输入格式:要处理的总输入路径:1

13/12/27 00:47:41 INFO mapred.JobClient:正在运行的作业:job_2013121245_0017

13/12/27 00:47:42信息映射。作业客户端:映射0%减少0%

13/12/27 00:47:57 INFO mapred.JobClient:任务Id:尝试\u 2013121245\u 0017\u m\u000000\u 0,状态:失败

java.lang.RuntimeException:java.lang.RuntimeException:java.lang.ClassNotFoundException:Class org.apache.avro.mapred.AvroInputFormat未找到

我正在按如下方式运行作业:

hadoop jar build/libs/hadoop-boilerplate-1.0.jar CustomerPreduce事务/输入事务/输出1-libjars/path/to/libs/avro-1.7.4.jar,/path/to/libs/avro-mapred-1.7.4.jar


您应该实现工具,并使用getConf()进行作业配置

public class SomeClass extends Configured implements Tool {
    @Override
    public int run(String[] args) throws Exception {
        Configuration conf = getConf();
        ...
    }
}

终于发现了问题。hadoop jar build/libs/hadoop-boilerplate-1.0.jar-AvroMain-libjars-jars/avro-mapred-1.7.4.jar,jars/avro-1.7.4.jar-files-jars/avro-mapred-1.7.4.jar,jars/avro-1.7.4.jar事务/输入事务/输出2(libjars参数必须正好位于此处显示的位置)此外,我还必须导出HADOOP_CLASSPATH=jars/avro-mapred-1.7.4.jar:jars/avro-1.7.4.jar查看此链接了解更多信息