You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "ZhongyuWang (JIRA)" <ji...@apache.org> on 2018/04/17 07:38:00 UTC

[jira] [Created] (PIG-5339) cannot bind enum descriptor to a non-enum class

ZhongyuWang created PIG-5339:
--------------------------------

             Summary: cannot bind enum descriptor to a non-enum class
                 Key: PIG-5339
                 URL: https://issues.apache.org/jira/browse/PIG-5339
             Project: Pig
          Issue Type: Bug
          Components: grunt
    Affects Versions: 0.12.0
         Environment: phoenix-4.7.0-cdh5.5.1

pig-0.12.0-cdh5.5.0

hadoop-2.6.0-cdh5.5.0

hbase.1.0-cdh5.5.0
            Reporter: ZhongyuWang


[https://github.com/chiastic-security/phoenix-for-cloudera]

I 'use phoenix-4.7.0-cdh5.5.1'phoenix version from above link in github, but where i use pig to load data to HDFS from hbase with mapreduce , i got "cannot bind enum descriptor to a non-enum class" error log. i can run it in pig local mapreduce mode successfully.

pig -x mapreduce example1.pig

example1.pig

REGISTER /e3base/phoenix/phoenix-4.7.0-cdh5.5.1/phoenix-4.7.0-cdh5.5.1-client.jar;
rows = load 'hbase://query/SELECT ID,ACCOUNT,PASSWD FROM USER' USING org.apache.phoenix.pig.PhoenixHBaseLoader('KFAPP74:11001');
STORE rows INTO 'USER.csv' USING PigStorage(',');

Mapreduce error log

[main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Failed!
[main] ERROR org.apache.pig.tools.grunt.GruntParser - ERROR 2997: Unable to recreate exception from backed error: AttemptID:attempt_1515656040682_0049_m_000000_3 Info:Error: java.io.IOException: Deserialization error: cannot bind enum descriptor to a non-enum class
at org.apache.pig.impl.util.ObjectSerializer.deserialize(ObjectSerializer.java:62)
at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.setup(PigGenericMapBase.java:171)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:142)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
Caused by: java.io.InvalidClassException: cannot bind enum descriptor to a non-enum class
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:608)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1620)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515)
at java.io.ObjectInputStream.readEnum(ObjectInputStream.java:1723)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1345)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1989)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1913)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
at org.apache.pig.impl.util.ObjectSerializer.deserialize(ObjectSerializer.java:60)
... 9 more

i think this isn't phoenix 's issue, anynone knows how to solve it .



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)