Shivram Mani created HAWQ-1215:
----------------------------------
Summary: PXF HiveORC profile doesn't handle complex types correctly
Key: HAWQ-1215
URL: https://issues.apache.org/jira/browse/HAWQ-1215
Project: Apache HAWQ
Issue Type: Bug
Components: PXF
Reporter: Shivram Mani
Assignee: Lei Chang
The new HiveORC profile has an issue with handling complex hive types
(array,map,struct,union,etc). The object inspector being used marks all these
complex types as string and hence during resolution time, PXF treats them as
primitive data types and fails.
We get the following exception
{code}
2016-12-12 10:13:37.0579 DEBUG tomcat-http--13
org.apache.hawq.pxf.service.rest.BridgeResource - Starting streaming fragment 0
of resource /hive/warehouse/hive_collections_table_orc/000000_0
2016-12-12 10:13:37.0580 ERROR tomcat-http--13
org.apache.hawq.pxf.service.rest.BridgeResource - Exception thrown when
streaming
java.lang.ClassCastException: java.util.ArrayList cannot be cast to
org.apache.hadoop.io.Text
at
org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableStringObjectInspector.getPrimitiveJavaObject(WritableStringObjectInspector.java:46)
at
org.apache.hawq.pxf.plugins.hive.HiveResolver.resolvePrimitive(HiveResolver.java:563)
at
org.apache.hawq.pxf.plugins.hive.HiveResolver.traverseTuple(HiveResolver.java:368)
at
org.apache.hawq.pxf.plugins.hive.HiveResolver.traverseStruct(HiveResolver.java:470)
at
org.apache.hawq.pxf.plugins.hive.HiveORCSerdeResolver.getFields(HiveORCSerdeResolver.java:81)
at org.apache.hawq.pxf.service.ReadBridge.getNext(ReadBridge.java:104)
at
org.apache.hawq.pxf.service.rest.BridgeResource$1.write(BridgeResource.java:140)
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)