Uploaded image for project: 'Pig'
  1. Pig
  2. PIG-5339

cannot bind enum descriptor to a non-enum class

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 0.12.0
    • None
    • grunt
    • None
    • 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

    Description

      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 .

      Attachments

        Activity

          People

            Unassigned Unassigned
            ZhongyuWang ZhongyuWang
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: