hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Satish Mittal (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HIVE-7892) Thrift Set type not working with Hive
Date Tue, 09 Sep 2014 10:38:28 GMT

     [ https://issues.apache.org/jira/browse/HIVE-7892?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Satish Mittal updated HIVE-7892:
--------------------------------
    Attachment: HIVE-7892.patch.txt

Attaching patch that resolves the issue.

The approach taken here is to essentially map thrift Set type to hive Array type (thrift List
type already maps to hive Array). Since both List and Set are essentially collections, we
can simply leverage the existing Array type, instead of exposing a new complex type at hive
level.

> 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
>         Attachments: 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)

Mime
View raw message