You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Ashutosh Chauhan (JIRA)" <ji...@apache.org> on 2016/07/18 23:52:21 UTC

[jira] [Updated] (HIVE-13708) Create table should verify datatypes supported by the serde

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

Ashutosh Chauhan updated HIVE-13708:
------------------------------------
    Status: Open  (was: Patch Available)

> Create table should verify datatypes supported by the serde
> -----------------------------------------------------------
>
>                 Key: HIVE-13708
>                 URL: https://issues.apache.org/jira/browse/HIVE-13708
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Planning
>            Reporter: Thejas M Nair
>            Assignee: Hari Sankar Sivarama Subramaniyan
>            Priority: Critical
>         Attachments: HIVE-13708.1.patch, HIVE-13708.2.patch, HIVE-13708.3.patch, HIVE-13708.4.patch
>
>
> As [~Goldshuv] mentioned in HIVE-7777.
> Create table with serde such as OpenCSVSerde allows for creation of table with columns of arbitrary types. But 'describe table' would still return string datatypes, and so does selects on the table.
> This is misleading and would result in users not getting intended results.
> The create table ideally should disallow the creation of such tables with unsupported types.
> Example posted by [~Goldshuv] in HIVE-7777 -
> {noformat}
> CREATE EXTERNAL TABLE test (totalprice DECIMAL(38,10)) 
> ROW FORMAT SERDE 'com.bizo.hive.serde.csv.CSVSerde' with 
> serdeproperties ("separatorChar" = ",","quoteChar"= "'","escapeChar"= "\\") 
> STORED AS TEXTFILE 
> LOCATION '<some location>' 
> tblproperties ("skip.header.line.count"="1");
> {noformat}
> Now consider this sql:
> hive> select min(totalprice) from test;
> in this case given my data, the result should have been 874.89, but the actual result became 100001.57 (as it is first according to byte ordering of a string type). this is a wrong result.
> hive> desc extended test;
> OK
> o_totalprice        	string              	from deserializer
> ...



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