[
https://issues.apache.org/jira/browse/HIVE-2941?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13260063#comment-13260063
]
Travis Crawford commented on HIVE-2941:
---------------------------------------
Would it be possible for someone to take a look at this?
> Hive should expand nested structs when setting the table schema from thrift
> structs
> -----------------------------------------------------------------------------------
>
> Key: HIVE-2941
> URL: https://issues.apache.org/jira/browse/HIVE-2941
> Project: Hive
> Issue Type: Bug
> Reporter: Travis Crawford
> Assignee: Travis Crawford
> Attachments: HIVE-2941.D2721.1.patch
>
>
> When setting a table serde, the deserializer is queried for its schema, which
> is used to set the metastore table schema. The current implementation uses
> the class name stored in the field as the field type.
> By storing the class name as the field type, users cannot see the contents of
> a struct with "describe tblname". Applications that query HiveMetaStore for
> the table schema (specifically HCatalog in this case) see an unknown field
> type, rather than a struct containing known field types.
> Hive should store the expanded schema in the metastore so users browsing the
> schema see expanded fields, and applications querying metastore see familiar
> types.
> DETAILS
> Set the table serde to something like this. This serde uses the built-in
> {{ThriftStructObjectInspector}}.
> {code}
> alter table foo_test
> set serde "com.twitter.elephantbird.hive.serde.ThriftSerDe"
> with serdeproperties ("serialization.class"="com.foo.Foo");
> {code}
> This causes a call to {{MetaStoreUtils.getFieldsFromDeserializer}} which
> returns a list of fields and their schemas. However, currently it does not
> handle nested structs, and if {{com.foo.Foo}} above contains a field
> {{com.foo.Bar}}, the class name {{com.foo.Bar}} would appear as the field
> type. Instead, nested structs should be expanded.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira