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:
ishaan
2014-08-28 18:05:45 -07:00
committed by jenkins
parent 010cc22a2f
commit e126a3c8b5
7 changed files with 1889 additions and 1352 deletions

File diff suppressed because it is too large Load Diff

View 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
====

View 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
====

View File

@@ -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
====

View File

@@ -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
====

File diff suppressed because it is too large Load Diff

View 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)