You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hive.apache.org by Juraj jiv <fa...@gmail.com> on 2014/03/28 16:41:43 UTC

Kryo - Class cannot be created (missing no-arg constructor): org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorConverter$IntConverter

Hello,
im testing CDH5 beta2 with Hive 0.12+ and notice issue while using custom
UDF. Function decode from nextR-hive-udf-0.2 (
https://github.com/nexr/hive-udf)

add jar nexr-hive-udf-0.2-SNAPSHOT.jar;
CREATE TEMPORARY FUNCTION decode AS
'com.nexr.platform.hive.udf.GenericUDFDecode';

then i did simple test select:
select decode(1,1,2,0) from dual; --dual tbl contains 1 row

and it returns this error:

hive (default)> select decode(1,1,1,1) from dual;
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_1396019411476_0001, Tracking URL =
http://test3:8088/proxy/application_1396019411476_0001/
Kill Command = /usr/bin/hadoop job  -kill job_1396019411476_0001
Hadoop job information for Stage-1: number of mappers: 1; number of
reducers: 0
2014-03-28 16:13:54,714 Stage-1 map = 0%,  reduce = 0%
2014-03-28 16:14:24,477 Stage-1 map = 100%,  reduce = 0%
Ended Job = job_1396019411476_0001 with errors
Error during job, obtaining debugging information...
Examining task ID: task_1396019411476_0001_m_000000 (and more) from job
job_1396019411476_0001

Task with the most failures(4):
-----
Task ID:
  task_1396019411476_0001_m_000000

URL:

http://test3:8088/taskdetails.jsp?jobid=job_1396019411476_0001&tipid=task_1396019411476_0001_m_000000
-----
Diagnostic Messages for this Task:
Error: java.lang.RuntimeException:
org.apache.hive.com.esotericsoftware.kryo.KryoException: Class cannot be
created (missing no-arg constructor):
org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorConverter$IntConverter
Serialization trace:
converters
(org.apache.hadoop.hive.ql.udf.generic.GenericUDFUtils$ReturnObjectInspectorResolver)
returnOIResolver (com.nexr.platform.hive.udf.GenericUDFDecode)
genericUDF (org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc)
colExprMap (org.apache.hadoop.hive.ql.exec.SelectOperator)
childOperators (org.apache.hadoop.hive.ql.exec.TableScanOperator)
aliasToWork (org.apache.hadoop.hive.ql.plan.MapWork)
        at
org.apache.hadoop.hive.ql.exec.Utilities.getBaseWork(Utilities.java:320)
        at
org.apache.hadoop.hive.ql.exec.Utilities.getMapWork(Utilities.java:259)
        at
org.apache.hadoop.hive.ql.io.HiveInputFormat.init(HiveInputFormat.java:251)
        at
org.apache.hadoop.hive.ql.io.HiveInputFormat.pushProjectionsAndFilters(HiveInputFormat.java:378)
        at
org.apache.hadoop.hive.ql.io.HiveInputFormat.pushProjectionsAndFilters(HiveInputFormat.java:371)
        at
org.apache.hadoop.hive.ql.io.CombineHiveInputFormat.getRecordReader(CombineHiveInputFormat.java:556)
        at
org.apache.hadoop.mapred.MapTask$TrackedRecordReader.<init>(MapTask.java:168)
        at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:409)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)
        at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:165)
        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:1548)
        at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:160)
Caused by: org.apache.hive.com.esotericsoftware.kryo.KryoException: Class
cannot be created (missing no-arg constructor):
org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorConverter$IntConverter
Serialization trace:
converters
(org.apache.hadoop.hive.ql.udf.generic.GenericUDFUtils$ReturnObjectInspectorResolver)
returnOIResolver (com.nexr.platform.hive.udf.GenericUDFDecode)
genericUDF (org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc)
colExprMap (org.apache.hadoop.hive.ql.exec.SelectOperator)
childOperators (org.apache.hadoop.hive.ql.exec.TableScanOperator)
aliasToWork (org.apache.hadoop.hive.ql.plan.MapWork)
        at
org.apache.hive.com.esotericsoftware.kryo.Kryo.newInstantiator(Kryo.java:1097)
        at
org.apache.hive.com.esotericsoftware.kryo.Kryo.newInstance(Kryo.java:1109)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.create(FieldSerializer.java:526)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:502)
        at
org.apache.hive.com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:776)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:139)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:17)
        at
org.apache.hive.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:694)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:106)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:507)
        at
org.apache.hive.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:694)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:106)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:507)
        at
org.apache.hive.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:694)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:106)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:507)
        at
org.apache.hive.com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:776)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:139)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:17)
        at
org.apache.hive.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:694)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:106)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:507)
        at
org.apache.hive.com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:776)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.CollectionSerializer.read(CollectionSerializer.java:112)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.CollectionSerializer.read(CollectionSerializer.java:18)
        at
org.apache.hive.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:694)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:106)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:507)
        at
org.apache.hive.com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:776)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:139)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:17)
        at
org.apache.hive.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:694)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:106)
        at
org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:507)
        at
org.apache.hive.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:672)
        at
org.apache.hadoop.hive.ql.exec.Utilities.deserializeObjectByKryo(Utilities.java:829)
        at
org.apache.hadoop.hive.ql.exec.Utilities.deserializePlan(Utilities.java:739)
        at
org.apache.hadoop.hive.ql.exec.Utilities.deserializePlan(Utilities.java:752)
        at
org.apache.hadoop.hive.ql.exec.Utilities.getBaseWork(Utilities.java:292)
        ... 13 more


FAILED: Execution Error, return code 2 from
org.apache.hadoop.hive.ql.exec.mr.MapRedTask
MapReduce Jobs Launched:
Job 0: Map: 1   HDFS Read: 0 HDFS Write: 0 FAIL
Total MapReduce CPU Time Spent: 0 msec