hadoop-hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zheng Shao (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HIVE-1287) Struct datatype should not use field names for type equivalence.
Date Mon, 29 Mar 2010 20:26:27 GMT

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

Zheng Shao commented on HIVE-1287:

I think we should support the following query:
insert overwrite table sink select CAST(foo AS struct<y: string>) from source;

This is better than directly converting them, because there can be confusions (There are 2
ways to convert from struct<x: string, y: string> and struct<y: string, x: string>,
and Hive is taking one of them).

> Struct datatype should not use field names for type equivalence.
> ----------------------------------------------------------------
>                 Key: HIVE-1287
>                 URL: https://issues.apache.org/jira/browse/HIVE-1287
>             Project: Hadoop Hive
>          Issue Type: Bug
>          Components: Query Processor
>         Environment: Mac OS X (10.6.2) Java SE 6 ( 1.6.0_17)
>            Reporter: Arvind Prabhakar
> The field names for {{Struct}} types are currently being matched for testing type equivalence.
This is readily seen by running the following example:
> {noformat}
> hive> create table source ( foo struct < x : string > );
> OK
> Time taken: 3.094 seconds
> hive> load data local inpath '/path/to/sample/data.txt' overwrite into table source;
> Copying data from file:/path/to/sample/data.txt
> Loading data to table source
> OK
> Time taken: 0.593 seconds
> hive> create table sink ( bar struct < y : string >);
> OK
> Time taken: 0.11 seconds
> hive> insert overwrite table sink select foo from source;
> FAILED: Error in semantic analysis: line 1:23 Cannot insert into target table 
> because column number/types are different sink: Cannot convert column 0 
> from struct<x:string> to struct<y:string>.
> {noformat}
> Since both {{soruce.foo}} and {{sink.bar}} are similar in definition with only field
names being different, data movement between these two should be allowed. 

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message