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