[ 
https://issues.apache.org/jira/browse/HIVE-6873?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13965915#comment-13965915
 ] 

Jitendra Nath Pandey commented on HIVE-6873:
--------------------------------------------

Here is a scenario where we get incorrect result. It shows up on sorted 
bucketed column with hive.map.groupby.sorted=true, and only on group by queries 
with no keys.

Here are the steps:

hive> Create table T(a int, b int) clustered by (a) sorted by (a) stored as orc;

load following data:
300  1
300  1
300  1
300  1
300  1

hive> set hive.map.groupby.sorted=true;

hive> select sum(distinct a) from T;  // Incorrect result.
hive> select count(distinct a) from T;  // This is also incorrect.



> DISTINCT clause in aggregates is handled incorrectly by vectorized execution
> ----------------------------------------------------------------------------
>
>                 Key: HIVE-6873
>                 URL: https://issues.apache.org/jira/browse/HIVE-6873
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>    Affects Versions: 0.13.0, 0.14.0
>            Reporter: Remus Rusanu
>            Assignee: Remus Rusanu
>         Attachments: HIVE-6873.1.patch, HIVE-6873.2.patch
>
>
> The vectorized aggregates ignore the DISTINCT clause. This cause incorrect 
> results. Due to how GroupByOperatorDesc adds the DISTINCT keys to the overall 
> aggregate keys the vectorized aggregates do account for the extra key, but 
> they do not process the data correctly for the key. the reduce side the 
> aggregates the input from the vectorized map side to results that are only 
> sometimes correct but mostly incorrect. HIVE-4607 tracks the proper fix, but 
> meantime I'm filing a bug to disable vectorized execution if DISTINCT is 
> present. Fix is trivial.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to