【问题标题】:Avro Map Reduce - AvroInputFormat not found errorAvro Map Reduce - AvroInputFormat not found 错误
【发布时间】:2014-01-14 04:11:16
【问题描述】:

这是我迄今为止从互联网上的各种来源阅读的内容。

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

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

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

13/12/27 00:47:40 INFO mapred.FileInputFormat:要处理的总输入路径:1

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

13/12/27 00:47:42 INFO mapred.JobClient: map 0% reduce 0%

27 年 13 月 12 日 00:47:57 信息 mapred.JobClient:任务 ID:尝试_201312221245_0017_m_000000_0,状态:失败

java.lang.RuntimeException:java.lang.RuntimeException:java.lang.ClassNotFoundException:找不到类 org.apache.avro.mapred.AvroInputFormat

我的工作如下:

hadoop jar build/libs/hadoop-boilerplate-1.0.jar CustomerMapReduce transactions/input transactions/output1 -libjars /path/to/libs/avro-1.7.4.jar,/path/to/libs/avro-mapred -1.7.4.jar

【问题讨论】:

  • 终于找到问题了。 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 transactions/input transactions/output2(-libjars 参数必须在此处显示的位置)
  • 我也必须这样做 export HADOOP_CLASSPATH=jars/avro-mapred-1.7.4.jar:jars/avro-1.7.4.jar 有关更多信息,请参阅此链接grepalex.com/2013/02/25/hadoop-libjars

标签: hadoop mapreduce avro


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-06-17
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 2019-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多