Hello everybody.
I have a problem when using ORC file format in Hive 0.13. I have built Hive
0.13 with Hadoop 0.20.
when creating a table using ORC format it is OK, but when trying to add
some lines or do a simple count I got this exception:
java.lang.VerifyError: class
org.apache.hadoop.hive.ql.io.orc.OrcProto$RowIndex overrides final method
getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown
Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native
Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown
Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at
org.apache.hadoop.hive.ql.io.orc.WriterImpl.<init>(WriterImpl.java:129)
at
org.apache.hadoop.hive.ql.io.orc.OrcFile.createWriter(OrcFile.java:369)
at
org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat$OrcRecordWriter.close(OrcOutputFormat.java:103)
at
org.apache.hadoop.hive.ql.exec.Utilities.createEmptyFile(Utilities.java:3065)
at
org.apache.hadoop.hive.ql.exec.Utilities.createDummyFileForEmptyPartition(Utilities.java:3089)
at
org.apache.hadoop.hive.ql.exec.Utilities.getInputPaths(Utilities.java:3013)
at
org.apache.hadoop.hive.ql.exec.mr.ExecDriver.execute(ExecDriver.java:369)
at
org.apache.hadoop.hive.ql.exec.mr.MapRedTask.execute(MapRedTask.java:136)
at
org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:153)
at
org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:85)
at
org.apache.hadoop.hive.ql.exec.TaskRunner.run(TaskRunner.java:72)
FAILED: Execution Error, return code -101 from
org.apache.hadoop.hive.ql.exec.mr.MapRedTask. class
org.apache.hadoop.hive.ql.io.orc.OrcProto$RowIndex overrides final method
getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;
I ve checked the code of protobuf used in Hive 0.13, and it is version 2.5
and the method is not defined as final anymore (it s been final in 2.4). I
checked also my CLASSPATTH HADOOP_CLASSPATH. HADOOP_OPTS and none of them
contain the protobuf version 2.4
Any idea how to get rid of this exception
Thanks in advance
Amjad