[ 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)