hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Raghotham Murthy (JIRA)" <>
Subject [jira] Commented: (HIVE-285) UNION ALL does not allow different types in the same column
Date Wed, 11 Mar 2009 08:40:50 GMT


Raghotham Murthy commented on HIVE-285:

type conversion in UNION will lead to confusing behavior. 

for a query like the following on two tables R(a int) and S(a string)

select a from R
union all
select a from S

What will the schema of the result of the join be? int or string?

> UNION ALL does not allow different types in the same column
> -----------------------------------------------------------
>                 Key: HIVE-285
>                 URL:
>             Project: Hadoop Hive
>          Issue Type: Bug
>          Components: Query Processor
>    Affects Versions: 0.2.0, 0.3.0
>            Reporter: Zheng Shao
>            Assignee: Raghotham Murthy
>             Fix For: 0.3.0
>         Attachments: hive-285.1.patch
> {code}
>     SELECT s.r, s.c, sum(s.v) FROM
>     (
>       SELECT a.r AS r, a.c AS c, a.v AS v FROM t1 a
>       UNION ALL
>       SELECT b.r AS r, b.c AS c, 0 + b.v AS v FROM t2 b
>     ) s
>     GROUP BY s.r, s.c;
> {code}
> Both a and b have 3 string columns: r, c, and v.
> It compiled successfully but failed during runtime.
> "Explain" shows that the plan for the 2 union-all operands have different output types
that are converged to STRING, but there is no UDFToString inserted for "0 + b.v AS v" and
as a result, SerDe was failing because it expects a String but is passed a Double.

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

View raw message