[ https://issues.apache.org/jira/browse/HIVE-3945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13565126#comment-13565126 ]
Frankline Jose S commented on HIVE-3945: ---------------------------------------- Hi Caofangkun, Query is slightly modified in ( alias b )table, typecasted summation value to String cast(sum(b.value) as String) as value Jose (key) - 2.1700977105416958E-287 (value) <==> After <==> Jose (key) - jose (value) table :- (key String, value String ) input :- Jose - jose Arun - arun 10 - 10 10 - 100 10.20 - 10.20 33 - 35 33 - 5 - 22 Query :- select c.key, c.value from ( select a.key, a.value from uniontbl a limit 3 union all select b.key, cast(sum(b.value) as String) as value from uniontbl b group by b.key )c output:- 22.0 10 110.0 10.20 10.2 33 40.0 Arun 0.0 Jose 0.0 -- above records belongs to alias b ( b.key, sum( b.value) ) Jose jose -- below records belongs to alias a ( a.key, a.value ) Arun arun 10 10 > 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