0
votes

I am using hadoop streaming and i want to give input format as a OrcNewFormat.. I am executing command:-

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' -inputformat org.apache.hadoop.hive.ql.io.orc.OrcNewInputFormat -outputformat org.apache.hadoop.hive.ql.io.orc.OrcNewOutputFormat

But I am getting below exception:

    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)

from this link

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

I could see that Class OrcNewInputFormat extends org.apache.hadoop.mapreduce.InputFormat, but from exception i could figure out that class org.apache.hadoop.hive.ql.io.orc.OrcNewInputFormat not org.apache.hadoop.mapred.InputFormat.

What am I missing here?

3

3 Answers

0
votes

IT is working fine now I was giving wrong classname.

0
votes

This had been very popular question looking into number of views but it still lacks an "answer" in terms of correct class names. So completing it:

Correct argument part is -inputformat org.apache.hadoop.hive.ql.io.orc.OrcInputFormat -outputformat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat

0
votes

For my case, I had to remove/mark false below environment variable before running the pig command.

export HADOOP_USE_CLIENT_CLASSLOADER='true'