You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Brock Noland (JIRA)" <ji...@apache.org> on 2013/02/25 17:00:13 UTC
[jira] [Commented] (HIVE-3945) union all datatype do not match may
result wrong result
[ https://issues.apache.org/jira/browse/HIVE-3945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13585947#comment-13585947 ]
Brock Noland commented on HIVE-3945:
------------------------------------
[~caofangkun] can you clarify when you see the ArrayIndexOutOfBoundsException above?
> 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