Both Hadoop 2.6 and hive 0.13 use protobuf 2.5, so it runs well.
But Hadoop 2.0 and before, protobuf 2.4 is used, just as I mentioned
before, 2.4 and 2.5 are uncompatible.

Good luck.

On Thu, Dec 11, 2014 at 10:22 PM, Amjad ALSHABANI <ashshab...@gmail.com>
wrote:
>
> Hello Jander,
>
> Thanx for your reply,
> I think it is more about hadoop CLASSPATH problem, because the same built
> Hive 0.13 worked well with Hadoop 2.6
> I ll try to find a way to change hadoop classpath so it will use the new
> protobu instead of 2.4
>
>
>
>
> On Thu, Dec 11, 2014 at 11:48 AM, Jander g <jande...@gmail.com> wrote:
>
>> hi,Amjad
>>
>> protobuf 2.4 isn't compatible with protobuf 2.5, so you should regen
>> OrcProto.java using protobuf 2.4.0, and then rebuild hive.
>>
>> I hope it helps.
>>
>>
>>
>> On Wed, Dec 10, 2014 at 6:28 PM, Amjad ALSHABANI <ashshab...@gmail.com>
>> wrote:
>>>
>>> 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
>>>
>>>
>>>
>>
>> --
>> Thanks,
>> Jander
>>
>
>

-- 
Thanks,
Jander

Reply via email to