[ https://issues.apache.org/jira/browse/HIVE-3945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13564169#comment-13564169 ]
Frankline Jose S commented on HIVE-3945: ---------------------------------------- Hi, I just tried the following queries, Seems to work fine // Union all - combine the result-set of two or more select statement. Union-all allow duplicate values while matches in both tables Input 33 35 55 55.62 20 44 55 100 44 44 33 33 33 55 44 44 33 55 55 55 Query :> select c.key, c.value from ( select a.key, a.value from uniontbl a where a.key='33' union all select b.key, sum( b.value) as value from uniontbl b where b.key='33' group by b.key )c; o/p: 33 35.0 33 33.0 33 55.0 33 NULL --> current and above line blongs to alia a ( a.key, a.value ) 33 123.0 --> belongs to alias b ( b.key, sum( b.value) ) select c.key, c.value from ( select a.key, a.value from uniontbl a where a.key='55' union all select b.key, sum( b.value) as value from uniontbl b where b.key='55' group by b.key )c o/p 55 55.62 55 100.0 55 55.0 --> current and above line blongs to alia a ( a.key, a.value ) 55 210.62 --> belongs to alias b ( b.key, sum( b.value) ) Can you give me an example scenario for this, in case I have misunderstood the problem. > union all datatype do not match may result wrong result > -------------------------------------------------------- > > Key: HIVE-3945 > URL: https://issues.apache.org/jira/browse/HIVE-3945 > Project: Hive > Issue Type: Bug > Components: Query Processor > Affects Versions: 0.9.0 > Reporter: caofangkun > Priority: Minor > > hive (default)> desc src; > key string > value string > select key, value FROM > ( select 'key' as key, 'value' as value -- datatype: string, string > from src s1 limit 1 > UNION ALL > select s2.key as key, sum(s2.value) as value -- datatype: strung, double > from src s2 group by s2.key > ) unionsrc; > this query exec normally but has wrong result: > key 2.4081029415476845E-282 -- expected is 'value' > 35.0 > 100 100.0 > 48 0.0 > and sometimes when the string title is too long it may case > ArrayIndexOutOfBoundsException: > Caused by: java.lang.ArrayIndexOutOfBoundsException > at java.lang.System.arraycopy(Native Method) > at org.apache.hadoop.io.Text.set(Text.java:205) > at > org.apache.hadoop.hive.serde2.lazybinary.LazyBinaryString.init(LazyBinaryString.java:48) > at > org.apache.hadoop.hive.serde2.lazybinary.LazyBinaryStruct.uncheckedGetField(LazyBinaryStruct.java:216) > at > org.apache.hadoop.hive.serde2.lazybinary.LazyBinaryStruct.getField(LazyBinaryStruct.java:197) > at > org.apache.hadoop.hive.serde2.lazybinary.objectinspector.LazyBinaryStructObjectInspector.getStructFieldData(LazyBinaryStructObjectInspector.java:61) > at > org.apache.hadoop.hive.ql.exec.UnionOperator.processOp(UnionOperator.java:125) > at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:471) > at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:762) > at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:531) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira