[ https://issues.apache.org/jira/browse/HIVE-3945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13565054#comment-13565054 ]
caofangkun commented on HIVE-3945: ---------------------------------- Hi Frankline Jose S the problem is this query before UNION ALL clause is like this : select 'username' as key, 'age' as value from ... see the column values are Fixed strings . Example select key, value FROM ( select 'USERNAME' as key, 'AGE' as value – Hi Frankline Jose S , take a look at this 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; > 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