OrcNewInputformat作为hadoop流的输入格式

时间:2015-05-19 07:31:52

标签: hadoop hive streaming

我正在使用hadoop流式传输,我想将输入格式作为OrcNewFormat。 我正在执行命令: -

hadoop jar hadoop-streaming.jar -libjars /usr/hdp/2.2.4.2-2/hive/lib/hive-exec.jar -input / user / orcfiles -output / streamf -mapper' cat&# 39; -inputformat org.apache.hadoop.hive.ql.io.orc.OrcNewInputFormat -outputformat org.apache.hadoop.hive.ql.io.orc.OrcNewOutputFormat

但是我得到了以下异常:

    Exception in thread "main" java.lang.RuntimeException: class org.apache.hadoop.hive.ql.io.orc.OrcNewInputFormat not org.apache.hadoop.mapred.InputFormat
        at org.apache.hadoop.conf.Configuration.setClass(Configuration.java:2150)
        at org.apache.hadoop.mapred.JobConf.setInputFormat(JobConf.java:702)
        at org.apache.hadoop.streaming.StreamJob.setJobConf(StreamJob.java:796)
        at org.apache.hadoop.streaming.StreamJob.run(StreamJob.java:128)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
        at org.apache.hadoop.streaming.HadoopStreaming.main(HadoopStreaming.java:50)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

来自此链接

http://hive.apache.org/javadocs/r1.2.0/api/

我可以看到Class OrcNewInputFormat扩展了org.apache.hadoop.mapreduce.InputFormat,但是从异常我可以看出类org.apache.hadoop.hive.ql.io.orc.OrcNewInputFormat不是org.apache.hadoop .mapred.InputFormat。

我在这里缺少什么?

3 个答案:

答案 0 :(得分:0)

现在我的工作正常,因为我提供了错误的类名。

答案 1 :(得分:0)

这是一个非常受欢迎的问题,可以查看一些观点,但在正确的类名方面仍然缺乏“答案”。完成它:

正确的参数部分是-inputformat org.apache.hadoop.hive.ql.io.orc.OrcInputFormat -outputformat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat

答案 2 :(得分:0)

对于我来说,在运行Pig命令之前,我必须在环境变量下删除/标记为false。

export HADOOP_USE_CLIENT_CLASSLOADER='true'