ErwanMAS created HIVE-12165:
-------------------------------
Summary: wrong result when hive.optimize.sampling.orderby=true
with some aggregate functions
Key: HIVE-12165
URL: https://issues.apache.org/jira/browse/HIVE-12165
Project: Hive
Issue Type: Bug
Environment: hortonworks 2.3
Reporter: ErwanMAS
Priority: Critical
This simple query give wrong result , when , i use the parallel order .
{noformat}
select count(*) , count(distinct dummyint ) , min(dummyint),max(dummyint) from
foobar_1M ;
{noformat}
Current wrong result :
{noformat}
c0 c1 c2 c3
32740 32740 0 163695
113172 113172 163700 729555
54088 54088 729560 999995
{noformat}
Right result :
{noformat}
c0 c1 c2 c3
1000000 1000000 0 999999
{noformat}
The sql script for my test
{noformat}
drop table foobar_1M ;
create table foobar_1M ( dummyint bigint , dummystr string ) ;
insert overwrite table foobar_1M
select val_int , concat('dummy ',val_int) from
( select ((((((d_1*10)+d_2)*10+d_3)*10+d_4)*10+d_5)*10+d_6) as
val_int from foobar_1
lateral view outer explode(split("0,1,2,3,4,5,6,7,8,9",","))
tbl_1 as d_1
lateral view outer explode(split("0,1,2,3,4,5,6,7,8,9",","))
tbl_2 as d_2
lateral view outer explode(split("0,1,2,3,4,5,6,7,8,9",","))
tbl_3 as d_3
lateral view outer explode(split("0,1,2,3,4,5,6,7,8,9",","))
tbl_4 as d_4
lateral view outer explode(split("0,1,2,3,4,5,6,7,8,9",","))
tbl_5 as d_5
lateral view outer explode(split("0,1,2,3,4,5,6,7,8,9",","))
tbl_6 as d_6 ) as f ;
set hive.optimize.sampling.orderby.number=10000;
set hive.optimize.sampling.orderby.percent=0.1f;
set mapreduce.job.reduces=3 ;
set hive.optimize.sampling.orderby=false;
select count(*) , count(distinct dummyint ) , min(dummyint),max(dummyint) from
foobar_1M ;
set hive.optimize.sampling.orderby=true;
select count(*) , count(distinct dummyint ) , min(dummyint),max(dummyint) from
foobar_1M ;
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)