到目前为止,我已经从互联网上的各种来源中了解到这一点。
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%
13/12/27 00:47:57 INFO mapred.JobClient:Task Id:attempt_201312221245_0017_m_000000_0,Status:FAILED
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
答案 0 :(得分:0)
您应实施工具并使用 getConf()进行作业配置。
public class SomeClass extends Configured implements Tool {
@Override
public int run(String[] args) throws Exception {
Configuration conf = getConf();
...
}
}