You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Satish Mittal (JIRA)" <ji...@apache.org> on 2014/08/27 12:25:57 UTC

[jira] [Created] (HIVE-7892) Thrift Set type not working with Hive

Satish Mittal created HIVE-7892:
-----------------------------------

             Summary: 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


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.2#6252)