mirror of
https://github.com/apache/impala.git
synced 2025-12-25 02:03:09 -05:00
Enable more tpcds queries that use correlated subqueries and analytic functions.
This patch only operates on queries that use store_sales as the fact table. Change-Id: I763245ef5f68bb1519bcb4d4b26ede96913a1d57 Reviewed-on: http://gerrit.sjc.cloudera.com:8080/4312 Reviewed-by: Ishaan Joshi <ishaan@cloudera.com> Tested-by: jenkins Reviewed-on: http://gerrit.sjc.cloudera.com:8080/4106
This commit is contained in:
File diff suppressed because it is too large
Load Diff
155
testdata/workloads/tpcds/queries/tpcds-q47.test
vendored
Normal file
155
testdata/workloads/tpcds/queries/tpcds-q47.test
vendored
Normal file
@@ -0,0 +1,155 @@
|
||||
====
|
||||
---- QUERY: TPCDS-Q47
|
||||
with v1 as (
|
||||
select i_category, i_brand,
|
||||
s_store_name, s_company_name,
|
||||
d_year, d_moy,
|
||||
sum(ss_sales_price) sum_sales,
|
||||
avg(sum(ss_sales_price)) over
|
||||
(partition by i_category, i_brand,
|
||||
s_store_name, s_company_name, d_year)
|
||||
avg_monthly_sales,
|
||||
rank() over
|
||||
(partition by i_category, i_brand,
|
||||
s_store_name, s_company_name
|
||||
order by d_year, d_moy) rn
|
||||
from item, store_sales, date_dim, store
|
||||
where ss_item_sk = i_item_sk and
|
||||
ss_sold_date_sk = d_date_sk and
|
||||
ss_store_sk = s_store_sk and
|
||||
(
|
||||
d_year = 2000 or
|
||||
( d_year = 2000-1 and d_moy =12) or
|
||||
( d_year = 2000+1 and d_moy =1)
|
||||
)
|
||||
group by i_category, i_brand,
|
||||
s_store_name, s_company_name,
|
||||
d_year, d_moy),
|
||||
v2 as(
|
||||
select v1.i_category, v1.i_brand
|
||||
,v1.d_year
|
||||
,v1.avg_monthly_sales
|
||||
,v1.sum_sales, v1_lag.sum_sales psum, v1_lead.sum_sales nsum
|
||||
from v1, v1 v1_lag, v1 v1_lead
|
||||
where v1.i_category = v1_lag.i_category and
|
||||
v1.i_category = v1_lead.i_category and
|
||||
v1.i_brand = v1_lag.i_brand and
|
||||
v1.i_brand = v1_lead.i_brand and
|
||||
v1.s_store_name = v1_lag.s_store_name and
|
||||
v1.s_store_name = v1_lead.s_store_name and
|
||||
v1.s_company_name = v1_lag.s_company_name and
|
||||
v1.s_company_name = v1_lead.s_company_name and
|
||||
v1.rn = v1_lag.rn + 1 and
|
||||
v1.rn = v1_lead.rn - 1)
|
||||
select * from ( select *
|
||||
from v2
|
||||
where d_year = 2000 and
|
||||
avg_monthly_sales > 0 and
|
||||
case when avg_monthly_sales > 0 then abs(sum_sales - avg_monthly_sales) / avg_monthly_sales else null end > 0.1
|
||||
order by sum_sales - avg_monthly_sales, d_year
|
||||
limit 100
|
||||
) as v3;
|
||||
---- RESULTS
|
||||
'Music','exportischolar #2',2000,361.19,13.04,106.77,409.30
|
||||
'Children','edu packexporti #2',2000,362.04,16.51,244.81,332.70
|
||||
'Children','amalgexporti #2',2000,359.25,17.80,119.79,402.04
|
||||
'Men','exportiimporto #2',2000,360.29,24.07,146.16,311.11
|
||||
'Shoes','edu packedu pack #2',2000,435.23,99.52,117.61,342.76
|
||||
'Shoes','edu packedu pack #2',2000,367.25,33.69,183.52,248.83
|
||||
'Music','importoscholar #2',2000,356.14,25.73,467.16,446.34
|
||||
'Music','importoscholar #2',2000,349.97,21.94,158.75,189.86
|
||||
'Women','importoamalg #2',2000,339.12,13.02,362.77,64.19
|
||||
'Music','exportischolar #2',2000,395.42,70.06,176.36,100.96
|
||||
'Shoes','amalgedu pack #2',2000,373.16,49.95,506.85,391.35
|
||||
'Children','amalgexporti #2',2000,359.25,37.88,385.03,162.10
|
||||
'Children','edu packexporti #2',2000,370.88,49.92,572.50,170.68
|
||||
'Men','importoimporto #2',2000,386.15,67.23,219.86,262.57
|
||||
'Shoes','edu packedu pack #2',2000,435.23,117.61,240.82,99.52
|
||||
'Music','exportischolar #2',2000,361.19,46.12,409.30,265.88
|
||||
'Children','amalgexporti #2',2000,359.25,44.62,402.04,579.27
|
||||
'Shoes','amalgedu pack #2',2000,381.90,71.30,153.69,174.69
|
||||
'Shoes','edu packedu pack #2',2000,347.34,38.61,100.06,583.75
|
||||
'Children','importoexporti #2',2000,329.89,25.04,175.20,331.63
|
||||
'Shoes','importoedu pack #2',2000,324.17,22.89,207.71,293.57
|
||||
'Shoes','edu packedu pack #2',2000,435.23,134.15,348.95,240.82
|
||||
'Children','importoexporti #2',2000,302.23,2.18,399.83,387.33
|
||||
'Children','importoexporti #2',2000,329.89,33.47,192.64,241.84
|
||||
'Shoes','importoedu pack #2',2000,377.75,81.52,162.18,261.97
|
||||
'Music','exportischolar #2',2000,369.79,74.38,89.31,558.77
|
||||
'Music','exportischolar #2',2000,395.42,100.96,70.06,314.94
|
||||
'Women','amalgamalg #2',2000,336.94,43.31,171.61,308.07
|
||||
'Shoes','exportiedu pack #2',2000,297.03,5.41,136.96,163.28
|
||||
'Music','exportischolar #2',2000,395.42,103.98,209.35,735.08
|
||||
'Men','exportiimporto #2',2000,297.08,8.54,164.76,440.19
|
||||
'Women','edu packamalg #2',2000,297.48,9.18,86.30,205.52
|
||||
'Music','importoscholar #2',2000,356.14,68.53,731.67,467.16
|
||||
'Music','importoscholar #2',2000,354.33,66.79,540.56,337.62
|
||||
'Women','edu packamalg #2',2000,387.24,101.42,312.67,319.73
|
||||
'Men','importoimporto #2',2000,295.69,10.42,147.56,208.51
|
||||
'Men','importoimporto #2',2000,299.57,14.43,122.98,189.73
|
||||
'Shoes','importoedu pack #2',2000,324.17,39.68,293.57,282.13
|
||||
'Women','edu packamalg #2',2000,387.24,102.88,238.97,312.67
|
||||
'Men','importoimporto #2',2000,284.22,1.16,235.46,195.91
|
||||
'Music','importoscholar #2',2000,350.94,67.98,177.70,180.42
|
||||
'Music','exportischolar #2',2000,369.79,89.31,458.60,74.38
|
||||
'Men','edu packimporto #2',2000,311.30,31.70,241.11,63.42
|
||||
'Women','importoamalg #2',2000,297.16,18.02,300.59,51.18
|
||||
'Shoes','importoedu pack #2',2000,354.37,75.24,362.69,186.63
|
||||
'Music','edu packscholar #2',2000,305.20,28.38,77.11,147.96
|
||||
'Children','edu packexporti #2',2000,351.05,76.01,180.52,141.75
|
||||
'Women','importoamalg #2',2000,339.12,64.19,13.02,254.39
|
||||
'Men','exportiimporto #2',2000,297.08,24.11,242.76,248.58
|
||||
'Women','edu packamalg #2',2000,288.12,16.55,274.43,347.53
|
||||
'Music','importoscholar #2',2000,354.33,84.08,114.57,183.08
|
||||
'Children','importoexporti #2',2000,359.26,90.06,209.99,127.84
|
||||
'Music','edu packscholar #2',2000,357.13,88.56,219.38,126.28
|
||||
'Women','edu packamalg #2',2000,309.34,41.33,236.30,86.68
|
||||
'Women','edu packamalg #2',2000,387.24,120.03,164.15,315.35
|
||||
'Women','amalgamalg #2',2000,336.94,72.42,308.07,212.67
|
||||
'Music','edu packscholar #2',2000,303.17,38.66,174.79,40.61
|
||||
'Children','exportiexporti #2',2000,269.23,4.78,164.15,361.87
|
||||
'Women','amalgamalg #2',2000,288.29,24.72,92.24,38.35
|
||||
'Children','importoexporti #2',2000,296.51,33.44,338.99,305.21
|
||||
'Women','edu packamalg #2',2000,321.60,58.71,246.93,111.44
|
||||
'Music','edu packscholar #2',2000,303.17,40.61,38.66,381.59
|
||||
'Shoes','importoedu pack #2',2000,303.60,41.77,476.55,152.55
|
||||
'Shoes','amalgedu pack #2',2000,262.91,1.76,199.71,232.04
|
||||
'Women','exportiamalg #2',2000,312.08,52.17,181.79,604.07
|
||||
'Men','importoimporto #1',2000,264.92,6.09,51.74,324.71
|
||||
'Men','importoimporto #2',2000,299.61,42.73,312.20,302.03
|
||||
'Music','edu packscholar #2',2000,364.77,108.75,264.08,233.09
|
||||
'Shoes','edu packedu pack #2',2000,356.72,100.87,404.12,151.68
|
||||
'Men','edu packimporto #2',2000,260.32,4.82,153.07,52.59
|
||||
'Men','importoimporto #2',2000,299.57,44.48,186.44,115.44
|
||||
'Music','exportischolar #2',2000,361.19,106.77,586.37,13.04
|
||||
'Women','edu packamalg #2',2000,297.48,44.57,110.27,86.30
|
||||
'Shoes','exportiedu pack #2',2000,257.65,5.06,179.25,171.34
|
||||
'Men','edu packimporto #2',2000,260.32,8.01,392.05,153.07
|
||||
'Men','exportiimporto #2',2000,276.31,24.40,175.44,121.21
|
||||
'Men','edu packimporto #2',2000,259.77,7.97,361.69,271.30
|
||||
'Music','exportischolar #1',2000,265.85,14.47,111.80,143.69
|
||||
'Children','importoexporti #2',2000,296.51,45.30,305.21,509.36
|
||||
'Women','amalgamalg #2',2000,288.29,38.35,24.72,167.12
|
||||
'Children','amalgexporti #2',2000,258.19,8.51,284.62,174.93
|
||||
'Men','amalgimporto #2',2000,269.19,19.52,283.80,149.64
|
||||
'Men','exportiimporto #2',2000,263.88,14.25,144.04,79.18
|
||||
'Women','importoamalg #2',2000,297.16,48.06,51.18,161.10
|
||||
'Children','edu packexporti #2',2000,351.05,102.51,141.75,329.38
|
||||
'Shoes','exportiedu pack #2',2000,257.65,9.16,122.20,172.63
|
||||
'Men','edu packimporto #2',2000,311.30,63.42,31.70,250.44
|
||||
'Women','amalgamalg #2',2000,296.20,48.54,300.19,68.95
|
||||
'Shoes','edu packedu pack #2',2000,347.34,100.06,114.45,38.61
|
||||
'Women','importoamalg #2',2000,297.16,51.18,18.02,48.06
|
||||
'Shoes','importoedu pack #2',2000,366.10,120.48,485.39,NULL
|
||||
'Women','exportiamalg #2',2000,303.16,57.72,163.35,244.09
|
||||
'Children','edu packexporti #2',2000,362.04,117.20,240.88,251.77
|
||||
'Men','edu packimporto #2',2000,311.30,68.07,336.53,888.77
|
||||
'Women','exportiamalg #2',2000,252.16,10.20,245.51,37.14
|
||||
'Music','exportischolar #1',2000,268.64,27.05,362.79,162.28
|
||||
'Shoes','edu packedu pack #2',2000,347.34,106.81,454.54,487.93
|
||||
'Music','importoscholar #2',2000,354.33,114.57,171.28,84.08
|
||||
'Children','amalgexporti #2',2000,250.37,10.75,210.60,63.72
|
||||
'Men','importoimporto #2',2000,299.61,60.11,216.51,312.20
|
||||
---- TYPES
|
||||
STRING, STRING, INT, DECIMAL, DECIMAL, DECIMAL, DECIMAL
|
||||
====
|
||||
48
testdata/workloads/tpcds/queries/tpcds-q6.test
vendored
Normal file
48
testdata/workloads/tpcds/queries/tpcds-q6.test
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
====
|
||||
---- QUERY: TPCDS-Q6
|
||||
select * from (
|
||||
select a.ca_state state, count(*) cnt
|
||||
from customer_address a
|
||||
,customer c
|
||||
,store_sales s
|
||||
,date_dim d
|
||||
,item i
|
||||
where
|
||||
a.ca_address_sk = c.c_current_addr_sk
|
||||
and c.c_customer_sk = s.ss_customer_sk
|
||||
and s.ss_sold_date_sk = d.d_date_sk
|
||||
and s.ss_item_sk = i.i_item_sk
|
||||
and d.d_month_seq =
|
||||
(select distinct (d_month_seq)
|
||||
from date_dim
|
||||
where d_year = 1999
|
||||
and d_moy = 1
|
||||
limit 1)
|
||||
and i.i_current_price > 1.2 *
|
||||
(select avg(j.i_current_price)
|
||||
from item j
|
||||
where j.i_category = i.i_category)
|
||||
group by a.ca_state
|
||||
having count(*) >= 10
|
||||
order by cnt limit 100) as t
|
||||
---- RESULTS
|
||||
'OK',10
|
||||
'IL',10
|
||||
'NY',11
|
||||
'',11
|
||||
'FL',12
|
||||
'IA',13
|
||||
'TN',13
|
||||
'NE',13
|
||||
'KS',15
|
||||
'MO',15
|
||||
'CO',15
|
||||
'NC',18
|
||||
'LA',18
|
||||
'OH',22
|
||||
'VA',22
|
||||
'TX',24
|
||||
'GA',32
|
||||
---- TYPES
|
||||
STRING, BIGINT
|
||||
====
|
||||
39
testdata/workloads/tpcds/queries/tpcds-q63.test
vendored
39
testdata/workloads/tpcds/queries/tpcds-q63.test
vendored
@@ -5,8 +5,8 @@ select
|
||||
from
|
||||
(select
|
||||
i_manager_id,
|
||||
sum(ss_sales_price) sum_sales
|
||||
-- avg(sum(ss_sales_price)) over (partition by i_manager_id) avg_monthly_sales
|
||||
sum(ss_sales_price) sum_sales,
|
||||
avg(sum(ss_sales_price)) over (partition by i_manager_id) avg_monthly_sales
|
||||
from
|
||||
item,
|
||||
store_sales,
|
||||
@@ -28,28 +28,27 @@ from
|
||||
i_manager_id,
|
||||
d_moy
|
||||
) tmp1
|
||||
-- where
|
||||
-- case when avg_monthly_sales > 0 then abs (sum_sales - avg_monthly_sales) / avg_monthly_sales else null end > 0.1
|
||||
where
|
||||
case when avg_monthly_sales > 0 then abs (sum_sales - avg_monthly_sales) / avg_monthly_sales else null end > 0.1
|
||||
order by
|
||||
i_manager_id,
|
||||
-- avg_monthly_sales,
|
||||
avg_monthly_sales,
|
||||
sum_sales
|
||||
limit 100;
|
||||
---- RESULTS
|
||||
10,50.08
|
||||
10,92.64
|
||||
13,1.75
|
||||
13,4.72
|
||||
13,66.86
|
||||
13,136.13
|
||||
29,2.27
|
||||
29,25.35
|
||||
29,71.67
|
||||
29,81.19
|
||||
34,2.79
|
||||
34,21.91
|
||||
34,83.14
|
||||
34,201.00
|
||||
10,50.08,71.36
|
||||
10,92.64,71.36
|
||||
13,1.75,52.36
|
||||
13,4.72,52.36
|
||||
13,66.86,52.36
|
||||
13,136.13,52.36
|
||||
29,2.27,45.12
|
||||
29,25.35,45.12
|
||||
29,71.67,45.12
|
||||
29,81.19,45.12
|
||||
34,2.79,77.21
|
||||
34,21.91,77.21
|
||||
34,201.00,77.21
|
||||
---- TYPES
|
||||
INT, DECIMAL
|
||||
INT, DECIMAL, DECIMAL
|
||||
====
|
||||
272
testdata/workloads/tpcds/queries/tpcds-q89.test
vendored
272
testdata/workloads/tpcds/queries/tpcds-q89.test
vendored
@@ -1,149 +1,131 @@
|
||||
====
|
||||
---- QUERY: TPCDS-Q89
|
||||
select
|
||||
*
|
||||
from
|
||||
(select
|
||||
i_category,
|
||||
i_class,
|
||||
i_brand,
|
||||
s_store_name,
|
||||
s_company_name,
|
||||
d_moy,
|
||||
sum(ss_sales_price) sum_sales
|
||||
-- avg(sum(ss_sales_price)) over (partition by i_category, i_brand, s_store_name, s_company_name) avg_monthly_sales
|
||||
from
|
||||
item,
|
||||
store_sales,
|
||||
date_dim,
|
||||
store
|
||||
where
|
||||
ss_item_sk = i_item_sk
|
||||
and ss_sold_date_sk = d_date_sk
|
||||
and ss_store_sk = s_store_sk
|
||||
and d_year in (2000)
|
||||
and ((i_category in ('Home', 'Books', 'Electronics')
|
||||
and i_class in ('wallpaper', 'parenting', 'musical'))
|
||||
or (i_category in ('Shoes', 'Jewelry', 'Men')
|
||||
and i_class in ('womens', 'birdal', 'pants')))
|
||||
and ss_sold_date_sk between 2451545 and 2451910 -- partition key filter
|
||||
group by
|
||||
i_category,
|
||||
i_class,
|
||||
i_brand,
|
||||
s_store_name,
|
||||
s_company_name,
|
||||
d_moy
|
||||
) tmp1
|
||||
-- where
|
||||
-- case when (avg_monthly_sales <> 0) then (abs(sum_sales - avg_monthly_sales) / avg_monthly_sales) else null end > 0.1
|
||||
order by
|
||||
-- sum_sales - avg_monthly_sales,
|
||||
sum_sales, -- modification
|
||||
s_store_name,
|
||||
i_category -- modification: added this sorting column to break ties for stable test results
|
||||
limit 100;
|
||||
select * from (select *
|
||||
from (
|
||||
select i_category, i_class, i_brand,
|
||||
s_store_name, s_company_name,
|
||||
d_moy,
|
||||
sum(ss_sales_price) sum_sales,
|
||||
avg(sum(ss_sales_price)) over
|
||||
(partition by i_category, i_brand, s_store_name, s_company_name)
|
||||
avg_monthly_sales
|
||||
from item, store_sales, date_dim, store
|
||||
where ss_item_sk = i_item_sk and
|
||||
ss_sold_date_sk = d_date_sk and
|
||||
ss_store_sk = s_store_sk and
|
||||
d_year in (1999) and
|
||||
((i_category in ('Children','Music','Home') and
|
||||
i_class in ('toddlers','pop','lighting')
|
||||
)
|
||||
or (i_category in ('Jewelry','Books','Sports') and
|
||||
i_class in ('costume','travel','football')
|
||||
))
|
||||
group by i_category, i_class, i_brand,
|
||||
s_store_name, s_company_name, d_moy) tmp1
|
||||
where case when (avg_monthly_sales <> 0) then (abs(sum_sales - avg_monthly_sales) / avg_monthly_sales) else null end > 0.1
|
||||
order by sum_sales - avg_monthly_sales, s_store_name
|
||||
limit 100) tmp2;
|
||||
---- RESULTS
|
||||
'Electronics','musical','corpunivamalg #6','ation','Unknown',11,0.00
|
||||
'Books','parenting','corpmaxi #12','bar','Unknown',9,0.00
|
||||
'Home','wallpaper','exportinameless #6','bar','Unknown',7,0.00
|
||||
'Jewelry','birdal','amalgcorp #3','bar','Unknown',9,0.00
|
||||
'Books','parenting','corpmaxi #8','ought','Unknown',4,0.10
|
||||
'Electronics','musical','corpunivamalg #17','ese','Unknown',9,0.12
|
||||
'Home','wallpaper','exportinameless #1','eing','Unknown',9,0.34
|
||||
'Jewelry','birdal','amalgcorp #1','eing','Unknown',2,0.37
|
||||
'Books','parenting','corpmaxi #9','ese','Unknown',4,0.42
|
||||
'Electronics','musical','corpunivamalg #11','bar','Unknown',12,0.47
|
||||
'Home','wallpaper','exportinameless #6','eing','Unknown',10,0.59
|
||||
'Jewelry','birdal','amalgcorp #2','able','Unknown',12,0.72
|
||||
'Jewelry','birdal','amalgcorp #5','ese','Unknown',4,0.78
|
||||
'Books','parenting','corpmaxi #9','ese','Unknown',10,0.83
|
||||
'Jewelry','birdal','amalgcorp #2','able','Unknown',3,0.89
|
||||
'Electronics','musical','corpunivamalg #6','ought','Unknown',10,0.89
|
||||
'Electronics','musical','corpunivamalg #8','ation','Unknown',7,0.97
|
||||
'Jewelry','birdal','amalgcorp #2','ought','Unknown',12,0.97
|
||||
'Jewelry','birdal','amalgcorp #8','ought','Unknown',6,0.99
|
||||
'Books','parenting','corpmaxi #6','able','Unknown',4,1.07
|
||||
'Home','wallpaper','exportinameless #7','ation','Unknown',12,1.12
|
||||
'Jewelry','birdal','amalgcorp #4','bar','Unknown',8,1.13
|
||||
'Electronics','musical','corpunivamalg #8','able','Unknown',6,1.15
|
||||
'Home','wallpaper','exportinameless #8','bar','Unknown',10,1.19
|
||||
'Home','wallpaper','exportinameless #3','eing','Unknown',11,1.19
|
||||
'Home','wallpaper','exportinameless #10','bar','Unknown',9,1.24
|
||||
'Home','wallpaper','exportinameless #10','ought','Unknown',6,1.30
|
||||
'Men','pants','exportiimporto #1','able','Unknown',6,1.32
|
||||
'Home','wallpaper','exportinameless #4','ought','Unknown',5,1.52
|
||||
'Home','wallpaper','exportinameless #2','ought','Unknown',6,1.55
|
||||
'Electronics','musical','corpunivamalg #6','ation','Unknown',10,1.57
|
||||
'Jewelry','birdal','amalgcorp #8','eing','Unknown',11,1.62
|
||||
'Home','wallpaper','exportinameless #10','able','Unknown',1,1.64
|
||||
'Books','parenting','corpmaxi #9','bar','Unknown',8,1.69
|
||||
'Shoes','womens','amalgedu pack #2','eing','Unknown',7,1.76
|
||||
'Home','wallpaper','exportinameless #8','ese','Unknown',10,1.85
|
||||
'Books','parenting','corpmaxi #12','ought','Unknown',1,1.87
|
||||
'Electronics','musical','corpunivamalg #6','able','Unknown',9,1.95
|
||||
'Home','wallpaper','exportinameless #6','ation','Unknown',8,2.00
|
||||
'Books','parenting','corpmaxi #8','ought','Unknown',3,2.00
|
||||
'Home','wallpaper','exportinameless #5','ought','Unknown',1,2.00
|
||||
'Electronics','musical','corpunivamalg #2','bar','Unknown',10,2.02
|
||||
'Electronics','musical','corpunivamalg #8','bar','Unknown',7,2.12
|
||||
'Electronics','musical','corpunivamalg #11','able','Unknown',3,2.19
|
||||
'Home','wallpaper','exportinameless #1','ought','Unknown',4,2.34
|
||||
'Men','pants','exportiimporto #1','eing','Unknown',6,2.39
|
||||
'Electronics','musical','corpunivamalg #11','eing','Unknown',11,2.41
|
||||
'Home','wallpaper','exportinameless #8','ought','Unknown',1,2.42
|
||||
'Electronics','musical','corpunivamalg #12','ation','Unknown',9,2.44
|
||||
'Jewelry','birdal','amalgcorp #5','ese','Unknown',5,2.44
|
||||
'Books','parenting','corpmaxi #6','ese','Unknown',12,2.56
|
||||
'Books','parenting','corpmaxi #3','eing','Unknown',1,2.57
|
||||
'Jewelry','birdal','amalgcorp #6','eing','Unknown',11,2.68
|
||||
'Electronics','musical','corpunivamalg #3','able','Unknown',12,2.72
|
||||
'Shoes','womens','amalgedu pack #1','able','Unknown',10,2.94
|
||||
'Jewelry','birdal','amalgcorp #7','ation','Unknown',2,3.07
|
||||
'Electronics','musical','corpunivamalg #7','eing','Unknown',2,3.11
|
||||
'Electronics','musical','corpunivamalg #8','ese','Unknown',11,3.31
|
||||
'Books','parenting','corpmaxi #8','ation','Unknown',10,3.38
|
||||
'Electronics','musical','corpunivamalg #1','able','Unknown',4,3.39
|
||||
'Home','wallpaper','exportinameless #4','ought','Unknown',9,3.46
|
||||
'Books','parenting','corpmaxi #6','bar','Unknown',5,3.52
|
||||
'Home','wallpaper','exportinameless #4','ese','Unknown',12,3.67
|
||||
'Electronics','musical','corpunivamalg #13','ese','Unknown',7,3.72
|
||||
'Electronics','musical','corpunivamalg #5','ought','Unknown',5,3.73
|
||||
'Electronics','musical','corpunivamalg #17','ation','Unknown',10,3.75
|
||||
'Home','wallpaper','exportinameless #7','able','Unknown',7,3.80
|
||||
'Books','parenting','corpmaxi #6','able','Unknown',7,3.81
|
||||
'Jewelry','birdal','amalgcorp #8','eing','Unknown',3,3.81
|
||||
'Electronics','musical','corpunivamalg #4','ought','Unknown',10,4.02
|
||||
'Home','wallpaper','exportinameless #2','eing','Unknown',8,4.05
|
||||
'Electronics','musical','corpunivamalg #4','bar','Unknown',1,4.08
|
||||
'Electronics','musical','corpunivamalg #13','able','Unknown',12,4.18
|
||||
'Electronics','musical','corpunivamalg #8','ation','Unknown',10,4.21
|
||||
'Books','parenting','corpmaxi #3','ese','Unknown',9,4.23
|
||||
'Jewelry','birdal','amalgcorp #7','able','Unknown',9,4.41
|
||||
'Jewelry','birdal','amalgcorp #4','able','Unknown',3,4.48
|
||||
'Electronics','musical','corpunivamalg #11','eing','Unknown',9,4.69
|
||||
'Home','wallpaper','exportinameless #9','ought','Unknown',7,4.69
|
||||
'Books','parenting','corpmaxi #5','ation','Unknown',1,4.73
|
||||
'Books','parenting','corpmaxi #2','bar','Unknown',1,4.79
|
||||
'Jewelry','birdal','amalgcorp #5','ation','Unknown',9,4.83
|
||||
'Electronics','musical','corpunivamalg #2','ought','Unknown',1,4.86
|
||||
'Home','wallpaper','exportinameless #8','ought','Unknown',11,4.86
|
||||
'Jewelry','birdal','amalgcorp #7','able','Unknown',8,4.89
|
||||
'Electronics','musical','corpunivamalg #7','bar','Unknown',10,5.20
|
||||
'Electronics','musical','corpunivamalg #7','ought','Unknown',11,5.20
|
||||
'Jewelry','birdal','amalgcorp #7','ation','Unknown',11,5.24
|
||||
'Books','parenting','corpmaxi #12','eing','Unknown',11,5.36
|
||||
'Books','parenting','corpmaxi #6','bar','Unknown',11,5.56
|
||||
'Books','parenting','corpmaxi #9','ese','Unknown',6,5.66
|
||||
'Books','parenting','corpmaxi #6','ese','Unknown',10,5.71
|
||||
'Jewelry','birdal','amalgcorp #5','ation','Unknown',1,5.77
|
||||
'Jewelry','birdal','amalgcorp #1','ation','Unknown',7,6.08
|
||||
'Shoes','womens','amalgedu pack #1','ese','Unknown',6,6.09
|
||||
'Men','pants','exportiimporto #1','ese','Unknown',4,6.14
|
||||
'Electronics','musical','corpunivamalg #6','ese','Unknown',2,6.15
|
||||
'Electronics','musical','corpunivamalg #2','bar','Unknown',11,6.22
|
||||
'Electronics','musical','corpunivamalg #3','ought','Unknown',7,6.25
|
||||
'Electronics','musical','corpunivamalg #1','eing','Unknown',11,6.36
|
||||
'Children','toddlers','exportiexporti #1','ought','Unknown',6,19.89,417.00
|
||||
'Children','toddlers','exportiexporti #1','ought','Unknown',3,57.49,417.00
|
||||
'Children','toddlers','exportiexporti #1','ese','Unknown',4,27.36,367.67
|
||||
'Children','toddlers','exportiexporti #1','ation','Unknown',6,25.65,360.45
|
||||
'Children','toddlers','exportiexporti #1','able','Unknown',3,7.40,340.40
|
||||
'Music','pop','exportischolar #1','bar','Unknown',7,30.79,349.48
|
||||
'Music','pop','exportischolar #1','ought','Unknown',6,27.34,343.60
|
||||
'Children','toddlers','exportiexporti #1','ese','Unknown',6,57.93,367.67
|
||||
'Children','toddlers','exportiexporti #1','able','Unknown',5,34.87,340.40
|
||||
'Children','toddlers','exportiexporti #1','eing','Unknown',2,34.87,329.98
|
||||
'Children','toddlers','exportiexporti #1','bar','Unknown',4,68.51,355.83
|
||||
'Children','toddlers','exportiexporti #1','ation','Unknown',2,85.92,360.45
|
||||
'Children','toddlers','exportiexporti #1','ought','Unknown',4,146.11,417.00
|
||||
'Children','toddlers','exportiexporti #1','ese','Unknown',3,101.24,367.67
|
||||
'Music','pop','exportischolar #1','ation','Unknown',5,77.59,331.72
|
||||
'Children','toddlers','exportiexporti #1','ation','Unknown',4,109.87,360.45
|
||||
'Music','pop','exportischolar #1','ation','Unknown',6,81.26,331.72
|
||||
'Music','pop','exportischolar #1','able','Unknown',3,175.83,426.09
|
||||
'Music','pop','exportischolar #1','able','Unknown',4,176.92,426.09
|
||||
'Children','toddlers','exportiexporti #1','ese','Unknown',7,118.79,367.67
|
||||
'Music','pop','exportischolar #1','eing','Unknown',5,128.76,361.83
|
||||
'Music','pop','exportischolar #1','ese','Unknown',4,92.91,317.85
|
||||
'Children','toddlers','exportiexporti #1','bar','Unknown',7,132.58,355.83
|
||||
'Music','pop','exportischolar #1','ation','Unknown',4,109.62,331.72
|
||||
'Music','pop','exportischolar #1','ese','Unknown',6,96.11,317.85
|
||||
'Children','toddlers','exportiexporti #1','able','Unknown',7,122.17,340.40
|
||||
'Music','pop','exportischolar #1','ought','Unknown',5,129.52,343.60
|
||||
'Children','toddlers','exportiexporti #1','eing','Unknown',3,120.24,329.98
|
||||
'Children','toddlers','exportiexporti #1','able','Unknown',8,135.86,340.40
|
||||
'Music','pop','exportischolar #2','ese','Unknown',8,5.68,209.52
|
||||
'Music','pop','exportischolar #1','eing','Unknown',4,159.76,361.83
|
||||
'Music','pop','exportischolar #2','able','Unknown',3,27.37,225.48
|
||||
'Children','toddlers','exportiexporti #1','eing','Unknown',6,133.10,329.98
|
||||
'Music','pop','exportischolar #1','ese','Unknown',8,125.56,317.85
|
||||
'Music','pop','exportischolar #2','able','Unknown',2,34.20,225.48
|
||||
'Children','toddlers','exportiexporti #1','eing','Unknown',5,141.31,329.98
|
||||
'Music','pop','exportischolar #2','ese','Unknown',7,21.02,209.52
|
||||
'Music','pop','exportischolar #1','bar','Unknown',6,161.20,349.48
|
||||
'Music','pop','exportischolar #1','ought','Unknown',9,157.42,343.60
|
||||
'Music','pop','exportischolar #1','eing','Unknown',7,176.33,361.83
|
||||
'Children','toddlers','exportiexporti #1','ation','Unknown',5,182.18,360.45
|
||||
'Music','pop','exportischolar #2','ese','Unknown',4,32.68,209.52
|
||||
'Children','toddlers','exportiexporti #1','able','Unknown',10,165.22,340.40
|
||||
'Music','pop','exportischolar #2','ese','Unknown',3,38.05,209.52
|
||||
'Music','pop','exportischolar #1','eing','Unknown',9,192.32,361.83
|
||||
'Music','pop','exportischolar #1','bar','Unknown',4,183.53,349.48
|
||||
'Music','pop','exportischolar #1','ought','Unknown',7,179.89,343.60
|
||||
'Music','pop','exportischolar #1','able','Unknown',7,263.93,426.09
|
||||
'Children','toddlers','exportiexporti #1','bar','Unknown',5,193.70,355.83
|
||||
'Music','pop','exportischolar #2','eing','Unknown',3,7.38,169.24
|
||||
'Children','toddlers','exportiexporti #1','ought','Unknown',5,258.30,417.00
|
||||
'Music','pop','exportischolar #2','able','Unknown',5,70.72,225.48
|
||||
'Music','pop','exportischolar #2','eing','Unknown',6,16.13,169.24
|
||||
'Music','pop','exportischolar #2','eing','Unknown',7,19.55,169.24
|
||||
'Music','pop','exportischolar #2','ation','Unknown',2,16.40,163.70
|
||||
'Children','toddlers','exportiexporti #1','ought','Unknown',7,269.70,417.00
|
||||
'Music','pop','exportischolar #1','eing','Unknown',2,215.30,361.83
|
||||
'Music','pop','exportischolar #2','eing','Unknown',2,24.03,169.24
|
||||
'Children','toddlers','exportiexporti #2','able','Unknown',4,18.03,161.25
|
||||
'Music','pop','exportischolar #1','ation','Unknown',2,190.12,331.72
|
||||
'Music','pop','exportischolar #1','ese','Unknown',5,176.92,317.85
|
||||
'Music','pop','exportischolar #2','bar','Unknown',5,25.83,165.80
|
||||
'Children','toddlers','exportiexporti #1','bar','Unknown',8,220.28,355.83
|
||||
'Music','pop','exportischolar #1','able','Unknown',2,291.65,426.09
|
||||
'Music','pop','exportischolar #2','ation','Unknown',6,29.94,163.70
|
||||
'Music','pop','exportischolar #1','bar','Unknown',2,219.04,349.48
|
||||
'Children','toddlers','exportiexporti #1','ese','Unknown',9,237.41,367.67
|
||||
'Music','pop','exportischolar #2','ese','Unknown',9,80.55,209.52
|
||||
'Music','pop','exportischolar #2','bar','Unknown',6,37.56,165.80
|
||||
'Music','pop','exportischolar #1','ese','Unknown',7,193.17,317.85
|
||||
'Children','toddlers','exportiexporti #1','ese','Unknown',8,246.38,367.67
|
||||
'Children','toddlers','exportiexporti #2','able','Unknown',1,40.09,161.25
|
||||
'Music','pop','exportischolar #2','ation','Unknown',3,42.56,163.70
|
||||
'Music','pop','exportischolar #1','ese','Unknown',2,196.95,317.85
|
||||
'Children','toddlers','exportiexporti #2','ought','Unknown',4,15.83,135.74
|
||||
'Children','toddlers','exportiexporti #2','ation','Unknown',5,15.95,135.57
|
||||
'Children','toddlers','exportiexporti #2','able','Unknown',9,42.14,161.25
|
||||
'Music','pop','exportischolar #1','bar','Unknown',3,230.96,349.48
|
||||
'Children','toddlers','exportiexporti #2','eing','Unknown',6,14.02,129.03
|
||||
'Children','toddlers','exportiexporti #2','eing','Unknown',4,15.38,129.03
|
||||
'Children','toddlers','exportiexporti #1','ought','Unknown',9,304.39,417.00
|
||||
'Children','toddlers','exportiexporti #1','ese','Unknown',5,259.99,367.67
|
||||
'Music','pop','exportischolar #1','ese','Unknown',1,210.21,317.85
|
||||
'Children','toddlers','exportiexporti #2','ation','Unknown',1,32.47,135.57
|
||||
'Children','toddlers','exportiexporti #2','ought','Unknown',5,37.35,135.74
|
||||
'Music','pop','exportischolar #2','able','Unknown',6,127.24,225.48
|
||||
'Children','toddlers','exportiexporti #1','eing','Unknown',7,236.80,329.98
|
||||
'Children','toddlers','exportiexporti #2','ese','Unknown',5,20.71,111.78
|
||||
'Music','pop','exportischolar #2','ought','Unknown',5,73.53,164.26
|
||||
'Children','toddlers','exportiexporti #2','ought','Unknown',6,45.28,135.74
|
||||
'Children','toddlers','exportiexporti #2','ation','Unknown',10,45.50,135.57
|
||||
'Music','pop','exportischolar #1','ese','Unknown',3,227.84,317.85
|
||||
'Children','toddlers','exportiexporti #2','bar','Unknown',8,50.21,138.73
|
||||
'Children','toddlers','exportiexporti #2','ese','Unknown',2,23.26,111.78
|
||||
'Sports','football','corpnameless #6','able','Unknown',12,51.78,139.99
|
||||
'Books','travel','univunivamalg #8','eing','Unknown',10,14.90,102.64
|
||||
'Home','lighting','namelessbrand #3','ought','Unknown',6,11.29,98.75
|
||||
'Music','pop','exportischolar #1','ought','Unknown',4,257.01,343.60
|
||||
'Children','toddlers','exportiexporti #1','ation','Unknown',7,274.17,360.45
|
||||
'Children','toddlers','exportiexporti #2','ese','Unknown',8,26.23,111.78
|
||||
---- TYPES
|
||||
STRING, STRING, STRING, STRING, STRING, INT, DECIMAL
|
||||
====
|
||||
STRING, STRING, STRING, STRING, STRING, INT, DECIMAL, DECIMAL
|
||||
====
|
||||
1936
testdata/workloads/tpcds/queries/tpcds-q98.test
vendored
1936
testdata/workloads/tpcds/queries/tpcds-q98.test
vendored
File diff suppressed because it is too large
Load Diff
125
tests/query_test/test_tpcds_queries.py
Normal file
125
tests/query_test/test_tpcds_queries.py
Normal file
@@ -0,0 +1,125 @@
|
||||
#!/usr/bin/env python
|
||||
# Copyright (c) 2012 Cloudera, Inc. All rights reserved.
|
||||
# Functional tests running the TPC-DS workload
|
||||
#
|
||||
import logging
|
||||
import pytest
|
||||
from tests.common.test_vector import *
|
||||
from tests.common.impala_test_suite import *
|
||||
|
||||
class TestTpcdsQuery(ImpalaTestSuite):
|
||||
@classmethod
|
||||
def get_workload(self):
|
||||
return 'tpcds'
|
||||
|
||||
@classmethod
|
||||
def add_test_dimensions(cls):
|
||||
super(TestTpcdsQuery, cls).add_test_dimensions()
|
||||
cls.TestMatrix.add_constraint(lambda v:\
|
||||
v.get_value('table_format').file_format not in ['rc', 'hbase'] and\
|
||||
v.get_value('table_format').compression_codec in ['none', 'snap'] and\
|
||||
v.get_value('table_format').compression_type != 'record')
|
||||
|
||||
if cls.exploration_strategy() != 'exhaustive':
|
||||
# Cut down on the execution time for these tests in core by running only
|
||||
# against parquet.
|
||||
cls.TestMatrix.add_constraint(lambda v:\
|
||||
v.get_value('table_format').file_format in ['parquet'])
|
||||
|
||||
cls.TestMatrix.add_constraint(lambda v:\
|
||||
v.get_value('exec_option')['batch_size'] == 0)
|
||||
|
||||
@pytest.mark.execute_serially
|
||||
# Marked serially to make sure it runs first.
|
||||
def test_tpcds_count(self, vector):
|
||||
self.run_test_case('count', vector)
|
||||
|
||||
def test_tpcds_q3(self, vector):
|
||||
self.run_test_case('tpcds-q3', vector)
|
||||
|
||||
def test_tpcds_q7(self, vector):
|
||||
self.run_test_case('tpcds-q7', vector)
|
||||
|
||||
def test_tpcds_q8(self, vector):
|
||||
self.run_test_case('tpcds-q8', vector)
|
||||
|
||||
def test_tpcds_q19(self, vector):
|
||||
self.run_test_case('tpcds-q19', vector)
|
||||
|
||||
def test_tpcds_q27(self, vector):
|
||||
self.run_test_case('tpcds-q27', vector)
|
||||
|
||||
def test_tpcds_q34(self, vector):
|
||||
self.run_test_case('tpcds-q34', vector)
|
||||
|
||||
def test_tpcds_q42(self, vector):
|
||||
self.run_test_case('tpcds-q42', vector)
|
||||
|
||||
def test_tpcds_q43(self, vector):
|
||||
self.run_test_case('tpcds-q43', vector)
|
||||
|
||||
def test_tpcds_q46(self, vector):
|
||||
self.run_test_case('tpcds-q46', vector)
|
||||
|
||||
def test_tpcds_q52(self, vector):
|
||||
self.run_test_case('tpcds-q52', vector)
|
||||
|
||||
def test_tpcds_q53(self, vector):
|
||||
self.run_test_case('tpcds-q53', vector)
|
||||
|
||||
def test_tpcds_q55(self, vector):
|
||||
self.run_test_case('tpcds-q55', vector)
|
||||
|
||||
def test_tpcds_q59(self, vector):
|
||||
self.run_test_case('tpcds-q59', vector)
|
||||
|
||||
def test_tpcds_q63(self, vector):
|
||||
self.run_test_case('tpcds-q63', vector)
|
||||
|
||||
def test_tpcds_q65(self, vector):
|
||||
self.run_test_case('tpcds-q65', vector)
|
||||
|
||||
def test_tpcds_q68(self, vector):
|
||||
self.run_test_case('tpcds-q68', vector)
|
||||
|
||||
def test_tpcds_q73(self, vector):
|
||||
self.run_test_case('tpcds-q73', vector)
|
||||
|
||||
def test_tpcds_q79(self, vector):
|
||||
self.run_test_case('tpcds-q79', vector)
|
||||
|
||||
def test_tpcds_q89(self, vector):
|
||||
self.run_test_case('tpcds-q89', vector)
|
||||
|
||||
def test_tpcds_q96(self, vector):
|
||||
self.run_test_case('tpcds-q96', vector)
|
||||
|
||||
def test_tpcds_q98(self, vector):
|
||||
self.run_test_case('tpcds-q98', vector)
|
||||
|
||||
def test_tpcds_q47(self, vector):
|
||||
self.run_test_case('tpcds-q47', vector)
|
||||
|
||||
def test_tpcds_q6(self, vector):
|
||||
self.run_test_case('tpcds-q6', vector)
|
||||
|
||||
|
||||
class TestTpcdsInsert(ImpalaTestSuite):
|
||||
@classmethod
|
||||
def get_workload(self):
|
||||
return 'tpcds-insert'
|
||||
|
||||
@classmethod
|
||||
def add_test_dimensions(cls):
|
||||
super(TestTpcdsInsert, cls).add_test_dimensions()
|
||||
cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
|
||||
cls.TestMatrix.add_constraint(lambda v:\
|
||||
is_supported_insert_format(v.get_value('table_format')))
|
||||
if cls.exploration_strategy() == 'core' and not pytest.config.option.table_formats:
|
||||
# Don't run on core, unless the user explicitly wants to validate a specific table
|
||||
# format. Each test vector takes > 30s to complete and it doesn't add much additional
|
||||
# coverage on top of what's in the functional insert test suite
|
||||
cls.TestMatrix.add_constraint(lambda v: False);
|
||||
|
||||
def test_tpcds_partitioned_insert(self, vector):
|
||||
self.run_test_case('partitioned-insert', vector)
|
||||
Reference in New Issue
Block a user