[ 
https://issues.apache.org/jira/browse/HIVE-7892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14141865#comment-14141865
 ] 

Satish Mittal commented on HIVE-7892:
-------------------------------------

[~leftylev] The following wiki briefly mentions various available Hive Serdes:

* [Developer Guide -- Hive SerDe | 
https://cwiki.apache.org/confluence/display/Hive/DeveloperGuide#DeveloperGuide-HiveSerDe
 ]

We can probably mention against ThriftSerde that Thrift complex types get 
mapped to Hive complex types (List->Array, Map->, Struct -> Struct 
respectively). With HIVE-7892, Thrift Set type gets mapped to Hive Array type. 
User can setup a Thrift based table using ThriftDeserializer class and query 
various Thrift fields through Hive query.

> Thrift Set type not working with Hive
> -------------------------------------
>
>                 Key: HIVE-7892
>                 URL: https://issues.apache.org/jira/browse/HIVE-7892
>             Project: Hive
>          Issue Type: Bug
>          Components: Serializers/Deserializers
>            Reporter: Satish Mittal
>            Assignee: Satish Mittal
>             Fix For: 0.14.0
>
>         Attachments: HIVE-7892.1.patch, HIVE-7892.patch.txt
>
>
> Thrift supports List, Map and Struct complex types, which get mapped to 
> Array, Map and Struct complex types in Hive respectively. However thrift Set 
> type doesn't seem to be working. 
> Here is an example thrift struct:
> {noformat}
> namespace java sample.thrift
> struct setrow {
>     1: required set<i32> ids,
>     2: required string name,
> }
> {noformat}
> A Hive table is created with ROW FORMAT SERDE 
> 'org.apache.hadoop.hive.serde2.thrift.ThriftDeserializer' WITH 
> SERDEPROPERTIES ('serialization.class'='sample.thrift.setrow', 
> 'serialization.format'='org.apache.thrift.protocol.TBinaryProtocol').
> Describing the table shows:
> {noformat}
> hive> describe settable; 
> OK
> ids                   struct<>            from deserializer   
> name                string                    from deserializer
> {noformat}
> Issuing a select query on set column throws SemanticException:
> {noformat}
> hive> select ids from settable;
> FAILED: SemanticException java.lang.IllegalArgumentException: Error: name 
> expected at the position 7 of 'struct<>' but '>' is found.
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to