| # TPCDS-Q3 |
| select |
| dt.d_year, |
| item.i_brand_id brand_id, |
| item.i_brand brand, |
| sum(ss_ext_sales_price) sum_agg |
| from |
| date_dim dt, |
| store_sales, |
| item |
| where |
| dt.d_date_sk = store_sales.ss_sold_date_sk |
| and store_sales.ss_item_sk = item.i_item_sk |
| and item.i_manufact_id = 436 |
| and dt.d_moy = 12 |
| group by |
| dt.d_year, |
| item.i_brand, |
| item.i_brand_id |
| order by |
| dt.d_year, |
| sum_agg desc, |
| brand_id |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=29.88MB Threads=4 |
| Per-Host Resource Estimates: Memory=214MB |
| PLAN-ROOT SINK |
| | |
| 06:TOP-N [LIMIT=100] |
| | order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC |
| | row-size=52B cardinality=100 |
| | |
| 05:AGGREGATE [FINALIZE] |
| | output: sum(ss_ext_sales_price) |
| | group by: dt.d_year, item.i_brand, item.i_brand_id |
| | row-size=52B cardinality=3.04K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_sold_date_sk = dt.d_date_sk |
| | runtime filters: RF000 <- dt.d_date_sk |
| | row-size=72B cardinality=3.04K |
| | |
| |--00:SCAN HDFS [tpcds.date_dim dt] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: dt.d_moy = 12 |
| | row-size=12B cardinality=6.09K |
| | |
| 03:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_item_sk = item.i_item_sk |
| | runtime filters: RF002 <- item.i_item_sk |
| | row-size=60B cardinality=3.04K |
| | |
| |--02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: item.i_manufact_id = 436 |
| | row-size=44B cardinality=19 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF002 -> store_sales.ss_item_sk |
| row-size=16B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=34.81MB Threads=9 |
| Per-Host Resource Estimates: Memory=235MB |
| PLAN-ROOT SINK |
| | |
| 12:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC |
| | limit: 100 |
| | |
| 06:TOP-N [LIMIT=100] |
| | order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC |
| | row-size=52B cardinality=100 |
| | |
| 11:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price) |
| | group by: dt.d_year, item.i_brand, item.i_brand_id |
| | row-size=52B cardinality=3.04K |
| | |
| 10:EXCHANGE [HASH(dt.d_year,item.i_brand,item.i_brand_id)] |
| | |
| 05:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price) |
| | group by: dt.d_year, item.i_brand, item.i_brand_id |
| | row-size=52B cardinality=3.04K |
| | |
| 04:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: store_sales.ss_sold_date_sk = dt.d_date_sk |
| | runtime filters: RF000 <- dt.d_date_sk |
| | row-size=72B cardinality=3.04K |
| | |
| |--09:EXCHANGE [HASH(dt.d_date_sk)] |
| | | |
| | 00:SCAN HDFS [tpcds.date_dim dt] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: dt.d_moy = 12 |
| | row-size=12B cardinality=6.09K |
| | |
| 08:EXCHANGE [HASH(store_sales.ss_sold_date_sk)] |
| | |
| 03:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_item_sk = item.i_item_sk |
| | runtime filters: RF002 <- item.i_item_sk |
| | row-size=60B cardinality=3.04K |
| | |
| |--07:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: item.i_manufact_id = 436 |
| | row-size=44B cardinality=19 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF002 -> store_sales.ss_item_sk |
| row-size=16B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=52.62MB Threads=12 |
| Per-Host Resource Estimates: Memory=127MB |
| PLAN-ROOT SINK |
| | |
| 12:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC |
| | limit: 100 |
| | |
| 06:TOP-N [LIMIT=100] |
| | order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC |
| | row-size=52B cardinality=100 |
| | |
| 11:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price) |
| | group by: dt.d_year, item.i_brand, item.i_brand_id |
| | row-size=52B cardinality=3.04K |
| | |
| 10:EXCHANGE [HASH(dt.d_year,item.i_brand,item.i_brand_id)] |
| | |
| 05:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price) |
| | group by: dt.d_year, item.i_brand, item.i_brand_id |
| | row-size=52B cardinality=3.04K |
| | |
| 04:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: store_sales.ss_sold_date_sk = dt.d_date_sk |
| | row-size=72B cardinality=3.04K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: dt.d_date_sk |
| | | runtime filters: RF000 <- dt.d_date_sk |
| | | |
| | 09:EXCHANGE [HASH(dt.d_date_sk)] |
| | | |
| | 00:SCAN HDFS [tpcds.date_dim dt] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: dt.d_moy = 12 |
| | row-size=12B cardinality=6.09K |
| | |
| 08:EXCHANGE [HASH(store_sales.ss_sold_date_sk)] |
| | |
| 03:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_item_sk = item.i_item_sk |
| | row-size=60B cardinality=3.04K |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: item.i_item_sk |
| | | runtime filters: RF002 <- item.i_item_sk |
| | | |
| | 07:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: item.i_manufact_id = 436 |
| | row-size=44B cardinality=19 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF002 -> store_sales.ss_item_sk |
| row-size=16B cardinality=2.88M |
| ==== |
| # TPCDS-Q7 |
| select |
| i_item_id, |
| avg(ss_quantity) agg1, |
| avg(ss_list_price) agg2, |
| avg(ss_coupon_amt) agg3, |
| avg(ss_sales_price) agg4 |
| from |
| store_sales, |
| customer_demographics, |
| date_dim, |
| item, |
| promotion |
| where |
| ss_sold_date_sk = d_date_sk |
| and ss_item_sk = i_item_sk |
| and ss_cdemo_sk = cd_demo_sk |
| and ss_promo_sk = p_promo_sk |
| and cd_gender = 'F' |
| and cd_marital_status = 'W' |
| and cd_education_status = 'Primary' |
| and (p_channel_email = 'N' |
| or p_channel_event = 'N') |
| and d_year = 1998 |
| group by |
| i_item_id |
| order by |
| i_item_id |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=50.38MB Threads=6 |
| Per-Host Resource Estimates: Memory=434MB |
| PLAN-ROOT SINK |
| | |
| 10:TOP-N [LIMIT=100] |
| | order by: i_item_id ASC |
| | row-size=60B cardinality=100 |
| | |
| 09:AGGREGATE [FINALIZE] |
| | output: avg(ss_quantity), avg(ss_list_price), avg(ss_coupon_amt), avg(ss_sales_price) |
| | group by: i_item_id |
| | row-size=60B cardinality=8.85K |
| | |
| 08:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF000 <- i_item_sk |
| | row-size=162B cardinality=261.60K |
| | |
| |--03:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=36B cardinality=18.00K |
| | |
| 07:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_promo_sk = p_promo_sk |
| | runtime filters: RF002 <- p_promo_sk |
| | row-size=126B cardinality=261.60K |
| | |
| |--04:SCAN HDFS [tpcds.promotion] |
| | HDFS partitions=1/1 files=1 size=36.36KB |
| | predicates: (p_channel_email = 'N' OR p_channel_event = 'N') |
| | row-size=30B cardinality=300 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_cdemo_sk = cd_demo_sk |
| | runtime filters: RF004 <- cd_demo_sk |
| | row-size=96B cardinality=263.34K |
| | |
| |--01:SCAN HDFS [tpcds.customer_demographics] |
| | HDFS partitions=1/1 files=1 size=76.92MB |
| | predicates: cd_marital_status = 'W', cd_gender = 'F', cd_education_status = 'Primary' |
| | row-size=52B cardinality=97.40K |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF006 <- d_date_sk |
| | row-size=44B cardinality=589.03K |
| | |
| |--02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1998 |
| | row-size=8B cardinality=373 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_item_sk, RF002 -> ss_promo_sk, RF004 -> ss_cdemo_sk, RF006 -> ss_sold_date_sk |
| row-size=36B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=54.31MB Threads=12 |
| Per-Host Resource Estimates: Memory=460MB |
| PLAN-ROOT SINK |
| | |
| 17:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: i_item_id ASC |
| | limit: 100 |
| | |
| 10:TOP-N [LIMIT=100] |
| | order by: i_item_id ASC |
| | row-size=60B cardinality=100 |
| | |
| 16:AGGREGATE [FINALIZE] |
| | output: avg:merge(ss_quantity), avg:merge(ss_list_price), avg:merge(ss_coupon_amt), avg:merge(ss_sales_price) |
| | group by: i_item_id |
| | row-size=60B cardinality=8.85K |
| | |
| 15:EXCHANGE [HASH(i_item_id)] |
| | |
| 09:AGGREGATE [STREAMING] |
| | output: avg(ss_quantity), avg(ss_list_price), avg(ss_coupon_amt), avg(ss_sales_price) |
| | group by: i_item_id |
| | row-size=60B cardinality=8.85K |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF000 <- i_item_sk |
| | row-size=162B cardinality=261.60K |
| | |
| |--14:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=36B cardinality=18.00K |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_promo_sk = p_promo_sk |
| | runtime filters: RF002 <- p_promo_sk |
| | row-size=126B cardinality=261.60K |
| | |
| |--13:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.promotion] |
| | HDFS partitions=1/1 files=1 size=36.36KB |
| | predicates: (p_channel_email = 'N' OR p_channel_event = 'N') |
| | row-size=30B cardinality=300 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_cdemo_sk = cd_demo_sk |
| | runtime filters: RF004 <- cd_demo_sk |
| | row-size=96B cardinality=263.34K |
| | |
| |--12:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.customer_demographics] |
| | HDFS partitions=1/1 files=1 size=76.92MB |
| | predicates: cd_marital_status = 'W', cd_gender = 'F', cd_education_status = 'Primary' |
| | row-size=52B cardinality=97.40K |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF006 <- d_date_sk |
| | row-size=44B cardinality=589.03K |
| | |
| |--11:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1998 |
| | row-size=8B cardinality=373 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_item_sk, RF002 -> ss_promo_sk, RF004 -> ss_cdemo_sk, RF006 -> ss_sold_date_sk |
| row-size=36B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=84.56MB Threads=13 |
| Per-Host Resource Estimates: Memory=259MB |
| PLAN-ROOT SINK |
| | |
| 17:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: i_item_id ASC |
| | limit: 100 |
| | |
| 10:TOP-N [LIMIT=100] |
| | order by: i_item_id ASC |
| | row-size=60B cardinality=100 |
| | |
| 16:AGGREGATE [FINALIZE] |
| | output: avg:merge(ss_quantity), avg:merge(ss_list_price), avg:merge(ss_coupon_amt), avg:merge(ss_sales_price) |
| | group by: i_item_id |
| | row-size=60B cardinality=8.85K |
| | |
| 15:EXCHANGE [HASH(i_item_id)] |
| | |
| 09:AGGREGATE [STREAMING] |
| | output: avg(ss_quantity), avg(ss_list_price), avg(ss_coupon_amt), avg(ss_sales_price) |
| | group by: i_item_id |
| | row-size=60B cardinality=8.85K |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | row-size=162B cardinality=261.60K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: i_item_sk |
| | | runtime filters: RF000 <- i_item_sk |
| | | |
| | 14:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=36B cardinality=18.00K |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_promo_sk = p_promo_sk |
| | row-size=126B cardinality=261.60K |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: p_promo_sk |
| | | runtime filters: RF002 <- p_promo_sk |
| | | |
| | 13:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.promotion] |
| | HDFS partitions=1/1 files=1 size=36.36KB |
| | predicates: (p_channel_email = 'N' OR p_channel_event = 'N') |
| | row-size=30B cardinality=300 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_cdemo_sk = cd_demo_sk |
| | row-size=96B cardinality=263.34K |
| | |
| |--JOIN BUILD |
| | | join-table-id=02 plan-id=03 cohort-id=01 |
| | | build expressions: cd_demo_sk |
| | | runtime filters: RF004 <- cd_demo_sk |
| | | |
| | 12:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.customer_demographics] |
| | HDFS partitions=1/1 files=1 size=76.92MB |
| | predicates: cd_marital_status = 'W', cd_gender = 'F', cd_education_status = 'Primary' |
| | row-size=52B cardinality=97.40K |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | row-size=44B cardinality=589.03K |
| | |
| |--JOIN BUILD |
| | | join-table-id=03 plan-id=04 cohort-id=01 |
| | | build expressions: d_date_sk |
| | | runtime filters: RF006 <- d_date_sk |
| | | |
| | 11:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1998 |
| | row-size=8B cardinality=373 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_item_sk, RF002 -> ss_promo_sk, RF004 -> ss_cdemo_sk, RF006 -> ss_sold_date_sk |
| row-size=36B cardinality=2.88M |
| ==== |
| # TPCDS-Q8 |
| select |
| s_store_name, |
| sum(ss_net_profit) |
| from |
| store_sales |
| join store on (store_sales.ss_store_sk = store.s_store_sk) |
| join |
| (select |
| a.ca_zip |
| from |
| (select |
| substr(ca_zip, 1, 5) ca_zip, |
| count( *) cnt |
| from |
| customer_address |
| join customer on (customer_address.ca_address_sk = customer.c_current_addr_sk) |
| where |
| c_preferred_cust_flag = 'Y' |
| group by |
| ca_zip |
| having |
| count(*) > 10 |
| ) a |
| left semi join |
| (select |
| substr(ca_zip, 1, 5) ca_zip |
| from |
| customer_address |
| where |
| substr(ca_zip, 1, 5) in ('89436', '30868', '65085', '22977', '83927', '77557', '58429', '40697', '80614', '10502', '32779', |
| '91137', '61265', '98294', '17921', '18427', '21203', '59362', '87291', '84093', '21505', '17184', '10866', '67898', '25797', |
| '28055', '18377', '80332', '74535', '21757', '29742', '90885', '29898', '17819', '40811', '25990', '47513', '89531', '91068', |
| '10391', '18846', '99223', '82637', '41368', '83658', '86199', '81625', '26696', '89338', '88425', '32200', '81427', '19053', |
| '77471', '36610', '99823', '43276', '41249', '48584', '83550', '82276', '18842', '78890', '14090', '38123', '40936', '34425', |
| '19850', '43286', '80072', '79188', '54191', '11395', '50497', '84861', '90733', '21068', '57666', '37119', '25004', '57835', |
| '70067', '62878', '95806', '19303', '18840', '19124', '29785', '16737', '16022', '49613', '89977', '68310', '60069', '98360', |
| '48649', '39050', '41793', '25002', '27413', '39736', '47208', '16515', '94808', '57648', '15009', '80015', '42961', '63982', |
| '21744', '71853', '81087', '67468', '34175', '64008', '20261', '11201', '51799', '48043', '45645', '61163', '48375', '36447', |
| '57042', '21218', '41100', '89951', '22745', '35851', '83326', '61125', '78298', '80752', '49858', '52940', '96976', '63792', |
| '11376', '53582', '18717', '90226', '50530', '94203', '99447', '27670', '96577', '57856', '56372', '16165', '23427', '54561', |
| '28806', '44439', '22926', '30123', '61451', '92397', '56979', '92309', '70873', '13355', '21801', '46346', '37562', '56458', |
| '28286', '47306', '99555', '69399', '26234', '47546', '49661', '88601', '35943', '39936', '25632', '24611', '44166', '56648', |
| '30379', '59785', '11110', '14329', '93815', '52226', '71381', '13842', '25612', '63294', '14664', '21077', '82626', '18799', |
| '60915', '81020', '56447', '76619', '11433', '13414', '42548', '92713', '70467', '30884', '47484', '16072', '38936', '13036', |
| '88376', '45539', '35901', '19506', '65690', '73957', '71850', '49231', '14276', '20005', '18384', '76615', '11635', '38177', |
| '55607', '41369', '95447', '58581', '58149', '91946', '33790', '76232', '75692', '95464', '22246', '51061', '56692', '53121', |
| '77209', '15482', '10688', '14868', '45907', '73520', '72666', '25734', '17959', '24677', '66446', '94627', '53535', '15560', |
| '41967', '69297', '11929', '59403', '33283', '52232', '57350', '43933', '40921', '36635', '10827', '71286', '19736', '80619', |
| '25251', '95042', '15526', '36496', '55854', '49124', '81980', '35375', '49157', '63512', '28944', '14946', '36503', '54010', |
| '18767', '23969', '43905', '66979', '33113', '21286', '58471', '59080', '13395', '79144', '70373', '67031', '38360', '26705', |
| '50906', '52406', '26066', '73146', '15884', '31897', '30045', '61068', '45550', '92454', '13376', '14354', '19770', '22928', |
| '97790', '50723', '46081', '30202', '14410', '20223', '88500', '67298', '13261', '14172', '81410', '93578', '83583', '46047', |
| '94167', '82564', '21156', '15799', '86709', '37931', '74703', '83103', '23054', '70470', '72008', '49247', '91911', '69998', |
| '20961', '70070', '63197', '54853', '88191', '91830', '49521', '19454', '81450', '89091', '62378', '25683', '61869', '51744', |
| '36580', '85778', '36871', '48121', '28810', '83712', '45486', '67393', '26935', '42393', '20132', '55349', '86057', '21309', |
| '80218', '10094', '11357', '48819', '39734', '40758', '30432', '21204', '29467', '30214', '61024', '55307', '74621', '11622', |
| '68908', '33032', '52868', '99194', '99900', '84936', '69036', '99149', '45013', '32895', '59004', '32322', '14933', '32936', |
| '33562', '72550', '27385', '58049', '58200', '16808', '21360', '32961', '18586', '79307', '15492') |
| ) b |
| on (a.ca_zip = b.ca_zip) |
| ) v1 on (substr(store.s_zip, 1, 2) = substr(v1.ca_zip, 1, 2)) |
| where |
| ss_sold_date_sk between 2452276 and 2452366 |
| group by |
| s_store_name |
| order by |
| s_store_name |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=32.38MB Threads=6 |
| Per-Host Resource Estimates: Memory=280MB |
| PLAN-ROOT SINK |
| | |
| 11:TOP-N [LIMIT=100] |
| | order by: s_store_name ASC |
| | row-size=32B cardinality=8 |
| | |
| 10:AGGREGATE [FINALIZE] |
| | output: sum(ss_net_profit) |
| | group by: s_store_name |
| | row-size=32B cardinality=8 |
| | |
| 09:HASH JOIN [INNER JOIN] |
| | hash predicates: substr(store.s_zip, 1, 2) = substr(substr(ca_zip, 1, 5), 1, 2) |
| | runtime filters: RF000 <- substr(substr(ca_zip, 1, 5), 1, 2) |
| | row-size=65B cardinality=84.40K |
| | |
| |--07:HASH JOIN [RIGHT SEMI JOIN] |
| | | hash predicates: substr(ca_zip, 1, 5) = substr(ca_zip, 1, 5) |
| | | runtime filters: RF004 <- substr(ca_zip, 1, 5) |
| | | row-size=20B cardinality=396 |
| | | |
| | |--05:AGGREGATE [FINALIZE] |
| | | | output: count(*) |
| | | | group by: substr(ca_zip, 1, 5) |
| | | | having: count(*) > 10 |
| | | | row-size=20B cardinality=396 |
| | | | |
| | | 04:HASH JOIN [INNER JOIN] |
| | | | hash predicates: customer_address.ca_address_sk = customer.c_current_addr_sk |
| | | | runtime filters: RF006 <- customer.c_current_addr_sk |
| | | | row-size=38B cardinality=51.30K |
| | | | |
| | | |--03:SCAN HDFS [tpcds.customer] |
| | | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | | predicates: c_preferred_cust_flag = 'Y' |
| | | | row-size=17B cardinality=50.00K |
| | | | |
| | | 02:SCAN HDFS [tpcds.customer_address] |
| | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | runtime filters: RF006 -> customer_address.ca_address_sk |
| | | row-size=21B cardinality=50.00K |
| | | |
| | 06:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | predicates: substr(ca_zip, 1, 5) IN ('89436', '30868', '65085', '22977', '83927', '77557', '58429', '40697', '80614', '10502', '32779', '91137', '61265', '98294', '17921', '18427', '21203', '59362', '87291', '84093', '21505', '17184', '10866', '67898', '25797', '28055', '18377', '80332', '74535', '21757', '29742', '90885', '29898', '17819', '40811', '25990', '47513', '89531', '91068', '10391', '18846', '99223', '82637', '41368', '83658', '86199', '81625', '26696', '89338', '88425', '32200', '81427', '19053', '77471', '36610', '99823', '43276', '41249', '48584', '83550', '82276', '18842', '78890', '14090', '38123', '40936', '34425', '19850', '43286', '80072', '79188', '54191', '11395', '50497', '84861', '90733', '21068', '57666', '37119', '25004', '57835', '70067', '62878', '95806', '19303', '18840', '19124', '29785', '16737', '16022', '49613', '89977', '68310', '60069', '98360', '48649', '39050', '41793', '25002', '27413', '39736', '47208', '16515', '94808', '57648', '15009', '80015', '42961', '63982', '21744', '71853', '81087', '67468', '34175', '64008', '20261', '11201', '51799', '48043', '45645', '61163', '48375', '36447', '57042', '21218', '41100', '89951', '22745', '35851', '83326', '61125', '78298', '80752', '49858', '52940', '96976', '63792', '11376', '53582', '18717', '90226', '50530', '94203', '99447', '27670', '96577', '57856', '56372', '16165', '23427', '54561', '28806', '44439', '22926', '30123', '61451', '92397', '56979', '92309', '70873', '13355', '21801', '46346', '37562', '56458', '28286', '47306', '99555', '69399', '26234', '47546', '49661', '88601', '35943', '39936', '25632', '24611', '44166', '56648', '30379', '59785', '11110', '14329', '93815', '52226', '71381', '13842', '25612', '63294', '14664', '21077', '82626', '18799', '60915', '81020', '56447', '76619', '11433', '13414', '42548', '92713', '70467', '30884', '47484', '16072', '38936', '13036', '88376', '45539', '35901', '19506', '65690', '73957', '71850', '49231', '14276', '20005', '18384', '76615', '11635', '38177', '55607', '41369', '95447', '58581', '58149', '91946', '33790', '76232', '75692', '95464', '22246', '51061', '56692', '53121', '77209', '15482', '10688', '14868', '45907', '73520', '72666', '25734', '17959', '24677', '66446', '94627', '53535', '15560', '41967', '69297', '11929', '59403', '33283', '52232', '57350', '43933', '40921', '36635', '10827', '71286', '19736', '80619', '25251', '95042', '15526', '36496', '55854', '49124', '81980', '35375', '49157', '63512', '28944', '14946', '36503', '54010', '18767', '23969', '43905', '66979', '33113', '21286', '58471', '59080', '13395', '79144', '70373', '67031', '38360', '26705', '50906', '52406', '26066', '73146', '15884', '31897', '30045', '61068', '45550', '92454', '13376', '14354', '19770', '22928', '97790', '50723', '46081', '30202', '14410', '20223', '88500', '67298', '13261', '14172', '81410', '93578', '83583', '46047', '94167', '82564', '21156', '15799', '86709', '37931', '74703', '83103', '23054', '70470', '72008', '49247', '91911', '69998', '20961', '70070', '63197', '54853', '88191', '91830', '49521', '19454', '81450', '89091', '62378', '25683', '61869', '51744', '36580', '85778', '36871', '48121', '28810', '83712', '45486', '67393', '26935', '42393', '20132', '55349', '86057', '21309', '80218', '10094', '11357', '48819', '39734', '40758', '30432', '21204', '29467', '30214', '61024', '55307', '74621', '11622', '68908', '33032', '52868', '99194', '99900', '84936', '69036', '99149', '45013', '32895', '59004', '32322', '14933', '32936', '33562', '72550', '27385', '58049', '58200', '16808', '21360', '32961', '18586', '79307', '15492') |
| | runtime filters: RF004 -> substr(ca_zip, 1, 5) |
| | row-size=17B cardinality=5.00K |
| | |
| 08:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | runtime filters: RF002 <- store.s_store_sk |
| | row-size=45B cardinality=84.40K |
| | |
| |--01:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | runtime filters: RF000 -> substr(store.s_zip, 1, 2) |
| | row-size=37B cardinality=12 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| partition predicates: ss_sold_date_sk >= 2452276, ss_sold_date_sk <= 2452366 |
| HDFS partitions=90/1824 files=90 size=10.32MB |
| runtime filters: RF002 -> store_sales.ss_store_sk |
| row-size=8B cardinality=84.40K |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=46.13MB Threads=13 |
| Per-Host Resource Estimates: Memory=327MB |
| PLAN-ROOT SINK |
| | |
| 20:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: s_store_name ASC |
| | limit: 100 |
| | |
| 11:TOP-N [LIMIT=100] |
| | order by: s_store_name ASC |
| | row-size=32B cardinality=8 |
| | |
| 19:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_net_profit) |
| | group by: s_store_name |
| | row-size=32B cardinality=8 |
| | |
| 18:EXCHANGE [HASH(s_store_name)] |
| | |
| 10:AGGREGATE [STREAMING] |
| | output: sum(ss_net_profit) |
| | group by: s_store_name |
| | row-size=32B cardinality=8 |
| | |
| 09:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: substr(store.s_zip, 1, 2) = substr(substr(ca_zip, 1, 5), 1, 2) |
| | runtime filters: RF000 <- substr(substr(ca_zip, 1, 5), 1, 2) |
| | row-size=65B cardinality=84.40K |
| | |
| |--17:EXCHANGE [BROADCAST] |
| | | |
| | 07:HASH JOIN [RIGHT SEMI JOIN, PARTITIONED] |
| | | hash predicates: substr(ca_zip, 1, 5) = substr(ca_zip, 1, 5) |
| | | runtime filters: RF004 <- substr(ca_zip, 1, 5) |
| | | row-size=20B cardinality=396 |
| | | |
| | |--15:AGGREGATE [FINALIZE] |
| | | | output: count:merge(*) |
| | | | group by: substr(ca_zip, 1, 5) |
| | | | having: count(*) > 10 |
| | | | row-size=20B cardinality=396 |
| | | | |
| | | 14:EXCHANGE [HASH(substr(ca_zip, 1, 5))] |
| | | | |
| | | 05:AGGREGATE [STREAMING] |
| | | | output: count(*) |
| | | | group by: substr(ca_zip, 1, 5) |
| | | | row-size=20B cardinality=3.96K |
| | | | |
| | | 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | | | hash predicates: customer_address.ca_address_sk = customer.c_current_addr_sk |
| | | | runtime filters: RF006 <- customer.c_current_addr_sk |
| | | | row-size=38B cardinality=51.30K |
| | | | |
| | | |--13:EXCHANGE [BROADCAST] |
| | | | | |
| | | | 03:SCAN HDFS [tpcds.customer] |
| | | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | | predicates: c_preferred_cust_flag = 'Y' |
| | | | row-size=17B cardinality=50.00K |
| | | | |
| | | 02:SCAN HDFS [tpcds.customer_address] |
| | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | runtime filters: RF006 -> customer_address.ca_address_sk |
| | | row-size=21B cardinality=50.00K |
| | | |
| | 16:EXCHANGE [HASH(substr(ca_zip, 1, 5))] |
| | | |
| | 06:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | predicates: substr(ca_zip, 1, 5) IN ('89436', '30868', '65085', '22977', '83927', '77557', '58429', '40697', '80614', '10502', '32779', '91137', '61265', '98294', '17921', '18427', '21203', '59362', '87291', '84093', '21505', '17184', '10866', '67898', '25797', '28055', '18377', '80332', '74535', '21757', '29742', '90885', '29898', '17819', '40811', '25990', '47513', '89531', '91068', '10391', '18846', '99223', '82637', '41368', '83658', '86199', '81625', '26696', '89338', '88425', '32200', '81427', '19053', '77471', '36610', '99823', '43276', '41249', '48584', '83550', '82276', '18842', '78890', '14090', '38123', '40936', '34425', '19850', '43286', '80072', '79188', '54191', '11395', '50497', '84861', '90733', '21068', '57666', '37119', '25004', '57835', '70067', '62878', '95806', '19303', '18840', '19124', '29785', '16737', '16022', '49613', '89977', '68310', '60069', '98360', '48649', '39050', '41793', '25002', '27413', '39736', '47208', '16515', '94808', '57648', '15009', '80015', '42961', '63982', '21744', '71853', '81087', '67468', '34175', '64008', '20261', '11201', '51799', '48043', '45645', '61163', '48375', '36447', '57042', '21218', '41100', '89951', '22745', '35851', '83326', '61125', '78298', '80752', '49858', '52940', '96976', '63792', '11376', '53582', '18717', '90226', '50530', '94203', '99447', '27670', '96577', '57856', '56372', '16165', '23427', '54561', '28806', '44439', '22926', '30123', '61451', '92397', '56979', '92309', '70873', '13355', '21801', '46346', '37562', '56458', '28286', '47306', '99555', '69399', '26234', '47546', '49661', '88601', '35943', '39936', '25632', '24611', '44166', '56648', '30379', '59785', '11110', '14329', '93815', '52226', '71381', '13842', '25612', '63294', '14664', '21077', '82626', '18799', '60915', '81020', '56447', '76619', '11433', '13414', '42548', '92713', '70467', '30884', '47484', '16072', '38936', '13036', '88376', '45539', '35901', '19506', '65690', '73957', '71850', '49231', '14276', '20005', '18384', '76615', '11635', '38177', '55607', '41369', '95447', '58581', '58149', '91946', '33790', '76232', '75692', '95464', '22246', '51061', '56692', '53121', '77209', '15482', '10688', '14868', '45907', '73520', '72666', '25734', '17959', '24677', '66446', '94627', '53535', '15560', '41967', '69297', '11929', '59403', '33283', '52232', '57350', '43933', '40921', '36635', '10827', '71286', '19736', '80619', '25251', '95042', '15526', '36496', '55854', '49124', '81980', '35375', '49157', '63512', '28944', '14946', '36503', '54010', '18767', '23969', '43905', '66979', '33113', '21286', '58471', '59080', '13395', '79144', '70373', '67031', '38360', '26705', '50906', '52406', '26066', '73146', '15884', '31897', '30045', '61068', '45550', '92454', '13376', '14354', '19770', '22928', '97790', '50723', '46081', '30202', '14410', '20223', '88500', '67298', '13261', '14172', '81410', '93578', '83583', '46047', '94167', '82564', '21156', '15799', '86709', '37931', '74703', '83103', '23054', '70470', '72008', '49247', '91911', '69998', '20961', '70070', '63197', '54853', '88191', '91830', '49521', '19454', '81450', '89091', '62378', '25683', '61869', '51744', '36580', '85778', '36871', '48121', '28810', '83712', '45486', '67393', '26935', '42393', '20132', '55349', '86057', '21309', '80218', '10094', '11357', '48819', '39734', '40758', '30432', '21204', '29467', '30214', '61024', '55307', '74621', '11622', '68908', '33032', '52868', '99194', '99900', '84936', '69036', '99149', '45013', '32895', '59004', '32322', '14933', '32936', '33562', '72550', '27385', '58049', '58200', '16808', '21360', '32961', '18586', '79307', '15492') |
| | runtime filters: RF004 -> substr(ca_zip, 1, 5) |
| | row-size=17B cardinality=5.00K |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | runtime filters: RF002 <- store.s_store_sk |
| | row-size=45B cardinality=84.40K |
| | |
| |--12:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | runtime filters: RF000 -> substr(store.s_zip, 1, 2) |
| | row-size=37B cardinality=12 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| partition predicates: ss_sold_date_sk >= 2452276, ss_sold_date_sk <= 2452366 |
| HDFS partitions=90/1824 files=90 size=10.32MB |
| runtime filters: RF002 -> store_sales.ss_store_sk |
| row-size=8B cardinality=84.40K |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=58.38MB Threads=14 |
| Per-Host Resource Estimates: Memory=187MB |
| PLAN-ROOT SINK |
| | |
| 20:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: s_store_name ASC |
| | limit: 100 |
| | |
| 11:TOP-N [LIMIT=100] |
| | order by: s_store_name ASC |
| | row-size=32B cardinality=8 |
| | |
| 19:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_net_profit) |
| | group by: s_store_name |
| | row-size=32B cardinality=8 |
| | |
| 18:EXCHANGE [HASH(s_store_name)] |
| | |
| 10:AGGREGATE [STREAMING] |
| | output: sum(ss_net_profit) |
| | group by: s_store_name |
| | row-size=32B cardinality=8 |
| | |
| 09:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: substr(store.s_zip, 1, 2) = substr(substr(ca_zip, 1, 5), 1, 2) |
| | row-size=65B cardinality=84.40K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: substr(substr(ca_zip, 1, 5), 1, 2) |
| | | runtime filters: RF000 <- substr(substr(ca_zip, 1, 5), 1, 2) |
| | | |
| | 17:EXCHANGE [BROADCAST] |
| | | |
| | 07:HASH JOIN [RIGHT SEMI JOIN, PARTITIONED] |
| | | hash predicates: substr(ca_zip, 1, 5) = substr(ca_zip, 1, 5) |
| | | row-size=20B cardinality=396 |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=01 plan-id=02 cohort-id=02 |
| | | | build expressions: substr(ca_zip, 1, 5) |
| | | | runtime filters: RF004 <- substr(ca_zip, 1, 5) |
| | | | |
| | | 15:AGGREGATE [FINALIZE] |
| | | | output: count:merge(*) |
| | | | group by: substr(ca_zip, 1, 5) |
| | | | having: count(*) > 10 |
| | | | row-size=20B cardinality=396 |
| | | | |
| | | 14:EXCHANGE [HASH(substr(ca_zip, 1, 5))] |
| | | | |
| | | 05:AGGREGATE [STREAMING] |
| | | | output: count(*) |
| | | | group by: substr(ca_zip, 1, 5) |
| | | | row-size=20B cardinality=3.96K |
| | | | |
| | | 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | | | hash predicates: customer_address.ca_address_sk = customer.c_current_addr_sk |
| | | | row-size=38B cardinality=51.30K |
| | | | |
| | | |--JOIN BUILD |
| | | | | join-table-id=02 plan-id=03 cohort-id=03 |
| | | | | build expressions: customer.c_current_addr_sk |
| | | | | runtime filters: RF006 <- customer.c_current_addr_sk |
| | | | | |
| | | | 13:EXCHANGE [BROADCAST] |
| | | | | |
| | | | 03:SCAN HDFS [tpcds.customer] |
| | | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | | predicates: c_preferred_cust_flag = 'Y' |
| | | | row-size=17B cardinality=50.00K |
| | | | |
| | | 02:SCAN HDFS [tpcds.customer_address] |
| | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | runtime filters: RF006 -> customer_address.ca_address_sk |
| | | row-size=21B cardinality=50.00K |
| | | |
| | 16:EXCHANGE [HASH(substr(ca_zip, 1, 5))] |
| | | |
| | 06:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | predicates: substr(ca_zip, 1, 5) IN ('89436', '30868', '65085', '22977', '83927', '77557', '58429', '40697', '80614', '10502', '32779', '91137', '61265', '98294', '17921', '18427', '21203', '59362', '87291', '84093', '21505', '17184', '10866', '67898', '25797', '28055', '18377', '80332', '74535', '21757', '29742', '90885', '29898', '17819', '40811', '25990', '47513', '89531', '91068', '10391', '18846', '99223', '82637', '41368', '83658', '86199', '81625', '26696', '89338', '88425', '32200', '81427', '19053', '77471', '36610', '99823', '43276', '41249', '48584', '83550', '82276', '18842', '78890', '14090', '38123', '40936', '34425', '19850', '43286', '80072', '79188', '54191', '11395', '50497', '84861', '90733', '21068', '57666', '37119', '25004', '57835', '70067', '62878', '95806', '19303', '18840', '19124', '29785', '16737', '16022', '49613', '89977', '68310', '60069', '98360', '48649', '39050', '41793', '25002', '27413', '39736', '47208', '16515', '94808', '57648', '15009', '80015', '42961', '63982', '21744', '71853', '81087', '67468', '34175', '64008', '20261', '11201', '51799', '48043', '45645', '61163', '48375', '36447', '57042', '21218', '41100', '89951', '22745', '35851', '83326', '61125', '78298', '80752', '49858', '52940', '96976', '63792', '11376', '53582', '18717', '90226', '50530', '94203', '99447', '27670', '96577', '57856', '56372', '16165', '23427', '54561', '28806', '44439', '22926', '30123', '61451', '92397', '56979', '92309', '70873', '13355', '21801', '46346', '37562', '56458', '28286', '47306', '99555', '69399', '26234', '47546', '49661', '88601', '35943', '39936', '25632', '24611', '44166', '56648', '30379', '59785', '11110', '14329', '93815', '52226', '71381', '13842', '25612', '63294', '14664', '21077', '82626', '18799', '60915', '81020', '56447', '76619', '11433', '13414', '42548', '92713', '70467', '30884', '47484', '16072', '38936', '13036', '88376', '45539', '35901', '19506', '65690', '73957', '71850', '49231', '14276', '20005', '18384', '76615', '11635', '38177', '55607', '41369', '95447', '58581', '58149', '91946', '33790', '76232', '75692', '95464', '22246', '51061', '56692', '53121', '77209', '15482', '10688', '14868', '45907', '73520', '72666', '25734', '17959', '24677', '66446', '94627', '53535', '15560', '41967', '69297', '11929', '59403', '33283', '52232', '57350', '43933', '40921', '36635', '10827', '71286', '19736', '80619', '25251', '95042', '15526', '36496', '55854', '49124', '81980', '35375', '49157', '63512', '28944', '14946', '36503', '54010', '18767', '23969', '43905', '66979', '33113', '21286', '58471', '59080', '13395', '79144', '70373', '67031', '38360', '26705', '50906', '52406', '26066', '73146', '15884', '31897', '30045', '61068', '45550', '92454', '13376', '14354', '19770', '22928', '97790', '50723', '46081', '30202', '14410', '20223', '88500', '67298', '13261', '14172', '81410', '93578', '83583', '46047', '94167', '82564', '21156', '15799', '86709', '37931', '74703', '83103', '23054', '70470', '72008', '49247', '91911', '69998', '20961', '70070', '63197', '54853', '88191', '91830', '49521', '19454', '81450', '89091', '62378', '25683', '61869', '51744', '36580', '85778', '36871', '48121', '28810', '83712', '45486', '67393', '26935', '42393', '20132', '55349', '86057', '21309', '80218', '10094', '11357', '48819', '39734', '40758', '30432', '21204', '29467', '30214', '61024', '55307', '74621', '11622', '68908', '33032', '52868', '99194', '99900', '84936', '69036', '99149', '45013', '32895', '59004', '32322', '14933', '32936', '33562', '72550', '27385', '58049', '58200', '16808', '21360', '32961', '18586', '79307', '15492') |
| | runtime filters: RF004 -> substr(ca_zip, 1, 5) |
| | row-size=17B cardinality=5.00K |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | row-size=45B cardinality=84.40K |
| | |
| |--JOIN BUILD |
| | | join-table-id=03 plan-id=04 cohort-id=01 |
| | | build expressions: store.s_store_sk |
| | | runtime filters: RF002 <- store.s_store_sk |
| | | |
| | 12:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | runtime filters: RF000 -> substr(store.s_zip, 1, 2) |
| | row-size=37B cardinality=12 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| partition predicates: ss_sold_date_sk >= 2452276, ss_sold_date_sk <= 2452366 |
| HDFS partitions=90/1824 files=90 size=10.32MB |
| runtime filters: RF002 -> store_sales.ss_store_sk |
| row-size=8B cardinality=84.40K |
| ==== |
| # TPCDS-Q13 |
| select avg(ss_quantity) |
| ,avg(ss_ext_sales_price) |
| ,avg(ss_ext_wholesale_cost) |
| ,sum(ss_ext_wholesale_cost) |
| from store_sales |
| ,store |
| ,customer_demographics |
| ,household_demographics |
| ,customer_address |
| ,date_dim |
| where s_store_sk = ss_store_sk |
| and ss_sold_date_sk = d_date_sk and d_year = 2001 |
| and((ss_hdemo_sk=hd_demo_sk |
| and cd_demo_sk = ss_cdemo_sk |
| and cd_marital_status = 'M' |
| and cd_education_status = 'Advanced Degree' |
| and ss_sales_price between 100.00 and 150.00 |
| and hd_dep_count = 3 |
| )or |
| (ss_hdemo_sk=hd_demo_sk |
| and cd_demo_sk = ss_cdemo_sk |
| and cd_marital_status = 'S' |
| and cd_education_status = 'College' |
| and ss_sales_price between 50.00 and 100.00 |
| and hd_dep_count = 1 |
| ) or |
| (ss_hdemo_sk=hd_demo_sk |
| and cd_demo_sk = ss_cdemo_sk |
| and cd_marital_status = 'W' |
| and cd_education_status = '2 yr Degree' |
| and ss_sales_price between 150.00 and 200.00 |
| and hd_dep_count = 1 |
| )) |
| and((ss_addr_sk = ca_address_sk |
| and ca_country = 'United States' |
| and ca_state in ('TX', 'OH', 'TX') |
| and ss_net_profit between 100 and 200 |
| ) or |
| (ss_addr_sk = ca_address_sk |
| and ca_country = 'United States' |
| and ca_state in ('OR', 'NM', 'KY') |
| and ss_net_profit between 150 and 300 |
| ) or |
| (ss_addr_sk = ca_address_sk |
| and ca_country = 'United States' |
| and ca_state in ('VA', 'TX', 'MS') |
| and ss_net_profit between 50 and 250 |
| )) |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=45.01MB Threads=7 |
| Per-Host Resource Estimates: Memory=461MB |
| PLAN-ROOT SINK |
| | |
| 11:AGGREGATE [FINALIZE] |
| | output: avg(ss_quantity), avg(ss_ext_sales_price), avg(ss_ext_wholesale_cost), sum(ss_ext_wholesale_cost) |
| | row-size=40B cardinality=1 |
| | |
| 10:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=142B cardinality=2.55K |
| | |
| |--01:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=4B cardinality=12 |
| | |
| 09:HASH JOIN [INNER JOIN] |
| | hash predicates: cd_demo_sk = ss_cdemo_sk |
| | other predicates: cd_education_status = 'Advanced Degree' OR cd_marital_status = 'S' AND cd_education_status = 'College' OR hd_dep_count = 1, cd_marital_status = 'M' OR cd_marital_status = 'S' AND cd_education_status = 'College' OR hd_dep_count = 1, hd_dep_count = 3 OR cd_education_status = 'College' OR hd_dep_count = 1, cd_education_status = 'Advanced Degree' OR hd_dep_count = 1 OR hd_dep_count = 1, hd_dep_count IN (3, 1) OR cd_education_status = '2 yr Degree', hd_dep_count = 3 OR cd_education_status = 'College' OR cd_education_status = '2 yr Degree', cd_education_status = 'Advanced Degree' OR hd_dep_count = 1 OR cd_education_status = '2 yr Degree', cd_marital_status = 'M' OR hd_dep_count = 1 OR hd_dep_count = 1, hd_dep_count = 3 OR cd_marital_status = 'S' OR hd_dep_count = 1, hd_dep_count IN (3, 1) OR cd_marital_status = 'W', hd_dep_count = 3 OR cd_education_status = 'College' OR cd_marital_status = 'W', cd_marital_status = 'M' OR hd_dep_count = 1 OR cd_education_status = '2 yr Degree', hd_dep_count = 3 OR cd_marital_status = 'S' OR cd_education_status = '2 yr Degree', cd_education_status = 'Advanced Degree' OR hd_dep_count = 1 OR cd_marital_status = 'W', cd_marital_status = 'M' OR hd_dep_count = 1 OR cd_marital_status = 'W', hd_dep_count = 3 OR cd_marital_status = 'S' OR cd_marital_status = 'W', cd_marital_status = 'M' OR hd_dep_count = 1 OR ss_sales_price <= 200.00, cd_marital_status = 'M' OR hd_dep_count = 1 OR ss_sales_price >= 150.00, cd_marital_status = 'M' OR ss_sales_price <= 100.00 OR hd_dep_count = 1, cd_marital_status = 'M' OR ss_sales_price <= 100.00 OR ss_sales_price <= 200.00, cd_marital_status = 'M' OR ss_sales_price <= 100.00 OR ss_sales_price >= 150.00, cd_marital_status = 'M' OR ss_sales_price >= 50.00 OR hd_dep_count = 1, cd_marital_status = 'M' OR ss_sales_price >= 50.00 OR ss_sales_price <= 200.00, cd_marital_status = 'M' OR ss_sales_price >= 50.00 OR ss_sales_price >= 150.00, hd_dep_count = 3 OR cd_marital_status = 'S' OR ss_sales_price <= 200.00, hd_dep_count = 3 OR cd_marital_status = 'S' OR ss_sales_price >= 150.00, hd_dep_count = 3 OR ss_sales_price <= 100.00 OR cd_marital_status = 'W', hd_dep_count = 3 OR ss_sales_price >= 50.00 OR cd_marital_status = 'W', ss_sales_price <= 150.00 OR cd_marital_status = 'S' OR hd_dep_count = 1, ss_sales_price <= 150.00 OR cd_marital_status = 'S' OR ss_sales_price <= 200.00, ss_sales_price <= 150.00 OR cd_marital_status = 'S' OR ss_sales_price >= 150.00, ss_sales_price <= 150.00 OR hd_dep_count = 1 OR cd_marital_status = 'W', ss_sales_price <= 150.00 OR ss_sales_price <= 100.00 OR cd_marital_status = 'W', ss_sales_price <= 150.00 OR ss_sales_price >= 50.00 OR cd_marital_status = 'W', ss_sales_price >= 100.00 OR cd_marital_status = 'S' OR hd_dep_count = 1, ss_sales_price >= 100.00 OR cd_marital_status = 'S' OR ss_sales_price <= 200.00, ss_sales_price >= 100.00 OR cd_marital_status = 'S' OR ss_sales_price >= 150.00, ss_sales_price >= 100.00 OR hd_dep_count = 1 OR cd_marital_status = 'W', ss_sales_price >= 100.00 OR ss_sales_price <= 100.00 OR cd_marital_status = 'W', ss_sales_price >= 100.00 OR ss_sales_price >= 50.00 OR cd_marital_status = 'W', cd_marital_status = 'M' OR ss_sales_price <= 100.00 OR cd_marital_status = 'W', cd_marital_status = 'M' OR ss_sales_price >= 50.00 OR cd_marital_status = 'W', ss_sales_price <= 150.00 OR cd_marital_status = 'S' OR cd_marital_status = 'W', ss_sales_price >= 100.00 OR cd_marital_status = 'S' OR cd_marital_status = 'W', hd_dep_count = 3 OR cd_education_status = 'College' OR ss_sales_price <= 200.00, hd_dep_count = 3 OR cd_education_status = 'College' OR ss_sales_price >= 150.00, ss_sales_price <= 150.00 OR cd_education_status = 'College' OR hd_dep_count = 1, ss_sales_price <= 150.00 OR cd_education_status = 'College' OR ss_sales_price <= 200.00, ss_sales_price <= 150.00 OR cd_education_status = 'College' OR ss_sales_price >= 150.00, ss_sales_price >= 100.00 OR cd_education_status = 'College' OR hd_dep_count = 1, ss_sales_price >= 100.00 OR cd_education_status = 'College' OR ss_sales_price <= 200.00, ss_sales_price >= 100.00 OR cd_education_status = 'College' OR ss_sales_price >= 150.00, ss_sales_price <= 150.00 OR cd_education_status = 'College' OR cd_marital_status = 'W', ss_sales_price >= 100.00 OR cd_education_status = 'College' OR cd_marital_status = 'W', hd_dep_count = 3 OR ss_sales_price <= 100.00 OR cd_education_status = '2 yr Degree', hd_dep_count = 3 OR ss_sales_price >= 50.00 OR cd_education_status = '2 yr Degree', ss_sales_price <= 150.00 OR hd_dep_count = 1 OR cd_education_status = '2 yr Degree', ss_sales_price <= 150.00 OR ss_sales_price <= 100.00 OR cd_education_status = '2 yr Degree', ss_sales_price <= 150.00 OR ss_sales_price >= 50.00 OR cd_education_status = '2 yr Degree', ss_sales_price >= 100.00 OR hd_dep_count = 1 OR cd_education_status = '2 yr Degree', ss_sales_price >= 100.00 OR ss_sales_price <= 100.00 OR cd_education_status = '2 yr Degree', ss_sales_price >= 100.00 OR ss_sales_price >= 50.00 OR cd_education_status = '2 yr Degree', cd_marital_status = 'M' OR ss_sales_price <= 100.00 OR cd_education_status = '2 yr Degree', cd_marital_status = 'M' OR ss_sales_price >= 50.00 OR cd_education_status = '2 yr Degree', ss_sales_price <= 150.00 OR cd_marital_status = 'S' OR cd_education_status = '2 yr Degree', ss_sales_price >= 100.00 OR cd_marital_status = 'S' OR cd_education_status = '2 yr Degree', cd_marital_status = 'M' OR cd_marital_status = 'S' AND cd_education_status = 'College' OR ss_sales_price <= 200.00, cd_marital_status = 'M' OR cd_marital_status = 'S' AND cd_education_status = 'College' OR ss_sales_price >= 150.00, cd_education_status = 'Advanced Degree' OR hd_dep_count = 1 OR ss_sales_price <= 200.00, cd_education_status = 'Advanced Degree' OR hd_dep_count = 1 OR ss_sales_price >= 150.00, cd_education_status = 'Advanced Degree' OR ss_sales_price <= 100.00 OR hd_dep_count = 1, cd_education_status = 'Advanced Degree' OR ss_sales_price <= 100.00 OR ss_sales_price <= 200.00, cd_education_status = 'Advanced Degree' OR ss_sales_price <= 100.00 OR ss_sales_price >= 150.00, cd_education_status = 'Advanced Degree' OR ss_sales_price >= 50.00 OR hd_dep_count = 1, cd_education_status = 'Advanced Degree' OR ss_sales_price >= 50.00 OR ss_sales_price <= 200.00, cd_education_status = 'Advanced Degree' OR ss_sales_price >= 50.00 OR ss_sales_price >= 150.00, cd_education_status = 'Advanced Degree' OR ss_sales_price <= 100.00 OR cd_marital_status = 'W', cd_education_status = 'Advanced Degree' OR ss_sales_price >= 50.00 OR cd_marital_status = 'W', ss_sales_price <= 150.00 OR cd_education_status = 'College' OR cd_education_status = '2 yr Degree', ss_sales_price >= 100.00 OR cd_education_status = 'College' OR cd_education_status = '2 yr Degree', cd_education_status = 'Advanced Degree' OR ss_sales_price <= 100.00 OR cd_education_status = '2 yr Degree', cd_education_status = 'Advanced Degree' OR ss_sales_price >= 50.00 OR cd_education_status = '2 yr Degree', cd_education_status = 'Advanced Degree' OR cd_marital_status = 'S' AND cd_education_status = 'College' OR ss_sales_price <= 200.00, cd_education_status = 'Advanced Degree' OR cd_marital_status = 'S' AND cd_education_status = 'College' OR ss_sales_price >= 150.00 |
| | runtime filters: RF002 <- ss_cdemo_sk |
| | row-size=138B cardinality=2.55K |
| | |
| |--08:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_hdemo_sk = hd_demo_sk |
| | | other predicates: hd_dep_count IN (3, 1) OR ss_sales_price <= 200.00, hd_dep_count IN (3, 1) OR ss_sales_price >= 150.00, hd_dep_count = 3 OR ss_sales_price <= 100.00 OR hd_dep_count = 1, hd_dep_count = 3 OR ss_sales_price <= 100.00 OR ss_sales_price <= 200.00, hd_dep_count = 3 OR ss_sales_price <= 100.00 OR ss_sales_price >= 150.00, hd_dep_count = 3 OR ss_sales_price >= 50.00 OR hd_dep_count = 1, hd_dep_count = 3 OR ss_sales_price >= 50.00 OR ss_sales_price <= 200.00, hd_dep_count = 3 OR ss_sales_price >= 50.00 OR ss_sales_price >= 150.00, ss_sales_price <= 150.00 OR hd_dep_count = 1 OR hd_dep_count = 1, ss_sales_price <= 150.00 OR hd_dep_count = 1 OR ss_sales_price <= 200.00, ss_sales_price <= 150.00 OR hd_dep_count = 1 OR ss_sales_price >= 150.00, ss_sales_price <= 150.00 OR ss_sales_price <= 100.00 OR hd_dep_count = 1, ss_sales_price <= 150.00 OR ss_sales_price >= 50.00 OR hd_dep_count = 1, ss_sales_price >= 100.00 OR hd_dep_count = 1 OR hd_dep_count = 1, ss_sales_price >= 100.00 OR hd_dep_count = 1 OR ss_sales_price <= 200.00, ss_sales_price >= 100.00 OR hd_dep_count = 1 OR ss_sales_price >= 150.00, ss_sales_price >= 100.00 OR ss_sales_price <= 100.00 OR hd_dep_count = 1, ss_sales_price >= 100.00 OR ss_sales_price >= 50.00 OR hd_dep_count = 1 |
| | | runtime filters: RF004 <- hd_demo_sk |
| | | row-size=99B cardinality=3.05K |
| | | |
| | |--03:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: hd_dep_count IN (3, 1, 1) |
| | | row-size=8B cardinality=2.16K |
| | | |
| | 07:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | runtime filters: RF006 <- d_date_sk |
| | | row-size=91B cardinality=10.43K |
| | | |
| | |--05:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_year = 2001 |
| | | row-size=8B cardinality=373 |
| | | |
| | 06:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_addr_sk = ca_address_sk |
| | | other predicates: ca_state IN ('TX', 'OH', 'TX') OR ss_net_profit <= 300 OR ss_net_profit <= 250, ca_state IN ('TX', 'OH', 'TX') OR ss_net_profit <= 300 OR ss_net_profit >= 50, ca_state IN ('TX', 'OH', 'TX') OR ss_net_profit >= 150 OR ss_net_profit <= 250, ca_state IN ('TX', 'OH', 'TX') OR ss_net_profit >= 150 OR ss_net_profit >= 50, ss_net_profit <= 200 OR ca_state IN ('OR', 'NM', 'KY') OR ss_net_profit <= 250, ss_net_profit <= 200 OR ca_state IN ('OR', 'NM', 'KY') OR ss_net_profit >= 50, ss_net_profit <= 200 OR ss_net_profit <= 300 OR ca_state IN ('VA', 'TX', 'MS'), ss_net_profit <= 200 OR ss_net_profit >= 150 OR ca_state IN ('VA', 'TX', 'MS'), ss_net_profit >= 100 OR ca_state IN ('OR', 'NM', 'KY') OR ss_net_profit <= 250, ss_net_profit >= 100 OR ca_state IN ('OR', 'NM', 'KY') OR ss_net_profit >= 50, ss_net_profit >= 100 OR ss_net_profit <= 300 OR ca_state IN ('VA', 'TX', 'MS'), ss_net_profit >= 100 OR ss_net_profit >= 150 OR ca_state IN ('VA', 'TX', 'MS'), ca_state IN ('TX', 'OH', 'TX', 'OR', 'NM', 'KY') OR ss_net_profit <= 250, ca_state IN ('TX', 'OH', 'TX', 'OR', 'NM', 'KY') OR ss_net_profit >= 50, ca_state IN ('TX', 'OH', 'TX') OR ss_net_profit <= 300 OR ca_state IN ('VA', 'TX', 'MS'), ca_state IN ('TX', 'OH', 'TX') OR ss_net_profit >= 150 OR ca_state IN ('VA', 'TX', 'MS'), ss_net_profit <= 200 OR ca_state IN ('OR', 'NM', 'KY') OR ca_state IN ('VA', 'TX', 'MS'), ss_net_profit >= 100 OR ca_state IN ('OR', 'NM', 'KY') OR ca_state IN ('VA', 'TX', 'MS') |
| | | runtime filters: RF008 <- ca_address_sk |
| | | row-size=83B cardinality=50.98K |
| | | |
| | |--04:SCAN HDFS [tpcds.customer_address] |
| | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | predicates: ca_state IN ('TX', 'OH', 'TX', 'OR', 'NM', 'KY', 'VA', 'TX', 'MS'), ca_country = 'United States' |
| | | row-size=43B cardinality=8.82K |
| | | |
| | 00:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_net_profit <= 200 OR ss_net_profit <= 300 OR ss_net_profit <= 250, ss_net_profit <= 200 OR ss_net_profit <= 300 OR ss_net_profit >= 50, ss_net_profit <= 200 OR ss_net_profit >= 150 OR ss_net_profit <= 250, ss_net_profit <= 200 OR ss_net_profit >= 150 OR ss_net_profit >= 50, ss_net_profit >= 100 OR ss_net_profit <= 300 OR ss_net_profit <= 250, ss_net_profit >= 100 OR ss_net_profit <= 300 OR ss_net_profit >= 50, ss_net_profit >= 100 OR ss_net_profit >= 150 OR ss_net_profit <= 250, ss_net_profit >= 100 OR ss_net_profit >= 150 OR ss_net_profit >= 50, ss_sales_price <= 150.00 OR ss_sales_price <= 100.00 OR ss_sales_price <= 200.00, ss_sales_price <= 150.00 OR ss_sales_price <= 100.00 OR ss_sales_price >= 150.00, ss_sales_price <= 150.00 OR ss_sales_price >= 50.00 OR ss_sales_price <= 200.00, ss_sales_price <= 150.00 OR ss_sales_price >= 50.00 OR ss_sales_price >= 150.00, ss_sales_price >= 100.00 OR ss_sales_price <= 100.00 OR ss_sales_price <= 200.00, ss_sales_price >= 100.00 OR ss_sales_price <= 100.00 OR ss_sales_price >= 150.00, ss_sales_price >= 100.00 OR ss_sales_price >= 50.00 OR ss_sales_price <= 200.00, ss_sales_price >= 100.00 OR ss_sales_price >= 50.00 OR ss_sales_price >= 150.00 |
| | runtime filters: RF000 -> ss_store_sk, RF004 -> ss_hdemo_sk, RF006 -> ss_sold_date_sk, RF008 -> ss_addr_sk |
| | row-size=40B cardinality=288.04K |
| | |
| 02:SCAN HDFS [tpcds.customer_demographics] |
| HDFS partitions=1/1 files=1 size=76.92MB |
| predicates: cd_marital_status = 'M' OR cd_marital_status = 'S' AND cd_education_status = 'College' OR cd_marital_status = 'W' AND cd_education_status = '2 yr Degree', cd_education_status = 'Advanced Degree' OR cd_marital_status = 'S' AND cd_education_status = 'College' OR cd_marital_status = 'W' AND cd_education_status = '2 yr Degree' |
| runtime filters: RF002 -> cd_demo_sk |
| row-size=39B cardinality=181.75K |
| ==== |
| # TPCDS-Q19 |
| select |
| i_brand_id brand_id, |
| i_brand brand, |
| i_manufact_id, |
| i_manufact, |
| sum(ss_ext_sales_price) ext_price |
| from |
| date_dim, |
| store_sales, |
| item, |
| customer, |
| customer_address, |
| store |
| where |
| d_date_sk = ss_sold_date_sk |
| and ss_item_sk = i_item_sk |
| and i_manager_id = 7 |
| and d_moy = 11 |
| and d_year = 1999 |
| and ss_customer_sk = c_customer_sk |
| and c_current_addr_sk = ca_address_sk |
| and substr(ca_zip, 1, 5) <> substr(s_zip, 1, 5) |
| and ss_store_sk = s_store_sk |
| and ss_sold_date_sk between 2451484 and 2451513 |
| group by |
| i_brand, |
| i_brand_id, |
| i_manufact_id, |
| i_manufact |
| order by |
| ext_price desc, |
| i_brand, |
| i_brand_id, |
| i_manufact_id, |
| i_manufact |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=43.32MB Threads=7 |
| Per-Host Resource Estimates: Memory=331MB |
| PLAN-ROOT SINK |
| | |
| 12:TOP-N [LIMIT=100] |
| | order by: sum(ss_ext_sales_price) DESC, i_brand ASC, i_brand_id ASC, i_manufact_id ASC, i_manufact ASC |
| | row-size=76B cardinality=24 |
| | |
| 11:AGGREGATE [FINALIZE] |
| | output: sum(ss_ext_sales_price) |
| | group by: i_brand, i_brand_id, i_manufact_id, i_manufact |
| | row-size=76B cardinality=24 |
| | |
| 10:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | other predicates: substr(ca_zip, 1, 5) != substr(s_zip, 1, 5) |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=158B cardinality=24 |
| | |
| |--05:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=21B cardinality=12 |
| | |
| 09:HASH JOIN [INNER JOIN] |
| | hash predicates: ca_address_sk = c_current_addr_sk |
| | runtime filters: RF002 <- c_current_addr_sk |
| | row-size=137B cardinality=24 |
| | |
| |--08:HASH JOIN [INNER JOIN] |
| | | hash predicates: c_customer_sk = ss_customer_sk |
| | | runtime filters: RF004 <- ss_customer_sk |
| | | row-size=116B cardinality=24 |
| | | |
| | |--07:HASH JOIN [INNER JOIN] |
| | | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | | runtime filters: RF006 <- d_date_sk |
| | | | row-size=108B cardinality=24 |
| | | | |
| | | |--00:SCAN HDFS [tpcds.date_dim] |
| | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | predicates: d_year = 1999, d_moy = 11, tpcds.date_dim.d_date_sk <= 2451513, tpcds.date_dim.d_date_sk >= 2451484 |
| | | | row-size=12B cardinality=50 |
| | | | |
| | | 06:HASH JOIN [INNER JOIN] |
| | | | hash predicates: ss_item_sk = i_item_sk |
| | | | runtime filters: RF008 <- i_item_sk |
| | | | row-size=96B cardinality=873 |
| | | | |
| | | |--02:SCAN HDFS [tpcds.item] |
| | | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | | predicates: i_manager_id = 7 |
| | | | row-size=72B cardinality=182 |
| | | | |
| | | 01:SCAN HDFS [tpcds.store_sales] |
| | | partition predicates: ss_sold_date_sk >= 2451484, ss_sold_date_sk <= 2451513 |
| | | HDFS partitions=30/1824 files=30 size=10.55MB |
| | | runtime filters: RF000 -> ss_store_sk, RF006 -> ss_sold_date_sk, RF008 -> ss_item_sk |
| | | row-size=24B cardinality=86.28K |
| | | |
| | 03:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF004 -> c_customer_sk |
| | row-size=8B cardinality=100.00K |
| | |
| 04:SCAN HDFS [tpcds.customer_address] |
| HDFS partitions=1/1 files=1 size=5.25MB |
| runtime filters: RF002 -> ca_address_sk |
| row-size=21B cardinality=50.00K |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=54.13MB Threads=16 |
| Per-Host Resource Estimates: Memory=360MB |
| PLAN-ROOT SINK |
| | |
| 22:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: sum(ss_ext_sales_price) DESC, i_brand ASC, i_brand_id ASC, i_manufact_id ASC, i_manufact ASC |
| | limit: 100 |
| | |
| 12:TOP-N [LIMIT=100] |
| | order by: sum(ss_ext_sales_price) DESC, i_brand ASC, i_brand_id ASC, i_manufact_id ASC, i_manufact ASC |
| | row-size=76B cardinality=24 |
| | |
| 21:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price) |
| | group by: i_brand, i_brand_id, i_manufact_id, i_manufact |
| | row-size=76B cardinality=24 |
| | |
| 20:EXCHANGE [HASH(i_brand,i_brand_id,i_manufact_id,i_manufact)] |
| | |
| 11:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price) |
| | group by: i_brand, i_brand_id, i_manufact_id, i_manufact |
| | row-size=76B cardinality=24 |
| | |
| 10:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | other predicates: substr(ca_zip, 1, 5) != substr(s_zip, 1, 5) |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=158B cardinality=24 |
| | |
| |--19:EXCHANGE [BROADCAST] |
| | | |
| | 05:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=21B cardinality=12 |
| | |
| 09:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: c_current_addr_sk = ca_address_sk |
| | runtime filters: RF002 <- ca_address_sk |
| | row-size=137B cardinality=24 |
| | |
| |--18:EXCHANGE [HASH(ca_address_sk)] |
| | | |
| | 04:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=21B cardinality=50.00K |
| | |
| 17:EXCHANGE [HASH(c_current_addr_sk)] |
| | |
| 08:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | runtime filters: RF004 <- c_customer_sk |
| | row-size=116B cardinality=24 |
| | |
| |--16:EXCHANGE [HASH(c_customer_sk)] |
| | | |
| | 03:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF002 -> c_current_addr_sk |
| | row-size=8B cardinality=100.00K |
| | |
| 15:EXCHANGE [HASH(ss_customer_sk)] |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF006 <- d_date_sk |
| | row-size=108B cardinality=24 |
| | |
| |--14:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1999, d_moy = 11, tpcds.date_dim.d_date_sk <= 2451513, tpcds.date_dim.d_date_sk >= 2451484 |
| | row-size=12B cardinality=50 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF008 <- i_item_sk |
| | row-size=96B cardinality=873 |
| | |
| |--13:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_manager_id = 7 |
| | row-size=72B cardinality=182 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| partition predicates: ss_sold_date_sk >= 2451484, ss_sold_date_sk <= 2451513 |
| HDFS partitions=30/1824 files=30 size=10.55MB |
| runtime filters: RF000 -> ss_store_sk, RF004 -> ss_customer_sk, RF006 -> ss_sold_date_sk, RF008 -> ss_item_sk |
| row-size=24B cardinality=86.28K |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=72.26MB Threads=21 |
| Per-Host Resource Estimates: Memory=203MB |
| PLAN-ROOT SINK |
| | |
| 22:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: sum(ss_ext_sales_price) DESC, i_brand ASC, i_brand_id ASC, i_manufact_id ASC, i_manufact ASC |
| | limit: 100 |
| | |
| 12:TOP-N [LIMIT=100] |
| | order by: sum(ss_ext_sales_price) DESC, i_brand ASC, i_brand_id ASC, i_manufact_id ASC, i_manufact ASC |
| | row-size=76B cardinality=24 |
| | |
| 21:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price) |
| | group by: i_brand, i_brand_id, i_manufact_id, i_manufact |
| | row-size=76B cardinality=24 |
| | |
| 20:EXCHANGE [HASH(i_brand,i_brand_id,i_manufact_id,i_manufact)] |
| | |
| 11:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price) |
| | group by: i_brand, i_brand_id, i_manufact_id, i_manufact |
| | row-size=76B cardinality=24 |
| | |
| 10:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | other predicates: substr(ca_zip, 1, 5) != substr(s_zip, 1, 5) |
| | row-size=158B cardinality=24 |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: s_store_sk |
| | | runtime filters: RF000 <- s_store_sk |
| | | |
| | 19:EXCHANGE [BROADCAST] |
| | | |
| | 05:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=21B cardinality=12 |
| | |
| 09:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: c_current_addr_sk = ca_address_sk |
| | row-size=137B cardinality=24 |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: ca_address_sk |
| | | runtime filters: RF002 <- ca_address_sk |
| | | |
| | 18:EXCHANGE [HASH(ca_address_sk)] |
| | | |
| | 04:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=21B cardinality=50.00K |
| | |
| 17:EXCHANGE [HASH(c_current_addr_sk)] |
| | |
| 08:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | row-size=116B cardinality=24 |
| | |
| |--JOIN BUILD |
| | | join-table-id=02 plan-id=03 cohort-id=01 |
| | | build expressions: c_customer_sk |
| | | runtime filters: RF004 <- c_customer_sk |
| | | |
| | 16:EXCHANGE [HASH(c_customer_sk)] |
| | | |
| | 03:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF002 -> c_current_addr_sk |
| | row-size=8B cardinality=100.00K |
| | |
| 15:EXCHANGE [HASH(ss_customer_sk)] |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | row-size=108B cardinality=24 |
| | |
| |--JOIN BUILD |
| | | join-table-id=03 plan-id=04 cohort-id=01 |
| | | build expressions: d_date_sk |
| | | runtime filters: RF006 <- d_date_sk |
| | | |
| | 14:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1999, d_moy = 11, tpcds.date_dim.d_date_sk <= 2451513, tpcds.date_dim.d_date_sk >= 2451484 |
| | row-size=12B cardinality=50 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | row-size=96B cardinality=873 |
| | |
| |--JOIN BUILD |
| | | join-table-id=04 plan-id=05 cohort-id=01 |
| | | build expressions: i_item_sk |
| | | runtime filters: RF008 <- i_item_sk |
| | | |
| | 13:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_manager_id = 7 |
| | row-size=72B cardinality=182 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| partition predicates: ss_sold_date_sk >= 2451484, ss_sold_date_sk <= 2451513 |
| HDFS partitions=30/1824 files=30 size=10.55MB |
| runtime filters: RF000 -> ss_store_sk, RF004 -> ss_customer_sk, RF006 -> ss_sold_date_sk, RF008 -> ss_item_sk |
| row-size=24B cardinality=86.28K |
| ==== |
| # TPCDS-Q27 |
| select |
| i_item_id, |
| s_state, |
| avg(ss_quantity) agg1, |
| avg(ss_list_price) agg2, |
| avg(ss_coupon_amt) agg3, |
| avg(ss_sales_price) agg4 |
| from |
| store_sales, |
| customer_demographics, |
| date_dim, |
| store, |
| item |
| where |
| ss_sold_date_sk = d_date_sk |
| and ss_item_sk = i_item_sk |
| and ss_store_sk = s_store_sk |
| and ss_cdemo_sk = cd_demo_sk |
| and cd_gender = 'F' |
| and cd_marital_status = 'W' |
| and cd_education_status = 'Primary' |
| and d_year = 1998 |
| and s_state in ('WI', 'CA', 'TX', 'FL', 'WA', 'TN') |
| group by |
| i_item_id, |
| s_state |
| order by |
| i_item_id, |
| s_state |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=50.32MB Threads=6 |
| Per-Host Resource Estimates: Memory=434MB |
| PLAN-ROOT SINK |
| | |
| 10:TOP-N [LIMIT=100] |
| | order by: i_item_id ASC, s_state ASC |
| | row-size=74B cardinality=100 |
| | |
| 09:AGGREGATE [FINALIZE] |
| | output: avg(ss_quantity), avg(ss_list_price), avg(ss_coupon_amt), avg(ss_sales_price) |
| | group by: i_item_id, s_state |
| | row-size=74B cardinality=8.85K |
| | |
| 08:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF000 <- i_item_sk |
| | row-size=150B cardinality=263.34K |
| | |
| |--04:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=36B cardinality=18.00K |
| | |
| 07:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF002 <- s_store_sk |
| | row-size=114B cardinality=263.34K |
| | |
| |--03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: s_state IN ('WI', 'CA', 'TX', 'FL', 'WA', 'TN') |
| | row-size=18B cardinality=12 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_cdemo_sk = cd_demo_sk |
| | runtime filters: RF004 <- cd_demo_sk |
| | row-size=96B cardinality=263.34K |
| | |
| |--01:SCAN HDFS [tpcds.customer_demographics] |
| | HDFS partitions=1/1 files=1 size=76.92MB |
| | predicates: cd_marital_status = 'W', cd_gender = 'F', cd_education_status = 'Primary' |
| | row-size=52B cardinality=97.40K |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF006 <- d_date_sk |
| | row-size=44B cardinality=589.03K |
| | |
| |--02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1998 |
| | row-size=8B cardinality=373 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_item_sk, RF002 -> ss_store_sk, RF004 -> ss_cdemo_sk, RF006 -> ss_sold_date_sk |
| row-size=36B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=54.26MB Threads=12 |
| Per-Host Resource Estimates: Memory=460MB |
| PLAN-ROOT SINK |
| | |
| 17:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: i_item_id ASC, s_state ASC |
| | limit: 100 |
| | |
| 10:TOP-N [LIMIT=100] |
| | order by: i_item_id ASC, s_state ASC |
| | row-size=74B cardinality=100 |
| | |
| 16:AGGREGATE [FINALIZE] |
| | output: avg:merge(ss_quantity), avg:merge(ss_list_price), avg:merge(ss_coupon_amt), avg:merge(ss_sales_price) |
| | group by: i_item_id, s_state |
| | row-size=74B cardinality=8.85K |
| | |
| 15:EXCHANGE [HASH(i_item_id,s_state)] |
| | |
| 09:AGGREGATE [STREAMING] |
| | output: avg(ss_quantity), avg(ss_list_price), avg(ss_coupon_amt), avg(ss_sales_price) |
| | group by: i_item_id, s_state |
| | row-size=74B cardinality=8.85K |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF000 <- i_item_sk |
| | row-size=150B cardinality=263.34K |
| | |
| |--14:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=36B cardinality=18.00K |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF002 <- s_store_sk |
| | row-size=114B cardinality=263.34K |
| | |
| |--13:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: s_state IN ('WI', 'CA', 'TX', 'FL', 'WA', 'TN') |
| | row-size=18B cardinality=12 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_cdemo_sk = cd_demo_sk |
| | runtime filters: RF004 <- cd_demo_sk |
| | row-size=96B cardinality=263.34K |
| | |
| |--12:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.customer_demographics] |
| | HDFS partitions=1/1 files=1 size=76.92MB |
| | predicates: cd_marital_status = 'W', cd_gender = 'F', cd_education_status = 'Primary' |
| | row-size=52B cardinality=97.40K |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF006 <- d_date_sk |
| | row-size=44B cardinality=589.03K |
| | |
| |--11:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1998 |
| | row-size=8B cardinality=373 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_item_sk, RF002 -> ss_store_sk, RF004 -> ss_cdemo_sk, RF006 -> ss_sold_date_sk |
| row-size=36B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=84.51MB Threads=13 |
| Per-Host Resource Estimates: Memory=260MB |
| PLAN-ROOT SINK |
| | |
| 17:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: i_item_id ASC, s_state ASC |
| | limit: 100 |
| | |
| 10:TOP-N [LIMIT=100] |
| | order by: i_item_id ASC, s_state ASC |
| | row-size=74B cardinality=100 |
| | |
| 16:AGGREGATE [FINALIZE] |
| | output: avg:merge(ss_quantity), avg:merge(ss_list_price), avg:merge(ss_coupon_amt), avg:merge(ss_sales_price) |
| | group by: i_item_id, s_state |
| | row-size=74B cardinality=8.85K |
| | |
| 15:EXCHANGE [HASH(i_item_id,s_state)] |
| | |
| 09:AGGREGATE [STREAMING] |
| | output: avg(ss_quantity), avg(ss_list_price), avg(ss_coupon_amt), avg(ss_sales_price) |
| | group by: i_item_id, s_state |
| | row-size=74B cardinality=8.85K |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | row-size=150B cardinality=263.34K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: i_item_sk |
| | | runtime filters: RF000 <- i_item_sk |
| | | |
| | 14:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=36B cardinality=18.00K |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | row-size=114B cardinality=263.34K |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: s_store_sk |
| | | runtime filters: RF002 <- s_store_sk |
| | | |
| | 13:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: s_state IN ('WI', 'CA', 'TX', 'FL', 'WA', 'TN') |
| | row-size=18B cardinality=12 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_cdemo_sk = cd_demo_sk |
| | row-size=96B cardinality=263.34K |
| | |
| |--JOIN BUILD |
| | | join-table-id=02 plan-id=03 cohort-id=01 |
| | | build expressions: cd_demo_sk |
| | | runtime filters: RF004 <- cd_demo_sk |
| | | |
| | 12:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.customer_demographics] |
| | HDFS partitions=1/1 files=1 size=76.92MB |
| | predicates: cd_marital_status = 'W', cd_gender = 'F', cd_education_status = 'Primary' |
| | row-size=52B cardinality=97.40K |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | row-size=44B cardinality=589.03K |
| | |
| |--JOIN BUILD |
| | | join-table-id=03 plan-id=04 cohort-id=01 |
| | | build expressions: d_date_sk |
| | | runtime filters: RF006 <- d_date_sk |
| | | |
| | 11:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1998 |
| | row-size=8B cardinality=373 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_item_sk, RF002 -> ss_store_sk, RF004 -> ss_cdemo_sk, RF006 -> ss_sold_date_sk |
| row-size=36B cardinality=2.88M |
| ==== |
| # TPCDS-Q34 |
| select |
| c_last_name, |
| c_first_name, |
| c_salutation, |
| c_preferred_cust_flag, |
| ss_ticket_number, |
| cnt |
| from |
| (select |
| ss_ticket_number, |
| ss_customer_sk, |
| count(*) cnt |
| from |
| store_sales, |
| date_dim, |
| store, |
| household_demographics |
| where |
| store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| and store_sales.ss_store_sk = store.s_store_sk |
| and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| and (date_dim.d_dom between 1 and 3 |
| or date_dim.d_dom between 25 and 28) |
| and (household_demographics.hd_buy_potential = '>10000' |
| or household_demographics.hd_buy_potential = 'unknown') |
| and household_demographics.hd_vehicle_count > 0 |
| and (case when household_demographics.hd_vehicle_count > 0 then household_demographics.hd_dep_count / household_demographics.hd_vehicle_count else null end) > 1.2 |
| and date_dim.d_year in (1998, 1998 + 1, 1998 + 2) |
| and store.s_county in ('Saginaw County', 'Sumner County', 'Appanoose County', 'Daviess County', 'Fairfield County', 'Raleigh County', 'Ziebach County', 'Williamson County') |
| group by |
| ss_ticket_number, |
| ss_customer_sk |
| ) dn, |
| customer |
| where |
| ss_customer_sk = c_customer_sk |
| and cnt between 15 and 20 |
| order by |
| c_last_name, |
| c_first_name, |
| c_salutation, |
| c_preferred_cust_flag desc |
| limit 100000 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=34.07MB Threads=6 |
| Per-Host Resource Estimates: Memory=298MB |
| PLAN-ROOT SINK |
| | |
| 10:TOP-N [LIMIT=100000] |
| | order by: c_last_name ASC, c_first_name ASC, c_salutation ASC, c_preferred_cust_flag DESC |
| | row-size=80B cardinality=3.15K |
| | |
| 09:HASH JOIN [INNER JOIN] |
| | hash predicates: c_customer_sk = ss_customer_sk |
| | runtime filters: RF000 <- ss_customer_sk |
| | row-size=88B cardinality=3.15K |
| | |
| |--07:AGGREGATE [FINALIZE] |
| | | output: count(*) |
| | | group by: ss_ticket_number, ss_customer_sk |
| | | having: count(*) <= 20, count(*) >= 15 |
| | | row-size=20B cardinality=3.15K |
| | | |
| | 06:HASH JOIN [INNER JOIN] |
| | | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | | runtime filters: RF002 <- store.s_store_sk |
| | | row-size=101B cardinality=31.53K |
| | | |
| | |--02:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_county IN ('Saginaw County', 'Sumner County', 'Appanoose County', 'Daviess County', 'Fairfield County', 'Raleigh County', 'Ziebach County', 'Williamson County') |
| | | row-size=33B cardinality=12 |
| | | |
| | 05:HASH JOIN [INNER JOIN] |
| | | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | | runtime filters: RF004 <- date_dim.d_date_sk |
| | | row-size=68B cardinality=31.53K |
| | | |
| | |--01:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: date_dim.d_year IN (1998, 1999, 2000), (date_dim.d_dom >= 1 AND date_dim.d_dom <= 3 OR date_dim.d_dom >= 25 AND date_dim.d_dom <= 28) |
| | | row-size=12B cardinality=354 |
| | | |
| | 04:HASH JOIN [INNER JOIN] |
| | | hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | runtime filters: RF006 <- household_demographics.hd_demo_sk |
| | | row-size=56B cardinality=162.45K |
| | | |
| | |--03:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: household_demographics.hd_vehicle_count > 0, household_demographics.hd_buy_potential IN ('>10000', 'unknown'), (CASE WHEN household_demographics.hd_vehicle_count > 0 THEN household_demographics.hd_dep_count / household_demographics.hd_vehicle_count ELSE NULL END) > 1.2 |
| | | row-size=32B cardinality=416 |
| | | |
| | 00:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF002 -> store_sales.ss_store_sk, RF004 -> store_sales.ss_sold_date_sk, RF006 -> store_sales.ss_hdemo_sk |
| | row-size=24B cardinality=2.88M |
| | |
| 08:SCAN HDFS [tpcds.customer] |
| HDFS partitions=1/1 files=1 size=12.60MB |
| runtime filters: RF000 -> c_customer_sk |
| row-size=68B cardinality=100.00K |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=47.51MB Threads=13 |
| Per-Host Resource Estimates: Memory=335MB |
| PLAN-ROOT SINK |
| | |
| 18:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: c_last_name ASC, c_first_name ASC, c_salutation ASC, c_preferred_cust_flag DESC |
| | limit: 100000 |
| | |
| 10:TOP-N [LIMIT=100000] |
| | order by: c_last_name ASC, c_first_name ASC, c_salutation ASC, c_preferred_cust_flag DESC |
| | row-size=80B cardinality=3.15K |
| | |
| 09:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | runtime filters: RF000 <- c_customer_sk |
| | row-size=88B cardinality=3.15K |
| | |
| |--17:EXCHANGE [HASH(c_customer_sk)] |
| | | |
| | 08:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | row-size=68B cardinality=100.00K |
| | |
| 16:EXCHANGE [HASH(ss_customer_sk)] |
| | |
| 15:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | group by: ss_ticket_number, ss_customer_sk |
| | having: count(*) <= 20, count(*) >= 15 |
| | row-size=20B cardinality=3.15K |
| | |
| 14:EXCHANGE [HASH(ss_ticket_number,ss_customer_sk)] |
| | |
| 07:AGGREGATE [STREAMING] |
| | output: count(*) |
| | group by: ss_ticket_number, ss_customer_sk |
| | row-size=20B cardinality=31.53K |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | runtime filters: RF002 <- store.s_store_sk |
| | row-size=101B cardinality=31.53K |
| | |
| |--13:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: store.s_county IN ('Saginaw County', 'Sumner County', 'Appanoose County', 'Daviess County', 'Fairfield County', 'Raleigh County', 'Ziebach County', 'Williamson County') |
| | row-size=33B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | runtime filters: RF004 <- date_dim.d_date_sk |
| | row-size=68B cardinality=31.53K |
| | |
| |--12:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: date_dim.d_year IN (1998, 1999, 2000), (date_dim.d_dom >= 1 AND date_dim.d_dom <= 3 OR date_dim.d_dom >= 25 AND date_dim.d_dom <= 28) |
| | row-size=12B cardinality=354 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| | runtime filters: RF006 <- household_demographics.hd_demo_sk |
| | row-size=56B cardinality=162.45K |
| | |
| |--11:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.household_demographics] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: household_demographics.hd_vehicle_count > 0, household_demographics.hd_buy_potential IN ('>10000', 'unknown'), (CASE WHEN household_demographics.hd_vehicle_count > 0 THEN household_demographics.hd_dep_count / household_demographics.hd_vehicle_count ELSE NULL END) > 1.2 |
| | row-size=32B cardinality=416 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> tpcds.store_sales.ss_customer_sk, RF002 -> store_sales.ss_store_sk, RF004 -> store_sales.ss_sold_date_sk, RF006 -> store_sales.ss_hdemo_sk |
| row-size=24B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=68.26MB Threads=14 |
| Per-Host Resource Estimates: Memory=188MB |
| PLAN-ROOT SINK |
| | |
| 18:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: c_last_name ASC, c_first_name ASC, c_salutation ASC, c_preferred_cust_flag DESC |
| | limit: 100000 |
| | |
| 10:TOP-N [LIMIT=100000] |
| | order by: c_last_name ASC, c_first_name ASC, c_salutation ASC, c_preferred_cust_flag DESC |
| | row-size=80B cardinality=3.15K |
| | |
| 09:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | row-size=88B cardinality=3.15K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: c_customer_sk |
| | | runtime filters: RF000 <- c_customer_sk |
| | | |
| | 17:EXCHANGE [HASH(c_customer_sk)] |
| | | |
| | 08:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | row-size=68B cardinality=100.00K |
| | |
| 16:EXCHANGE [HASH(ss_customer_sk)] |
| | |
| 15:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | group by: ss_ticket_number, ss_customer_sk |
| | having: count(*) <= 20, count(*) >= 15 |
| | row-size=20B cardinality=3.15K |
| | |
| 14:EXCHANGE [HASH(ss_ticket_number,ss_customer_sk)] |
| | |
| 07:AGGREGATE [STREAMING] |
| | output: count(*) |
| | group by: ss_ticket_number, ss_customer_sk |
| | row-size=20B cardinality=31.53K |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | row-size=101B cardinality=31.53K |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: store.s_store_sk |
| | | runtime filters: RF002 <- store.s_store_sk |
| | | |
| | 13:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: store.s_county IN ('Saginaw County', 'Sumner County', 'Appanoose County', 'Daviess County', 'Fairfield County', 'Raleigh County', 'Ziebach County', 'Williamson County') |
| | row-size=33B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | row-size=68B cardinality=31.53K |
| | |
| |--JOIN BUILD |
| | | join-table-id=02 plan-id=03 cohort-id=01 |
| | | build expressions: date_dim.d_date_sk |
| | | runtime filters: RF004 <- date_dim.d_date_sk |
| | | |
| | 12:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: date_dim.d_year IN (1998, 1999, 2000), (date_dim.d_dom >= 1 AND date_dim.d_dom <= 3 OR date_dim.d_dom >= 25 AND date_dim.d_dom <= 28) |
| | row-size=12B cardinality=354 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| | row-size=56B cardinality=162.45K |
| | |
| |--JOIN BUILD |
| | | join-table-id=03 plan-id=04 cohort-id=01 |
| | | build expressions: household_demographics.hd_demo_sk |
| | | runtime filters: RF006 <- household_demographics.hd_demo_sk |
| | | |
| | 11:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.household_demographics] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: household_demographics.hd_vehicle_count > 0, household_demographics.hd_buy_potential IN ('>10000', 'unknown'), (CASE WHEN household_demographics.hd_vehicle_count > 0 THEN household_demographics.hd_dep_count / household_demographics.hd_vehicle_count ELSE NULL END) > 1.2 |
| | row-size=32B cardinality=416 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> tpcds.store_sales.ss_customer_sk, RF002 -> store_sales.ss_store_sk, RF004 -> store_sales.ss_sold_date_sk, RF006 -> store_sales.ss_hdemo_sk |
| row-size=24B cardinality=2.88M |
| ==== |
| # TPCDS-Q42 |
| select |
| dt.d_year, |
| item.i_category_id, |
| item.i_category, |
| sum(ss_ext_sales_price) |
| from |
| date_dim dt, |
| store_sales, |
| item |
| where |
| dt.d_date_sk = store_sales.ss_sold_date_sk |
| and store_sales.ss_item_sk = item.i_item_sk |
| and item.i_manager_id = 1 |
| and dt.d_moy = 12 |
| and dt.d_year = 1998 |
| group by |
| dt.d_year, |
| item.i_category_id, |
| item.i_category |
| order by |
| sum(ss_ext_sales_price) desc, |
| dt.d_year, |
| item.i_category_id, |
| item.i_category |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=29.88MB Threads=4 |
| Per-Host Resource Estimates: Memory=214MB |
| PLAN-ROOT SINK |
| | |
| 06:TOP-N [LIMIT=100] |
| | order by: sum(ss_ext_sales_price) DESC, dt.d_year ASC, item.i_category_id ASC, item.i_category ASC |
| | row-size=42B cardinality=100 |
| | |
| 05:AGGREGATE [FINALIZE] |
| | output: sum(ss_ext_sales_price) |
| | group by: dt.d_year, item.i_category_id, item.i_category |
| | row-size=42B cardinality=1.73K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_sold_date_sk = dt.d_date_sk |
| | runtime filters: RF000 <- dt.d_date_sk |
| | row-size=62B cardinality=1.73K |
| | |
| |--00:SCAN HDFS [tpcds.date_dim dt] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: dt.d_year = 1998, dt.d_moy = 12 |
| | row-size=12B cardinality=108 |
| | |
| 03:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_item_sk = item.i_item_sk |
| | runtime filters: RF002 <- item.i_item_sk |
| | row-size=50B cardinality=29.12K |
| | |
| |--02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: item.i_manager_id = 1 |
| | row-size=34B cardinality=182 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF002 -> store_sales.ss_item_sk |
| row-size=16B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=33.81MB Threads=8 |
| Per-Host Resource Estimates: Memory=234MB |
| PLAN-ROOT SINK |
| | |
| 11:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: sum(ss_ext_sales_price) DESC, dt.d_year ASC, item.i_category_id ASC, item.i_category ASC |
| | limit: 100 |
| | |
| 06:TOP-N [LIMIT=100] |
| | order by: sum(ss_ext_sales_price) DESC, dt.d_year ASC, item.i_category_id ASC, item.i_category ASC |
| | row-size=42B cardinality=100 |
| | |
| 10:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price) |
| | group by: dt.d_year, item.i_category_id, item.i_category |
| | row-size=42B cardinality=1.73K |
| | |
| 09:EXCHANGE [HASH(dt.d_year,item.i_category_id,item.i_category)] |
| | |
| 05:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price) |
| | group by: dt.d_year, item.i_category_id, item.i_category |
| | row-size=42B cardinality=1.73K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_sold_date_sk = dt.d_date_sk |
| | runtime filters: RF000 <- dt.d_date_sk |
| | row-size=62B cardinality=1.73K |
| | |
| |--08:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.date_dim dt] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: dt.d_year = 1998, dt.d_moy = 12 |
| | row-size=12B cardinality=108 |
| | |
| 03:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_item_sk = item.i_item_sk |
| | runtime filters: RF002 <- item.i_item_sk |
| | row-size=50B cardinality=29.12K |
| | |
| |--07:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: item.i_manager_id = 1 |
| | row-size=34B cardinality=182 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF002 -> store_sales.ss_item_sk |
| row-size=16B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=51.62MB Threads=9 |
| Per-Host Resource Estimates: Memory=124MB |
| PLAN-ROOT SINK |
| | |
| 11:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: sum(ss_ext_sales_price) DESC, dt.d_year ASC, item.i_category_id ASC, item.i_category ASC |
| | limit: 100 |
| | |
| 06:TOP-N [LIMIT=100] |
| | order by: sum(ss_ext_sales_price) DESC, dt.d_year ASC, item.i_category_id ASC, item.i_category ASC |
| | row-size=42B cardinality=100 |
| | |
| 10:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price) |
| | group by: dt.d_year, item.i_category_id, item.i_category |
| | row-size=42B cardinality=1.73K |
| | |
| 09:EXCHANGE [HASH(dt.d_year,item.i_category_id,item.i_category)] |
| | |
| 05:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price) |
| | group by: dt.d_year, item.i_category_id, item.i_category |
| | row-size=42B cardinality=1.73K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_sold_date_sk = dt.d_date_sk |
| | row-size=62B cardinality=1.73K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: dt.d_date_sk |
| | | runtime filters: RF000 <- dt.d_date_sk |
| | | |
| | 08:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.date_dim dt] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: dt.d_year = 1998, dt.d_moy = 12 |
| | row-size=12B cardinality=108 |
| | |
| 03:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_item_sk = item.i_item_sk |
| | row-size=50B cardinality=29.12K |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: item.i_item_sk |
| | | runtime filters: RF002 <- item.i_item_sk |
| | | |
| | 07:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: item.i_manager_id = 1 |
| | row-size=34B cardinality=182 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF002 -> store_sales.ss_item_sk |
| row-size=16B cardinality=2.88M |
| ==== |
| # TPCDS-Q43 |
| select |
| s_store_name, |
| s_store_id, |
| sum(case when (d_day_name = 'Sunday') then ss_sales_price else null end) sun_sales, |
| sum(case when (d_day_name = 'Monday') then ss_sales_price else null end) mon_sales, |
| sum(case when (d_day_name = 'Tuesday') then ss_sales_price else null end) tue_sales, |
| sum(case when (d_day_name = 'Wednesday') then ss_sales_price else null end) wed_sales, |
| sum(case when (d_day_name = 'Thursday') then ss_sales_price else null end) thu_sales, |
| sum(case when (d_day_name = 'Friday') then ss_sales_price else null end) fri_sales, |
| sum(case when (d_day_name = 'Saturday') then ss_sales_price else null end) sat_sales |
| from |
| date_dim, |
| store_sales, |
| store |
| where |
| d_date_sk = ss_sold_date_sk |
| and s_store_sk = ss_store_sk |
| and s_gmt_offset = -5 |
| and d_year = 1998 |
| group by |
| s_store_name, |
| s_store_id |
| order by |
| s_store_name, |
| s_store_id, |
| sun_sales, |
| mon_sales, |
| tue_sales, |
| wed_sales, |
| thu_sales, |
| fri_sales, |
| sat_sales |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=21.88MB Threads=4 |
| Per-Host Resource Estimates: Memory=214MB |
| PLAN-ROOT SINK |
| | |
| 06:TOP-N [LIMIT=100] |
| | order by: s_store_name ASC, s_store_id ASC, sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) ASC |
| | row-size=156B cardinality=48 |
| | |
| 05:AGGREGATE [FINALIZE] |
| | output: sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) |
| | group by: s_store_name, s_store_id |
| | row-size=156B cardinality=48 |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=91B cardinality=589.03K |
| | |
| |--02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: s_gmt_offset = -5 |
| | row-size=52B cardinality=12 |
| | |
| 03:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF002 <- d_date_sk |
| | row-size=39B cardinality=589.03K |
| | |
| |--00:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1998 |
| | row-size=27B cardinality=373 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_sold_date_sk |
| row-size=12B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=25.82MB Threads=8 |
| Per-Host Resource Estimates: Memory=234MB |
| PLAN-ROOT SINK |
| | |
| 11:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: s_store_name ASC, s_store_id ASC, sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) ASC |
| | limit: 100 |
| | |
| 06:TOP-N [LIMIT=100] |
| | order by: s_store_name ASC, s_store_id ASC, sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) ASC |
| | row-size=156B cardinality=48 |
| | |
| 10:AGGREGATE [FINALIZE] |
| | output: sum:merge(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) |
| | group by: s_store_name, s_store_id |
| | row-size=156B cardinality=48 |
| | |
| 09:EXCHANGE [HASH(s_store_name,s_store_id)] |
| | |
| 05:AGGREGATE [STREAMING] |
| | output: sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) |
| | group by: s_store_name, s_store_id |
| | row-size=156B cardinality=48 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=91B cardinality=589.03K |
| | |
| |--08:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: s_gmt_offset = -5 |
| | row-size=52B cardinality=12 |
| | |
| 03:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF002 <- d_date_sk |
| | row-size=39B cardinality=589.03K |
| | |
| |--07:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1998 |
| | row-size=27B cardinality=373 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_sold_date_sk |
| row-size=12B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=43.63MB Threads=9 |
| Per-Host Resource Estimates: Memory=124MB |
| PLAN-ROOT SINK |
| | |
| 11:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: s_store_name ASC, s_store_id ASC, sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) ASC |
| | limit: 100 |
| | |
| 06:TOP-N [LIMIT=100] |
| | order by: s_store_name ASC, s_store_id ASC, sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) ASC |
| | row-size=156B cardinality=48 |
| | |
| 10:AGGREGATE [FINALIZE] |
| | output: sum:merge(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) |
| | group by: s_store_name, s_store_id |
| | row-size=156B cardinality=48 |
| | |
| 09:EXCHANGE [HASH(s_store_name,s_store_id)] |
| | |
| 05:AGGREGATE [STREAMING] |
| | output: sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) |
| | group by: s_store_name, s_store_id |
| | row-size=156B cardinality=48 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | row-size=91B cardinality=589.03K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: s_store_sk |
| | | runtime filters: RF000 <- s_store_sk |
| | | |
| | 08:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: s_gmt_offset = -5 |
| | row-size=52B cardinality=12 |
| | |
| 03:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | row-size=39B cardinality=589.03K |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: d_date_sk |
| | | runtime filters: RF002 <- d_date_sk |
| | | |
| | 07:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1998 |
| | row-size=27B cardinality=373 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_sold_date_sk |
| row-size=12B cardinality=2.88M |
| ==== |
| # TPCDS-Q46 |
| select |
| c_last_name, |
| c_first_name, |
| ca_city, |
| bought_city, |
| ss_ticket_number, |
| amt, |
| profit |
| from |
| (select |
| ss_ticket_number, |
| ss_customer_sk, |
| ca_city bought_city, |
| sum(ss_coupon_amt) amt, |
| sum(ss_net_profit) profit |
| from |
| store_sales, |
| date_dim, |
| store, |
| household_demographics, |
| customer_address |
| where |
| store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| and store_sales.ss_store_sk = store.s_store_sk |
| and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| and store_sales.ss_addr_sk = customer_address.ca_address_sk |
| and (household_demographics.hd_dep_count = 5 |
| or household_demographics.hd_vehicle_count = 3) |
| and date_dim.d_dow in (6, 0) |
| and date_dim.d_year in (1999, 1999 + 1, 1999 + 2) |
| and store.s_city in ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville') |
| group by |
| ss_ticket_number, |
| ss_customer_sk, |
| ss_addr_sk, |
| ca_city |
| ) dn, |
| customer, |
| customer_address current_addr |
| where |
| ss_customer_sk = c_customer_sk |
| and customer.c_current_addr_sk = current_addr.ca_address_sk |
| and current_addr.ca_city <> bought_city |
| order by |
| c_last_name, |
| c_first_name, |
| ca_city, |
| bought_city, |
| ss_ticket_number |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=67.06MB Threads=8 |
| Per-Host Resource Estimates: Memory=378MB |
| PLAN-ROOT SINK |
| | |
| 14:TOP-N [LIMIT=100] |
| | order by: c_last_name ASC, c_first_name ASC, ca_city ASC, bought_city ASC, ss_ticket_number ASC |
| | row-size=118B cardinality=100 |
| | |
| 13:HASH JOIN [INNER JOIN] |
| | hash predicates: customer.c_current_addr_sk = current_addr.ca_address_sk |
| | other predicates: current_addr.ca_city != ca_city |
| | runtime filters: RF000 <- current_addr.ca_address_sk |
| | row-size=138B cardinality=230.45K |
| | |
| |--11:SCAN HDFS [tpcds.customer_address current_addr] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=25B cardinality=50.00K |
| | |
| 12:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | runtime filters: RF002 <- c_customer_sk |
| | row-size=113B cardinality=230.45K |
| | |
| |--10:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF000 -> customer.c_current_addr_sk |
| | row-size=44B cardinality=100.00K |
| | |
| 09:AGGREGATE [FINALIZE] |
| | output: sum(ss_coupon_amt), sum(ss_net_profit) |
| | group by: ss_ticket_number, ss_customer_sk, ss_addr_sk, ca_city |
| | row-size=69B cardinality=230.45K |
| | |
| 08:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_addr_sk = customer_address.ca_address_sk |
| | runtime filters: RF004 <- customer_address.ca_address_sk |
| | row-size=107B cardinality=230.45K |
| | |
| |--04:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=25B cardinality=50.00K |
| | |
| 07:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | runtime filters: RF006 <- store.s_store_sk |
| | row-size=83B cardinality=230.45K |
| | |
| |--02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville') |
| | row-size=23B cardinality=12 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | runtime filters: RF008 <- date_dim.d_date_sk |
| | row-size=60B cardinality=230.45K |
| | |
| |--01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: date_dim.d_dow IN (6, 0), date_dim.d_year IN (1999, 2000, 2001) |
| | row-size=12B cardinality=598 |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| | runtime filters: RF010 <- household_demographics.hd_demo_sk |
| | row-size=48B cardinality=702.92K |
| | |
| |--03:SCAN HDFS [tpcds.household_demographics] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: (household_demographics.hd_dep_count = 5 OR household_demographics.hd_vehicle_count = 3) |
| | row-size=12B cardinality=1.80K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF002 -> tpcds.store_sales.ss_customer_sk, RF004 -> store_sales.ss_addr_sk, RF006 -> store_sales.ss_store_sk, RF008 -> store_sales.ss_sold_date_sk, RF010 -> store_sales.ss_hdemo_sk |
| row-size=36B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=80.20MB Threads=17 |
| Per-Host Resource Estimates: Memory=412MB |
| PLAN-ROOT SINK |
| | |
| 24:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: c_last_name ASC, c_first_name ASC, ca_city ASC, bought_city ASC, ss_ticket_number ASC |
| | limit: 100 |
| | |
| 14:TOP-N [LIMIT=100] |
| | order by: c_last_name ASC, c_first_name ASC, ca_city ASC, bought_city ASC, ss_ticket_number ASC |
| | row-size=118B cardinality=100 |
| | |
| 13:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: customer.c_current_addr_sk = current_addr.ca_address_sk |
| | other predicates: current_addr.ca_city != ca_city |
| | runtime filters: RF000 <- current_addr.ca_address_sk |
| | row-size=138B cardinality=230.45K |
| | |
| |--23:EXCHANGE [BROADCAST] |
| | | |
| | 11:SCAN HDFS [tpcds.customer_address current_addr] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=25B cardinality=50.00K |
| | |
| 12:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | runtime filters: RF002 <- c_customer_sk |
| | row-size=113B cardinality=230.45K |
| | |
| |--22:EXCHANGE [HASH(c_customer_sk)] |
| | | |
| | 10:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF000 -> customer.c_current_addr_sk |
| | row-size=44B cardinality=100.00K |
| | |
| 21:EXCHANGE [HASH(ss_customer_sk)] |
| | |
| 20:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_coupon_amt), sum:merge(ss_net_profit) |
| | group by: ss_ticket_number, ss_customer_sk, ss_addr_sk, ca_city |
| | row-size=69B cardinality=230.45K |
| | |
| 19:EXCHANGE [HASH(ss_ticket_number,ss_customer_sk,ss_addr_sk,ca_city)] |
| | |
| 09:AGGREGATE [STREAMING] |
| | output: sum(ss_coupon_amt), sum(ss_net_profit) |
| | group by: ss_ticket_number, ss_customer_sk, ss_addr_sk, ca_city |
| | row-size=69B cardinality=230.45K |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_addr_sk = customer_address.ca_address_sk |
| | runtime filters: RF004 <- customer_address.ca_address_sk |
| | row-size=107B cardinality=230.45K |
| | |
| |--18:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=25B cardinality=50.00K |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | runtime filters: RF006 <- store.s_store_sk |
| | row-size=83B cardinality=230.45K |
| | |
| |--17:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville') |
| | row-size=23B cardinality=12 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | runtime filters: RF008 <- date_dim.d_date_sk |
| | row-size=60B cardinality=230.45K |
| | |
| |--16:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: date_dim.d_dow IN (6, 0), date_dim.d_year IN (1999, 2000, 2001) |
| | row-size=12B cardinality=598 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| | runtime filters: RF010 <- household_demographics.hd_demo_sk |
| | row-size=48B cardinality=702.92K |
| | |
| |--15:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.household_demographics] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: (household_demographics.hd_dep_count = 5 OR household_demographics.hd_vehicle_count = 3) |
| | row-size=12B cardinality=1.80K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF002 -> tpcds.store_sales.ss_customer_sk, RF004 -> store_sales.ss_addr_sk, RF006 -> store_sales.ss_store_sk, RF008 -> store_sales.ss_sold_date_sk, RF010 -> store_sales.ss_hdemo_sk |
| row-size=36B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=107.76MB Threads=20 |
| Per-Host Resource Estimates: Memory=257MB |
| PLAN-ROOT SINK |
| | |
| 24:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: c_last_name ASC, c_first_name ASC, ca_city ASC, bought_city ASC, ss_ticket_number ASC |
| | limit: 100 |
| | |
| 14:TOP-N [LIMIT=100] |
| | order by: c_last_name ASC, c_first_name ASC, ca_city ASC, bought_city ASC, ss_ticket_number ASC |
| | row-size=118B cardinality=100 |
| | |
| 13:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: customer.c_current_addr_sk = current_addr.ca_address_sk |
| | other predicates: current_addr.ca_city != ca_city |
| | row-size=138B cardinality=230.45K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: current_addr.ca_address_sk |
| | | runtime filters: RF000 <- current_addr.ca_address_sk |
| | | |
| | 23:EXCHANGE [BROADCAST] |
| | | |
| | 11:SCAN HDFS [tpcds.customer_address current_addr] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=25B cardinality=50.00K |
| | |
| 12:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | row-size=113B cardinality=230.45K |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: c_customer_sk |
| | | runtime filters: RF002 <- c_customer_sk |
| | | |
| | 22:EXCHANGE [HASH(c_customer_sk)] |
| | | |
| | 10:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF000 -> customer.c_current_addr_sk |
| | row-size=44B cardinality=100.00K |
| | |
| 21:EXCHANGE [HASH(ss_customer_sk)] |
| | |
| 20:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_coupon_amt), sum:merge(ss_net_profit) |
| | group by: ss_ticket_number, ss_customer_sk, ss_addr_sk, ca_city |
| | row-size=69B cardinality=230.45K |
| | |
| 19:EXCHANGE [HASH(ss_ticket_number,ss_customer_sk,ss_addr_sk,ca_city)] |
| | |
| 09:AGGREGATE [STREAMING] |
| | output: sum(ss_coupon_amt), sum(ss_net_profit) |
| | group by: ss_ticket_number, ss_customer_sk, ss_addr_sk, ca_city |
| | row-size=69B cardinality=230.45K |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_addr_sk = customer_address.ca_address_sk |
| | row-size=107B cardinality=230.45K |
| | |
| |--JOIN BUILD |
| | | join-table-id=02 plan-id=03 cohort-id=01 |
| | | build expressions: customer_address.ca_address_sk |
| | | runtime filters: RF004 <- customer_address.ca_address_sk |
| | | |
| | 18:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=25B cardinality=50.00K |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | row-size=83B cardinality=230.45K |
| | |
| |--JOIN BUILD |
| | | join-table-id=03 plan-id=04 cohort-id=01 |
| | | build expressions: store.s_store_sk |
| | | runtime filters: RF006 <- store.s_store_sk |
| | | |
| | 17:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville') |
| | row-size=23B cardinality=12 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | row-size=60B cardinality=230.45K |
| | |
| |--JOIN BUILD |
| | | join-table-id=04 plan-id=05 cohort-id=01 |
| | | build expressions: date_dim.d_date_sk |
| | | runtime filters: RF008 <- date_dim.d_date_sk |
| | | |
| | 16:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: date_dim.d_dow IN (6, 0), date_dim.d_year IN (1999, 2000, 2001) |
| | row-size=12B cardinality=598 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| | row-size=48B cardinality=702.92K |
| | |
| |--JOIN BUILD |
| | | join-table-id=05 plan-id=06 cohort-id=01 |
| | | build expressions: household_demographics.hd_demo_sk |
| | | runtime filters: RF010 <- household_demographics.hd_demo_sk |
| | | |
| | 15:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.household_demographics] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: (household_demographics.hd_dep_count = 5 OR household_demographics.hd_vehicle_count = 3) |
| | row-size=12B cardinality=1.80K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF002 -> tpcds.store_sales.ss_customer_sk, RF004 -> store_sales.ss_addr_sk, RF006 -> store_sales.ss_store_sk, RF008 -> store_sales.ss_sold_date_sk, RF010 -> store_sales.ss_hdemo_sk |
| row-size=36B cardinality=2.88M |
| ==== |
| # TPCDS-Q52 |
| select |
| dt.d_year, |
| item.i_brand_id brand_id, |
| item.i_brand brand, |
| sum(ss_ext_sales_price) ext_price |
| from |
| date_dim dt, |
| store_sales, |
| item |
| where |
| dt.d_date_sk = store_sales.ss_sold_date_sk |
| and store_sales.ss_item_sk = item.i_item_sk |
| and item.i_manager_id = 1 |
| and dt.d_moy = 12 |
| and dt.d_year = 1998 |
| group by |
| dt.d_year, |
| item.i_brand, |
| item.i_brand_id |
| order by |
| dt.d_year, |
| ext_price desc, |
| brand_id |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=29.88MB Threads=4 |
| Per-Host Resource Estimates: Memory=214MB |
| PLAN-ROOT SINK |
| | |
| 06:TOP-N [LIMIT=100] |
| | order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC |
| | row-size=52B cardinality=100 |
| | |
| 05:AGGREGATE [FINALIZE] |
| | output: sum(ss_ext_sales_price) |
| | group by: dt.d_year, item.i_brand, item.i_brand_id |
| | row-size=52B cardinality=1.73K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_sold_date_sk = dt.d_date_sk |
| | runtime filters: RF000 <- dt.d_date_sk |
| | row-size=72B cardinality=1.73K |
| | |
| |--00:SCAN HDFS [tpcds.date_dim dt] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: dt.d_year = 1998, dt.d_moy = 12 |
| | row-size=12B cardinality=108 |
| | |
| 03:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_item_sk = item.i_item_sk |
| | runtime filters: RF002 <- item.i_item_sk |
| | row-size=60B cardinality=29.12K |
| | |
| |--02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: item.i_manager_id = 1 |
| | row-size=44B cardinality=182 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF002 -> store_sales.ss_item_sk |
| row-size=16B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=33.81MB Threads=8 |
| Per-Host Resource Estimates: Memory=234MB |
| PLAN-ROOT SINK |
| | |
| 11:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC |
| | limit: 100 |
| | |
| 06:TOP-N [LIMIT=100] |
| | order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC |
| | row-size=52B cardinality=100 |
| | |
| 10:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price) |
| | group by: dt.d_year, item.i_brand, item.i_brand_id |
| | row-size=52B cardinality=1.73K |
| | |
| 09:EXCHANGE [HASH(dt.d_year,item.i_brand,item.i_brand_id)] |
| | |
| 05:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price) |
| | group by: dt.d_year, item.i_brand, item.i_brand_id |
| | row-size=52B cardinality=1.73K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_sold_date_sk = dt.d_date_sk |
| | runtime filters: RF000 <- dt.d_date_sk |
| | row-size=72B cardinality=1.73K |
| | |
| |--08:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.date_dim dt] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: dt.d_year = 1998, dt.d_moy = 12 |
| | row-size=12B cardinality=108 |
| | |
| 03:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_item_sk = item.i_item_sk |
| | runtime filters: RF002 <- item.i_item_sk |
| | row-size=60B cardinality=29.12K |
| | |
| |--07:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: item.i_manager_id = 1 |
| | row-size=44B cardinality=182 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF002 -> store_sales.ss_item_sk |
| row-size=16B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=51.62MB Threads=9 |
| Per-Host Resource Estimates: Memory=125MB |
| PLAN-ROOT SINK |
| | |
| 11:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC |
| | limit: 100 |
| | |
| 06:TOP-N [LIMIT=100] |
| | order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC |
| | row-size=52B cardinality=100 |
| | |
| 10:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price) |
| | group by: dt.d_year, item.i_brand, item.i_brand_id |
| | row-size=52B cardinality=1.73K |
| | |
| 09:EXCHANGE [HASH(dt.d_year,item.i_brand,item.i_brand_id)] |
| | |
| 05:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price) |
| | group by: dt.d_year, item.i_brand, item.i_brand_id |
| | row-size=52B cardinality=1.73K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_sold_date_sk = dt.d_date_sk |
| | row-size=72B cardinality=1.73K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: dt.d_date_sk |
| | | runtime filters: RF000 <- dt.d_date_sk |
| | | |
| | 08:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.date_dim dt] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: dt.d_year = 1998, dt.d_moy = 12 |
| | row-size=12B cardinality=108 |
| | |
| 03:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_item_sk = item.i_item_sk |
| | row-size=60B cardinality=29.12K |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: item.i_item_sk |
| | | runtime filters: RF002 <- item.i_item_sk |
| | | |
| | 07:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: item.i_manager_id = 1 |
| | row-size=44B cardinality=182 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF002 -> store_sales.ss_item_sk |
| row-size=16B cardinality=2.88M |
| ==== |
| # TPCDS-Q53 |
| select |
| * |
| from |
| (select |
| i_manufact_id, |
| sum(ss_sales_price) sum_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_month_seq in (1212, 1212 + 1, 1212 + 2, 1212 + 3, 1212 + 4, 1212 + 5, 1212 + 6, 1212 + 7, 1212 + 8, 1212 + 9, 1212 + 10, 1212 + 11) |
| and ((i_category in ('Books', 'Children', 'Electronics') |
| and i_class in ('personal', 'portable', 'reference', 'self-help') |
| and i_brand in ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9')) |
| or (i_category in ('Women', 'Music', 'Men') |
| and i_class in ('accessories', 'classical', 'fragrances', 'pants') |
| and i_brand in ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1'))) |
| group by |
| i_manufact_id, |
| d_qoy |
| ) tmp1 |
| order by |
| sum_sales, |
| i_manufact_id |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=32.82MB Threads=5 |
| Per-Host Resource Estimates: Memory=249MB |
| PLAN-ROOT SINK |
| | |
| 08:TOP-N [LIMIT=100] |
| | order by: sum_sales ASC, i_manufact_id ASC |
| | row-size=20B cardinality=96 |
| | |
| 07:AGGREGATE [FINALIZE] |
| | output: sum(ss_sales_price) |
| | group by: i_manufact_id, d_qoy |
| | row-size=24B cardinality=96 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=114B cardinality=96 |
| | |
| |--03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=4B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF002 <- d_date_sk |
| | row-size=110B cardinality=96 |
| | |
| |--02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq IN (1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223) |
| | row-size=12B cardinality=362 |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF004 <- i_item_sk |
| | row-size=98B cardinality=481 |
| | |
| |--00:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: ((i_category IN ('Books', 'Children', 'Electronics') AND i_class IN ('personal', 'portable', 'reference', 'self-help') AND i_brand IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9')) OR (i_category IN ('Women', 'Music', 'Men') AND i_class IN ('accessories', 'classical', 'fragrances', 'pants') AND i_brand IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1'))) |
| | row-size=78B cardinality=3 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_sold_date_sk, RF004 -> ss_item_sk |
| row-size=20B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=36.76MB Threads=10 |
| Per-Host Resource Estimates: Memory=269MB |
| PLAN-ROOT SINK |
| | |
| 14:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: sum_sales ASC, i_manufact_id ASC |
| | limit: 100 |
| | |
| 08:TOP-N [LIMIT=100] |
| | order by: sum_sales ASC, i_manufact_id ASC |
| | row-size=20B cardinality=96 |
| | |
| 13:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_sales_price) |
| | group by: i_manufact_id, d_qoy |
| | row-size=24B cardinality=96 |
| | |
| 12:EXCHANGE [HASH(i_manufact_id,d_qoy)] |
| | |
| 07:AGGREGATE [STREAMING] |
| | output: sum(ss_sales_price) |
| | group by: i_manufact_id, d_qoy |
| | row-size=24B cardinality=96 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=114B cardinality=96 |
| | |
| |--11:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=4B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF002 <- d_date_sk |
| | row-size=110B cardinality=96 |
| | |
| |--10:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq IN (1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223) |
| | row-size=12B cardinality=362 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF004 <- i_item_sk |
| | row-size=98B cardinality=481 |
| | |
| |--09:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: ((i_category IN ('Books', 'Children', 'Electronics') AND i_class IN ('personal', 'portable', 'reference', 'self-help') AND i_brand IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9')) OR (i_category IN ('Women', 'Music', 'Men') AND i_class IN ('accessories', 'classical', 'fragrances', 'pants') AND i_brand IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1'))) |
| | row-size=78B cardinality=3 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_sold_date_sk, RF004 -> ss_item_sk |
| row-size=20B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=57.51MB Threads=11 |
| Per-Host Resource Estimates: Memory=146MB |
| PLAN-ROOT SINK |
| | |
| 14:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: sum_sales ASC, i_manufact_id ASC |
| | limit: 100 |
| | |
| 08:TOP-N [LIMIT=100] |
| | order by: sum_sales ASC, i_manufact_id ASC |
| | row-size=20B cardinality=96 |
| | |
| 13:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_sales_price) |
| | group by: i_manufact_id, d_qoy |
| | row-size=24B cardinality=96 |
| | |
| 12:EXCHANGE [HASH(i_manufact_id,d_qoy)] |
| | |
| 07:AGGREGATE [STREAMING] |
| | output: sum(ss_sales_price) |
| | group by: i_manufact_id, d_qoy |
| | row-size=24B cardinality=96 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | row-size=114B cardinality=96 |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: s_store_sk |
| | | runtime filters: RF000 <- s_store_sk |
| | | |
| | 11:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=4B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | row-size=110B cardinality=96 |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: d_date_sk |
| | | runtime filters: RF002 <- d_date_sk |
| | | |
| | 10:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq IN (1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223) |
| | row-size=12B cardinality=362 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | row-size=98B cardinality=481 |
| | |
| |--JOIN BUILD |
| | | join-table-id=02 plan-id=03 cohort-id=01 |
| | | build expressions: i_item_sk |
| | | runtime filters: RF004 <- i_item_sk |
| | | |
| | 09:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: ((i_category IN ('Books', 'Children', 'Electronics') AND i_class IN ('personal', 'portable', 'reference', 'self-help') AND i_brand IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9')) OR (i_category IN ('Women', 'Music', 'Men') AND i_class IN ('accessories', 'classical', 'fragrances', 'pants') AND i_brand IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1'))) |
| | row-size=78B cardinality=3 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_sold_date_sk, RF004 -> ss_item_sk |
| row-size=20B cardinality=2.88M |
| ==== |
| # TPCDS-Q55 |
| select |
| i_brand_id brand_id, |
| i_brand brand, |
| sum(ss_ext_sales_price) ext_price |
| from |
| date_dim, |
| store_sales, |
| item |
| where |
| d_date_sk = ss_sold_date_sk |
| and ss_item_sk = i_item_sk |
| and i_manager_id = 36 |
| and d_moy = 12 |
| and d_year = 2001 |
| group by |
| i_brand, |
| i_brand_id |
| order by |
| ext_price desc, |
| i_brand_id |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=29.88MB Threads=4 |
| Per-Host Resource Estimates: Memory=214MB |
| PLAN-ROOT SINK |
| | |
| 06:TOP-N [LIMIT=100] |
| | order by: sum(ss_ext_sales_price) DESC, i_brand_id ASC |
| | row-size=48B cardinality=100 |
| | |
| 05:AGGREGATE [FINALIZE] |
| | output: sum(ss_ext_sales_price) |
| | group by: i_brand, i_brand_id |
| | row-size=48B cardinality=1.73K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF000 <- d_date_sk |
| | row-size=72B cardinality=1.73K |
| | |
| |--00:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 2001, d_moy = 12 |
| | row-size=12B cardinality=108 |
| | |
| 03:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF002 <- i_item_sk |
| | row-size=60B cardinality=29.12K |
| | |
| |--02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_manager_id = 36 |
| | row-size=44B cardinality=182 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_sold_date_sk, RF002 -> ss_item_sk |
| row-size=16B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=33.81MB Threads=8 |
| Per-Host Resource Estimates: Memory=234MB |
| PLAN-ROOT SINK |
| | |
| 11:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: sum(ss_ext_sales_price) DESC, i_brand_id ASC |
| | limit: 100 |
| | |
| 06:TOP-N [LIMIT=100] |
| | order by: sum(ss_ext_sales_price) DESC, i_brand_id ASC |
| | row-size=48B cardinality=100 |
| | |
| 10:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price) |
| | group by: i_brand, i_brand_id |
| | row-size=48B cardinality=1.73K |
| | |
| 09:EXCHANGE [HASH(i_brand,i_brand_id)] |
| | |
| 05:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price) |
| | group by: i_brand, i_brand_id |
| | row-size=48B cardinality=1.73K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF000 <- d_date_sk |
| | row-size=72B cardinality=1.73K |
| | |
| |--08:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 2001, d_moy = 12 |
| | row-size=12B cardinality=108 |
| | |
| 03:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF002 <- i_item_sk |
| | row-size=60B cardinality=29.12K |
| | |
| |--07:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_manager_id = 36 |
| | row-size=44B cardinality=182 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_sold_date_sk, RF002 -> ss_item_sk |
| row-size=16B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=51.62MB Threads=9 |
| Per-Host Resource Estimates: Memory=124MB |
| PLAN-ROOT SINK |
| | |
| 11:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: sum(ss_ext_sales_price) DESC, i_brand_id ASC |
| | limit: 100 |
| | |
| 06:TOP-N [LIMIT=100] |
| | order by: sum(ss_ext_sales_price) DESC, i_brand_id ASC |
| | row-size=48B cardinality=100 |
| | |
| 10:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price) |
| | group by: i_brand, i_brand_id |
| | row-size=48B cardinality=1.73K |
| | |
| 09:EXCHANGE [HASH(i_brand,i_brand_id)] |
| | |
| 05:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price) |
| | group by: i_brand, i_brand_id |
| | row-size=48B cardinality=1.73K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | row-size=72B cardinality=1.73K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: d_date_sk |
| | | runtime filters: RF000 <- d_date_sk |
| | | |
| | 08:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 2001, d_moy = 12 |
| | row-size=12B cardinality=108 |
| | |
| 03:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | row-size=60B cardinality=29.12K |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: i_item_sk |
| | | runtime filters: RF002 <- i_item_sk |
| | | |
| | 07:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_manager_id = 36 |
| | row-size=44B cardinality=182 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_sold_date_sk, RF002 -> ss_item_sk |
| row-size=16B cardinality=2.88M |
| ==== |
| # TPCDS-Q59 |
| with |
| wss as |
| (select |
| d_week_seq, |
| ss_store_sk, |
| sum(case when (d_day_name = 'Sunday') then ss_sales_price else null end) sun_sales, |
| sum(case when (d_day_name = 'Monday') then ss_sales_price else null end) mon_sales, |
| sum(case when (d_day_name = 'Tuesday') then ss_sales_price else null end) tue_sales, |
| sum(case when (d_day_name = 'Wednesday') then ss_sales_price else null end) wed_sales, |
| sum(case when (d_day_name = 'Thursday') then ss_sales_price else null end) thu_sales, |
| sum(case when (d_day_name = 'Friday') then ss_sales_price else null end) fri_sales, |
| sum(case when (d_day_name = 'Saturday') then ss_sales_price else null end) sat_sales |
| from |
| store_sales, |
| date_dim |
| where |
| d_date_sk = ss_sold_date_sk |
| group by |
| d_week_seq, |
| ss_store_sk |
| ) |
| select |
| s_store_name1, |
| s_store_id1, |
| d_week_seq1, |
| sun_sales1 / sun_sales2, |
| mon_sales1 / mon_sales2, |
| tue_sales1 / tue_sales2, |
| wed_sales1 / wed_sales2, |
| thu_sales1 / thu_sales2, |
| fri_sales1 / fri_sales2, |
| sat_sales1 / sat_sales2 |
| from |
| (select |
| s_store_name s_store_name1, |
| wss.d_week_seq d_week_seq1, |
| s_store_id s_store_id1, |
| sun_sales sun_sales1, |
| mon_sales mon_sales1, |
| tue_sales tue_sales1, |
| wed_sales wed_sales1, |
| thu_sales thu_sales1, |
| fri_sales fri_sales1, |
| sat_sales sat_sales1 |
| from |
| wss, |
| store, |
| date_dim d |
| where |
| d.d_week_seq = wss.d_week_seq |
| and ss_store_sk = s_store_sk |
| and d_month_seq between 1185 and 1185 + 11 |
| ) y, |
| (select |
| s_store_name s_store_name2, |
| wss.d_week_seq d_week_seq2, |
| s_store_id s_store_id2, |
| sun_sales sun_sales2, |
| mon_sales mon_sales2, |
| tue_sales tue_sales2, |
| wed_sales wed_sales2, |
| thu_sales thu_sales2, |
| fri_sales fri_sales2, |
| sat_sales sat_sales2 |
| from |
| wss, |
| store, |
| date_dim d |
| where |
| d.d_week_seq = wss.d_week_seq |
| and ss_store_sk = s_store_sk |
| and d_month_seq between 1185 + 12 and 1185 + 23 |
| ) x |
| where |
| s_store_id1 = s_store_id2 |
| and d_week_seq1 = d_week_seq2 - 52 |
| order by |
| s_store_name1, |
| s_store_id1, |
| d_week_seq1 |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=70.52MB Threads=9 |
| Per-Host Resource Estimates: Memory=534MB |
| PLAN-ROOT SINK |
| | |
| 17:TOP-N [LIMIT=100] |
| | order by: s_store_name1 ASC, s_store_id1 ASC, d_week_seq1 ASC |
| | row-size=272B cardinality=100 |
| | |
| 16:HASH JOIN [INNER JOIN] |
| | hash predicates: d_week_seq = d_week_seq - 52, s_store_id = s_store_id |
| | runtime filters: RF000 <- d_week_seq - 52, RF001 <- s_store_id |
| | row-size=336B cardinality=419.05M |
| | |
| |--15:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | runtime filters: RF010 <- s_store_sk |
| | | row-size=160B cardinality=50.14K |
| | | |
| | |--12:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | row-size=32B cardinality=12 |
| | | |
| | 14:HASH JOIN [INNER JOIN] |
| | | hash predicates: d_week_seq = d.d_week_seq |
| | | runtime filters: RF012 <- d.d_week_seq |
| | | row-size=128B cardinality=50.14K |
| | | |
| | |--13:SCAN HDFS [tpcds.date_dim d] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_month_seq <= 1208, d_month_seq >= 1197 |
| | | row-size=8B cardinality=7.30K |
| | | |
| | 11:AGGREGATE [FINALIZE] |
| | | output: sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) |
| | | group by: d_week_seq, ss_store_sk |
| | | row-size=120B cardinality=63.85K |
| | | |
| | 10:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | runtime filters: RF014 <- d_date_sk |
| | | row-size=39B cardinality=2.88M |
| | | |
| | |--09:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | runtime filters: RF012 -> tpcds.date_dim.d_week_seq |
| | | row-size=27B cardinality=73.05K |
| | | |
| | 08:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF010 -> tpcds.store_sales.ss_store_sk, RF014 -> ss_sold_date_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 07:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF004 <- s_store_sk |
| | row-size=176B cardinality=50.14K |
| | |
| |--04:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | runtime filters: RF001 -> s_store_id |
| | row-size=48B cardinality=12 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: d_week_seq = d.d_week_seq |
| | runtime filters: RF006 <- d.d_week_seq |
| | row-size=128B cardinality=50.14K |
| | |
| |--05:SCAN HDFS [tpcds.date_dim d] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq <= 1196, d_month_seq >= 1185 |
| | runtime filters: RF000 -> d.d_week_seq |
| | row-size=8B cardinality=7.30K |
| | |
| 03:AGGREGATE [FINALIZE] |
| | output: sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) |
| | group by: d_week_seq, ss_store_sk |
| | row-size=120B cardinality=63.85K |
| | |
| 02:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF008 <- d_date_sk |
| | row-size=39B cardinality=2.88M |
| | |
| |--01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | runtime filters: RF000 -> tpcds.date_dim.d_week_seq, RF006 -> tpcds.date_dim.d_week_seq |
| | row-size=27B cardinality=73.05K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF004 -> tpcds.store_sales.ss_store_sk, RF008 -> ss_sold_date_sk |
| row-size=12B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=103.14MB Threads=20 |
| Per-Host Resource Estimates: Memory=601MB |
| PLAN-ROOT SINK |
| | |
| 30:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: s_store_name1 ASC, s_store_id1 ASC, d_week_seq1 ASC |
| | limit: 100 |
| | |
| 17:TOP-N [LIMIT=100] |
| | order by: s_store_name1 ASC, s_store_id1 ASC, d_week_seq1 ASC |
| | row-size=272B cardinality=100 |
| | |
| 16:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: d_week_seq = d_week_seq - 52, s_store_id = s_store_id |
| | runtime filters: RF000 <- d_week_seq - 52, RF001 <- s_store_id |
| | row-size=336B cardinality=419.05M |
| | |
| |--29:EXCHANGE [HASH(d_week_seq - 52,s_store_id)] |
| | | |
| | 15:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | runtime filters: RF010 <- s_store_sk |
| | | row-size=160B cardinality=50.14K |
| | | |
| | |--27:EXCHANGE [BROADCAST] |
| | | | |
| | | 12:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | row-size=32B cardinality=12 |
| | | |
| | 14:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: d_week_seq = d.d_week_seq |
| | | runtime filters: RF012 <- d.d_week_seq |
| | | row-size=128B cardinality=50.14K |
| | | |
| | |--26:EXCHANGE [BROADCAST] |
| | | | |
| | | 13:SCAN HDFS [tpcds.date_dim d] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_month_seq <= 1208, d_month_seq >= 1197 |
| | | row-size=8B cardinality=7.30K |
| | | |
| | 25:AGGREGATE [FINALIZE] |
| | | output: sum:merge(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) |
| | | group by: d_week_seq, ss_store_sk |
| | | row-size=120B cardinality=63.85K |
| | | |
| | 24:EXCHANGE [HASH(d_week_seq,ss_store_sk)] |
| | | |
| | 11:AGGREGATE [STREAMING] |
| | | output: sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) |
| | | group by: d_week_seq, ss_store_sk |
| | | row-size=120B cardinality=63.85K |
| | | |
| | 10:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | runtime filters: RF014 <- d_date_sk |
| | | row-size=39B cardinality=2.88M |
| | | |
| | |--23:EXCHANGE [BROADCAST] |
| | | | |
| | | 09:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | runtime filters: RF012 -> tpcds.date_dim.d_week_seq |
| | | row-size=27B cardinality=73.05K |
| | | |
| | 08:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF010 -> tpcds.store_sales.ss_store_sk, RF014 -> ss_sold_date_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 28:EXCHANGE [HASH(d_week_seq,s_store_id)] |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF004 <- s_store_sk |
| | row-size=176B cardinality=50.14K |
| | |
| |--22:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | runtime filters: RF001 -> s_store_id |
| | row-size=48B cardinality=12 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: d_week_seq = d.d_week_seq |
| | runtime filters: RF006 <- d.d_week_seq |
| | row-size=128B cardinality=50.14K |
| | |
| |--21:EXCHANGE [BROADCAST] |
| | | |
| | 05:SCAN HDFS [tpcds.date_dim d] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq <= 1196, d_month_seq >= 1185 |
| | runtime filters: RF000 -> d.d_week_seq |
| | row-size=8B cardinality=7.30K |
| | |
| 20:AGGREGATE [FINALIZE] |
| | output: sum:merge(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) |
| | group by: d_week_seq, ss_store_sk |
| | row-size=120B cardinality=63.85K |
| | |
| 19:EXCHANGE [HASH(d_week_seq,ss_store_sk)] |
| | |
| 03:AGGREGATE [STREAMING] |
| | output: sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) |
| | group by: d_week_seq, ss_store_sk |
| | row-size=120B cardinality=63.85K |
| | |
| 02:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF008 <- d_date_sk |
| | row-size=39B cardinality=2.88M |
| | |
| |--18:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | runtime filters: RF000 -> tpcds.date_dim.d_week_seq, RF006 -> tpcds.date_dim.d_week_seq |
| | row-size=27B cardinality=73.05K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF004 -> tpcds.store_sales.ss_store_sk, RF008 -> ss_sold_date_sk |
| row-size=12B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=159.52MB Threads=25 |
| Per-Host Resource Estimates: Memory=356MB |
| PLAN-ROOT SINK |
| | |
| 30:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: s_store_name1 ASC, s_store_id1 ASC, d_week_seq1 ASC |
| | limit: 100 |
| | |
| 17:TOP-N [LIMIT=100] |
| | order by: s_store_name1 ASC, s_store_id1 ASC, d_week_seq1 ASC |
| | row-size=272B cardinality=100 |
| | |
| 16:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: d_week_seq = d_week_seq - 52, s_store_id = s_store_id |
| | row-size=336B cardinality=419.05M |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: d_week_seq - 52, s_store_id |
| | | runtime filters: RF000 <- d_week_seq - 52, RF001 <- s_store_id |
| | | |
| | 29:EXCHANGE [HASH(d_week_seq - 52,s_store_id)] |
| | | |
| | 15:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=160B cardinality=50.14K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=01 plan-id=02 cohort-id=02 |
| | | | build expressions: s_store_sk |
| | | | runtime filters: RF010 <- s_store_sk |
| | | | |
| | | 27:EXCHANGE [BROADCAST] |
| | | | |
| | | 12:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | row-size=32B cardinality=12 |
| | | |
| | 14:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: d_week_seq = d.d_week_seq |
| | | row-size=128B cardinality=50.14K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=02 plan-id=03 cohort-id=02 |
| | | | build expressions: d.d_week_seq |
| | | | runtime filters: RF012 <- d.d_week_seq |
| | | | |
| | | 26:EXCHANGE [BROADCAST] |
| | | | |
| | | 13:SCAN HDFS [tpcds.date_dim d] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_month_seq <= 1208, d_month_seq >= 1197 |
| | | row-size=8B cardinality=7.30K |
| | | |
| | 25:AGGREGATE [FINALIZE] |
| | | output: sum:merge(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) |
| | | group by: d_week_seq, ss_store_sk |
| | | row-size=120B cardinality=63.85K |
| | | |
| | 24:EXCHANGE [HASH(d_week_seq,ss_store_sk)] |
| | | |
| | 11:AGGREGATE [STREAMING] |
| | | output: sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) |
| | | group by: d_week_seq, ss_store_sk |
| | | row-size=120B cardinality=63.85K |
| | | |
| | 10:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | row-size=39B cardinality=2.88M |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=03 plan-id=04 cohort-id=02 |
| | | | build expressions: d_date_sk |
| | | | runtime filters: RF014 <- d_date_sk |
| | | | |
| | | 23:EXCHANGE [BROADCAST] |
| | | | |
| | | 09:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | runtime filters: RF012 -> tpcds.date_dim.d_week_seq |
| | | row-size=27B cardinality=73.05K |
| | | |
| | 08:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF010 -> tpcds.store_sales.ss_store_sk, RF014 -> ss_sold_date_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 28:EXCHANGE [HASH(d_week_seq,s_store_id)] |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | row-size=176B cardinality=50.14K |
| | |
| |--JOIN BUILD |
| | | join-table-id=04 plan-id=05 cohort-id=01 |
| | | build expressions: s_store_sk |
| | | runtime filters: RF004 <- s_store_sk |
| | | |
| | 22:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | runtime filters: RF001 -> s_store_id |
| | row-size=48B cardinality=12 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: d_week_seq = d.d_week_seq |
| | row-size=128B cardinality=50.14K |
| | |
| |--JOIN BUILD |
| | | join-table-id=05 plan-id=06 cohort-id=01 |
| | | build expressions: d.d_week_seq |
| | | runtime filters: RF006 <- d.d_week_seq |
| | | |
| | 21:EXCHANGE [BROADCAST] |
| | | |
| | 05:SCAN HDFS [tpcds.date_dim d] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq <= 1196, d_month_seq >= 1185 |
| | runtime filters: RF000 -> d.d_week_seq |
| | row-size=8B cardinality=7.30K |
| | |
| 20:AGGREGATE [FINALIZE] |
| | output: sum:merge(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum:merge(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) |
| | group by: d_week_seq, ss_store_sk |
| | row-size=120B cardinality=63.85K |
| | |
| 19:EXCHANGE [HASH(d_week_seq,ss_store_sk)] |
| | |
| 03:AGGREGATE [STREAMING] |
| | output: sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END), sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) |
| | group by: d_week_seq, ss_store_sk |
| | row-size=120B cardinality=63.85K |
| | |
| 02:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | row-size=39B cardinality=2.88M |
| | |
| |--JOIN BUILD |
| | | join-table-id=06 plan-id=07 cohort-id=01 |
| | | build expressions: d_date_sk |
| | | runtime filters: RF008 <- d_date_sk |
| | | |
| | 18:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | runtime filters: RF000 -> tpcds.date_dim.d_week_seq, RF006 -> tpcds.date_dim.d_week_seq |
| | row-size=27B cardinality=73.05K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF004 -> tpcds.store_sales.ss_store_sk, RF008 -> ss_sold_date_sk |
| row-size=12B cardinality=2.88M |
| ==== |
| # TPCDS-Q63 |
| 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 |
| 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_month_seq in (1212, 1212 + 1, 1212 + 2, 1212 + 3, 1212 + 4, 1212 + 5, 1212 + 6, 1212 + 7, 1212 + 8, 1212 + 9, 1212 + 10, 1212 + 11) |
| and ((i_category in ('Books', 'Children', 'Electronics') |
| and i_class in ('personal', 'portable', 'refernece', 'self-help') |
| and i_brand in ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9')) |
| or (i_category in ('Women', 'Music', 'Men') |
| and i_class in ('accessories', 'classical', 'fragrances', 'pants') |
| and i_brand in ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1'))) |
| and ss_sold_date_sk between 2451911 and 2452275 -- partition key filter |
| group by |
| 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 |
| order by |
| i_manager_id, |
| avg_monthly_sales, |
| sum_sales |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=29.32MB Threads=5 |
| Per-Host Resource Estimates: Memory=253MB |
| PLAN-ROOT SINK |
| | |
| 11:TOP-N [LIMIT=100] |
| | order by: i_manager_id ASC, avg_monthly_sales ASC, sum_sales ASC |
| | row-size=36B cardinality=1 |
| | |
| 10:SELECT |
| | predicates: CASE WHEN avg(sum(ss_sales_price)) > 0 THEN abs(sum(ss_sales_price) - avg(sum(ss_sales_price))) / avg(sum(ss_sales_price)) ELSE NULL END > 0.1 |
| | row-size=40B cardinality=1 |
| | |
| 09:ANALYTIC |
| | functions: avg(sum(ss_sales_price)) |
| | partition by: i_manager_id |
| | row-size=40B cardinality=6 |
| | |
| 08:SORT |
| | order by: i_manager_id ASC NULLS LAST |
| | row-size=24B cardinality=6 |
| | |
| 07:AGGREGATE [FINALIZE] |
| | output: sum(ss_sales_price) |
| | group by: i_manager_id, d_moy |
| | row-size=24B cardinality=6 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=114B cardinality=6 |
| | |
| |--03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=4B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF002 <- d_date_sk |
| | row-size=110B cardinality=6 |
| | |
| |--02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: tpcds.date_dim.d_date_sk <= 2452275, tpcds.date_dim.d_date_sk >= 2451911, d_month_seq IN (1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223) |
| | row-size=12B cardinality=114 |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF004 <- i_item_sk |
| | row-size=98B cardinality=92 |
| | |
| |--00:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: ((i_category IN ('Books', 'Children', 'Electronics') AND i_class IN ('personal', 'portable', 'refernece', 'self-help') AND i_brand IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9')) OR (i_category IN ('Women', 'Music', 'Men') AND i_class IN ('accessories', 'classical', 'fragrances', 'pants') AND i_brand IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1'))) |
| | row-size=78B cardinality=3 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| partition predicates: ss_sold_date_sk >= 2451911, ss_sold_date_sk <= 2452275 |
| HDFS partitions=364/1824 files=364 size=66.85MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_sold_date_sk, RF004 -> ss_item_sk |
| row-size=20B cardinality=546.31K |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=39.26MB Threads=10 |
| Per-Host Resource Estimates: Memory=279MB |
| PLAN-ROOT SINK |
| | |
| 17:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: i_manager_id ASC, avg_monthly_sales ASC, sum_sales ASC |
| | limit: 100 |
| | |
| 11:TOP-N [LIMIT=100] |
| | order by: i_manager_id ASC, avg_monthly_sales ASC, sum_sales ASC |
| | row-size=36B cardinality=1 |
| | |
| 10:SELECT |
| | predicates: CASE WHEN avg(sum(ss_sales_price)) > 0 THEN abs(sum(ss_sales_price) - avg(sum(ss_sales_price))) / avg(sum(ss_sales_price)) ELSE NULL END > 0.1 |
| | row-size=40B cardinality=1 |
| | |
| 09:ANALYTIC |
| | functions: avg(sum(ss_sales_price)) |
| | partition by: i_manager_id |
| | row-size=40B cardinality=6 |
| | |
| 08:SORT |
| | order by: i_manager_id ASC NULLS LAST |
| | row-size=24B cardinality=6 |
| | |
| 16:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_sales_price) |
| | group by: i_manager_id, d_moy |
| | row-size=24B cardinality=6 |
| | |
| 15:EXCHANGE [HASH(i_manager_id)] |
| | |
| 07:AGGREGATE [STREAMING] |
| | output: sum(ss_sales_price) |
| | group by: i_manager_id, d_moy |
| | row-size=24B cardinality=6 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=114B cardinality=6 |
| | |
| |--14:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=4B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF002 <- d_date_sk |
| | row-size=110B cardinality=6 |
| | |
| |--13:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: tpcds.date_dim.d_date_sk <= 2452275, tpcds.date_dim.d_date_sk >= 2451911, d_month_seq IN (1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223) |
| | row-size=12B cardinality=114 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF004 <- i_item_sk |
| | row-size=98B cardinality=92 |
| | |
| |--12:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: ((i_category IN ('Books', 'Children', 'Electronics') AND i_class IN ('personal', 'portable', 'refernece', 'self-help') AND i_brand IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9')) OR (i_category IN ('Women', 'Music', 'Men') AND i_class IN ('accessories', 'classical', 'fragrances', 'pants') AND i_brand IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1'))) |
| | row-size=78B cardinality=3 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| partition predicates: ss_sold_date_sk >= 2451911, ss_sold_date_sk <= 2452275 |
| HDFS partitions=364/1824 files=364 size=66.85MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_sold_date_sk, RF004 -> ss_item_sk |
| row-size=20B cardinality=546.31K |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=62.51MB Threads=11 |
| Per-Host Resource Estimates: Memory=166MB |
| PLAN-ROOT SINK |
| | |
| 17:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: i_manager_id ASC, avg_monthly_sales ASC, sum_sales ASC |
| | limit: 100 |
| | |
| 11:TOP-N [LIMIT=100] |
| | order by: i_manager_id ASC, avg_monthly_sales ASC, sum_sales ASC |
| | row-size=36B cardinality=1 |
| | |
| 10:SELECT |
| | predicates: CASE WHEN avg(sum(ss_sales_price)) > 0 THEN abs(sum(ss_sales_price) - avg(sum(ss_sales_price))) / avg(sum(ss_sales_price)) ELSE NULL END > 0.1 |
| | row-size=40B cardinality=1 |
| | |
| 09:ANALYTIC |
| | functions: avg(sum(ss_sales_price)) |
| | partition by: i_manager_id |
| | row-size=40B cardinality=6 |
| | |
| 08:SORT |
| | order by: i_manager_id ASC NULLS LAST |
| | row-size=24B cardinality=6 |
| | |
| 16:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_sales_price) |
| | group by: i_manager_id, d_moy |
| | row-size=24B cardinality=6 |
| | |
| 15:EXCHANGE [HASH(i_manager_id)] |
| | |
| 07:AGGREGATE [STREAMING] |
| | output: sum(ss_sales_price) |
| | group by: i_manager_id, d_moy |
| | row-size=24B cardinality=6 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | row-size=114B cardinality=6 |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: s_store_sk |
| | | runtime filters: RF000 <- s_store_sk |
| | | |
| | 14:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=4B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | row-size=110B cardinality=6 |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: d_date_sk |
| | | runtime filters: RF002 <- d_date_sk |
| | | |
| | 13:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: tpcds.date_dim.d_date_sk <= 2452275, tpcds.date_dim.d_date_sk >= 2451911, d_month_seq IN (1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223) |
| | row-size=12B cardinality=114 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | row-size=98B cardinality=92 |
| | |
| |--JOIN BUILD |
| | | join-table-id=02 plan-id=03 cohort-id=01 |
| | | build expressions: i_item_sk |
| | | runtime filters: RF004 <- i_item_sk |
| | | |
| | 12:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: ((i_category IN ('Books', 'Children', 'Electronics') AND i_class IN ('personal', 'portable', 'refernece', 'self-help') AND i_brand IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9')) OR (i_category IN ('Women', 'Music', 'Men') AND i_class IN ('accessories', 'classical', 'fragrances', 'pants') AND i_brand IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1'))) |
| | row-size=78B cardinality=3 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| partition predicates: ss_sold_date_sk >= 2451911, ss_sold_date_sk <= 2452275 |
| HDFS partitions=364/1824 files=364 size=66.85MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_sold_date_sk, RF004 -> ss_item_sk |
| row-size=20B cardinality=546.31K |
| ==== |
| # TPCDS-Q65 |
| select |
| s_store_name, |
| i_item_desc, |
| sc.revenue, |
| i_current_price, |
| i_wholesale_cost, |
| i_brand |
| from |
| store, |
| item, |
| (select |
| ss_store_sk, |
| avg(revenue) as ave |
| from |
| (select |
| ss_store_sk, |
| ss_item_sk, |
| sum(ss_sales_price) as revenue |
| from |
| store_sales, |
| date_dim |
| where |
| ss_sold_date_sk = d_date_sk |
| and d_month_seq between 1212 and 1212 + 11 |
| group by |
| ss_store_sk, |
| ss_item_sk |
| ) sa |
| group by |
| ss_store_sk |
| ) sb, |
| (select |
| ss_store_sk, |
| ss_item_sk, |
| sum(ss_sales_price) as revenue |
| from |
| store_sales, |
| date_dim |
| where |
| ss_sold_date_sk = d_date_sk |
| and d_month_seq between 1212 and 1212 + 11 |
| group by |
| ss_store_sk, |
| ss_item_sk |
| ) sc |
| where |
| sb.ss_store_sk = sc.ss_store_sk |
| and sc.revenue <= 0.1 * sb.ave |
| and s_store_sk = sc.ss_store_sk |
| and i_item_sk = sc.ss_item_sk |
| order by |
| s_store_name, |
| i_item_desc |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=55.57MB Threads=7 |
| Per-Host Resource Estimates: Memory=432MB |
| PLAN-ROOT SINK |
| | |
| 14:TOP-N [LIMIT=100] |
| | order by: s_store_name ASC, i_item_desc ASC |
| | row-size=181B cardinality=100 |
| | |
| 13:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = ss_store_sk |
| | other predicates: sum(ss_sales_price) <= 0.1 * avg(revenue) |
| | runtime filters: RF000 <- ss_store_sk |
| | row-size=225B cardinality=647.10K |
| | |
| |--06:AGGREGATE [FINALIZE] |
| | | output: avg(sum(ss_sales_price)) |
| | | group by: ss_store_sk |
| | | row-size=20B cardinality=6 |
| | | |
| | 05:AGGREGATE [FINALIZE] |
| | | output: sum(ss_sales_price) |
| | | group by: ss_store_sk, ss_item_sk |
| | | row-size=28B cardinality=107.85K |
| | | |
| | 04:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | runtime filters: RF008 <- d_date_sk |
| | | row-size=28B cardinality=2.88M |
| | | |
| | |--03:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_month_seq <= 1223, d_month_seq >= 1212 |
| | | row-size=8B cardinality=7.30K |
| | | |
| | 02:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF008 -> ss_sold_date_sk |
| | row-size=20B cardinality=2.88M |
| | |
| 12:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF002 <- i_item_sk |
| | row-size=205B cardinality=107.85K |
| | |
| |--01:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=157B cardinality=18.00K |
| | |
| 11:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF004 <- s_store_sk |
| | row-size=48B cardinality=107.85K |
| | |
| |--00:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | runtime filters: RF000 -> tpcds.store.s_store_sk |
| | row-size=20B cardinality=12 |
| | |
| 10:AGGREGATE [FINALIZE] |
| | output: sum(ss_sales_price) |
| | group by: ss_store_sk, ss_item_sk |
| | row-size=28B cardinality=107.85K |
| | |
| 09:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF006 <- d_date_sk |
| | row-size=28B cardinality=2.88M |
| | |
| |--08:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq <= 1223, d_month_seq >= 1212 |
| | row-size=8B cardinality=7.30K |
| | |
| 07:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> tpcds.store_sales.ss_store_sk, RF002 -> tpcds.store_sales.ss_item_sk, RF004 -> tpcds.store_sales.ss_store_sk, RF006 -> ss_sold_date_sk |
| row-size=20B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=76.51MB Threads=17 |
| Per-Host Resource Estimates: Memory=502MB |
| PLAN-ROOT SINK |
| | |
| 27:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: s_store_name ASC, i_item_desc ASC |
| | limit: 100 |
| | |
| 14:TOP-N [LIMIT=100] |
| | order by: s_store_name ASC, i_item_desc ASC |
| | row-size=181B cardinality=100 |
| | |
| 13:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = ss_store_sk |
| | other predicates: sum(ss_sales_price) <= 0.1 * avg(revenue) |
| | runtime filters: RF000 <- ss_store_sk |
| | row-size=225B cardinality=647.10K |
| | |
| |--26:EXCHANGE [BROADCAST] |
| | | |
| | 25:AGGREGATE [FINALIZE] |
| | | output: avg:merge(revenue) |
| | | group by: ss_store_sk |
| | | row-size=20B cardinality=6 |
| | | |
| | 24:EXCHANGE [HASH(ss_store_sk)] |
| | | |
| | 06:AGGREGATE [STREAMING] |
| | | output: avg(sum(ss_sales_price)) |
| | | group by: ss_store_sk |
| | | row-size=20B cardinality=6 |
| | | |
| | 23:AGGREGATE [FINALIZE] |
| | | output: sum:merge(ss_sales_price) |
| | | group by: ss_store_sk, ss_item_sk |
| | | row-size=28B cardinality=107.85K |
| | | |
| | 22:EXCHANGE [HASH(ss_store_sk,ss_item_sk)] |
| | | |
| | 05:AGGREGATE [STREAMING] |
| | | output: sum(ss_sales_price) |
| | | group by: ss_store_sk, ss_item_sk |
| | | row-size=28B cardinality=107.85K |
| | | |
| | 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | runtime filters: RF008 <- d_date_sk |
| | | row-size=28B cardinality=2.88M |
| | | |
| | |--21:EXCHANGE [BROADCAST] |
| | | | |
| | | 03:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_month_seq <= 1223, d_month_seq >= 1212 |
| | | row-size=8B cardinality=7.30K |
| | | |
| | 02:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF008 -> ss_sold_date_sk |
| | row-size=20B cardinality=2.88M |
| | |
| 12:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF002 <- i_item_sk |
| | row-size=205B cardinality=107.85K |
| | |
| |--20:EXCHANGE [HASH(i_item_sk)] |
| | | |
| | 01:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=157B cardinality=18.00K |
| | |
| 19:EXCHANGE [HASH(ss_item_sk)] |
| | |
| 11:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF004 <- s_store_sk |
| | row-size=48B cardinality=107.85K |
| | |
| |--18:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | runtime filters: RF000 -> tpcds.store.s_store_sk |
| | row-size=20B cardinality=12 |
| | |
| 17:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_sales_price) |
| | group by: ss_store_sk, ss_item_sk |
| | row-size=28B cardinality=107.85K |
| | |
| 16:EXCHANGE [HASH(ss_store_sk,ss_item_sk)] |
| | |
| 10:AGGREGATE [STREAMING] |
| | output: sum(ss_sales_price) |
| | group by: ss_store_sk, ss_item_sk |
| | row-size=28B cardinality=107.85K |
| | |
| 09:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF006 <- d_date_sk |
| | row-size=28B cardinality=2.88M |
| | |
| |--15:EXCHANGE [BROADCAST] |
| | | |
| | 08:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq <= 1223, d_month_seq >= 1212 |
| | row-size=8B cardinality=7.30K |
| | |
| 07:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> tpcds.store_sales.ss_store_sk, RF002 -> tpcds.store_sales.ss_item_sk, RF004 -> tpcds.store_sales.ss_store_sk, RF006 -> ss_sold_date_sk |
| row-size=20B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=123.01MB Threads=23 |
| Per-Host Resource Estimates: Memory=310MB |
| PLAN-ROOT SINK |
| | |
| 27:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: s_store_name ASC, i_item_desc ASC |
| | limit: 100 |
| | |
| 14:TOP-N [LIMIT=100] |
| | order by: s_store_name ASC, i_item_desc ASC |
| | row-size=181B cardinality=100 |
| | |
| 13:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = ss_store_sk |
| | other predicates: sum(ss_sales_price) <= 0.1 * avg(revenue) |
| | row-size=225B cardinality=647.10K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: ss_store_sk |
| | | runtime filters: RF000 <- ss_store_sk |
| | | |
| | 26:EXCHANGE [BROADCAST] |
| | | |
| | 25:AGGREGATE [FINALIZE] |
| | | output: avg:merge(revenue) |
| | | group by: ss_store_sk |
| | | row-size=20B cardinality=6 |
| | | |
| | 24:EXCHANGE [HASH(ss_store_sk)] |
| | | |
| | 06:AGGREGATE [STREAMING] |
| | | output: avg(sum(ss_sales_price)) |
| | | group by: ss_store_sk |
| | | row-size=20B cardinality=6 |
| | | |
| | 23:AGGREGATE [FINALIZE] |
| | | output: sum:merge(ss_sales_price) |
| | | group by: ss_store_sk, ss_item_sk |
| | | row-size=28B cardinality=107.85K |
| | | |
| | 22:EXCHANGE [HASH(ss_store_sk,ss_item_sk)] |
| | | |
| | 05:AGGREGATE [STREAMING] |
| | | output: sum(ss_sales_price) |
| | | group by: ss_store_sk, ss_item_sk |
| | | row-size=28B cardinality=107.85K |
| | | |
| | 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | row-size=28B cardinality=2.88M |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=01 plan-id=02 cohort-id=02 |
| | | | build expressions: d_date_sk |
| | | | runtime filters: RF008 <- d_date_sk |
| | | | |
| | | 21:EXCHANGE [BROADCAST] |
| | | | |
| | | 03:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_month_seq <= 1223, d_month_seq >= 1212 |
| | | row-size=8B cardinality=7.30K |
| | | |
| | 02:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF008 -> ss_sold_date_sk |
| | row-size=20B cardinality=2.88M |
| | |
| 12:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_item_sk = i_item_sk |
| | row-size=205B cardinality=107.85K |
| | |
| |--JOIN BUILD |
| | | join-table-id=02 plan-id=03 cohort-id=01 |
| | | build expressions: i_item_sk |
| | | runtime filters: RF002 <- i_item_sk |
| | | |
| | 20:EXCHANGE [HASH(i_item_sk)] |
| | | |
| | 01:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=157B cardinality=18.00K |
| | |
| 19:EXCHANGE [HASH(ss_item_sk)] |
| | |
| 11:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | row-size=48B cardinality=107.85K |
| | |
| |--JOIN BUILD |
| | | join-table-id=03 plan-id=04 cohort-id=01 |
| | | build expressions: s_store_sk |
| | | runtime filters: RF004 <- s_store_sk |
| | | |
| | 18:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | runtime filters: RF000 -> tpcds.store.s_store_sk |
| | row-size=20B cardinality=12 |
| | |
| 17:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_sales_price) |
| | group by: ss_store_sk, ss_item_sk |
| | row-size=28B cardinality=107.85K |
| | |
| 16:EXCHANGE [HASH(ss_store_sk,ss_item_sk)] |
| | |
| 10:AGGREGATE [STREAMING] |
| | output: sum(ss_sales_price) |
| | group by: ss_store_sk, ss_item_sk |
| | row-size=28B cardinality=107.85K |
| | |
| 09:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | row-size=28B cardinality=2.88M |
| | |
| |--JOIN BUILD |
| | | join-table-id=04 plan-id=05 cohort-id=01 |
| | | build expressions: d_date_sk |
| | | runtime filters: RF006 <- d_date_sk |
| | | |
| | 15:EXCHANGE [BROADCAST] |
| | | |
| | 08:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq <= 1223, d_month_seq >= 1212 |
| | row-size=8B cardinality=7.30K |
| | |
| 07:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> tpcds.store_sales.ss_store_sk, RF002 -> tpcds.store_sales.ss_item_sk, RF004 -> tpcds.store_sales.ss_store_sk, RF006 -> ss_sold_date_sk |
| row-size=20B cardinality=2.88M |
| ==== |
| # TPCDS-Q68 |
| select |
| c_last_name, |
| c_first_name, |
| ca_city, |
| bought_city, |
| ss_ticket_number, |
| extended_price, |
| extended_tax, |
| list_price |
| from |
| (select |
| ss_ticket_number, |
| ss_customer_sk, |
| ca_city bought_city, |
| sum(ss_ext_sales_price) extended_price, |
| sum(ss_ext_list_price) list_price, |
| sum(ss_ext_tax) extended_tax |
| from |
| store_sales, |
| date_dim, |
| store, |
| household_demographics, |
| customer_address |
| where |
| store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| and store_sales.ss_store_sk = store.s_store_sk |
| and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| and store_sales.ss_addr_sk = customer_address.ca_address_sk |
| and (household_demographics.hd_dep_count = 5 |
| or household_demographics.hd_vehicle_count = 3) |
| and store.s_city in ('Midway', 'Fairview') |
| and d_date between '1999-01-01' and '1999-03-31' |
| group by |
| ss_ticket_number, |
| ss_customer_sk, |
| ss_addr_sk, |
| ca_city |
| ) dn, |
| customer, |
| customer_address current_addr |
| where |
| ss_customer_sk = c_customer_sk |
| and customer.c_current_addr_sk = current_addr.ca_address_sk |
| and current_addr.ca_city <> bought_city |
| order by |
| c_last_name, |
| ss_ticket_number |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=84.06MB Threads=8 |
| Per-Host Resource Estimates: Memory=378MB |
| PLAN-ROOT SINK |
| | |
| 14:TOP-N [LIMIT=100] |
| | order by: c_last_name ASC, ss_ticket_number ASC |
| | row-size=134B cardinality=100 |
| | |
| 13:HASH JOIN [INNER JOIN] |
| | hash predicates: customer.c_current_addr_sk = current_addr.ca_address_sk |
| | other predicates: current_addr.ca_city != ca_city |
| | runtime filters: RF000 <- current_addr.ca_address_sk |
| | row-size=154B cardinality=702.92K |
| | |
| |--11:SCAN HDFS [tpcds.customer_address current_addr] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=25B cardinality=50.00K |
| | |
| 12:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | runtime filters: RF002 <- c_customer_sk |
| | row-size=129B cardinality=702.92K |
| | |
| |--10:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF000 -> customer.c_current_addr_sk |
| | row-size=44B cardinality=100.00K |
| | |
| 09:AGGREGATE [FINALIZE] |
| | output: sum(ss_ext_sales_price), sum(ss_ext_list_price), sum(ss_ext_tax) |
| | group by: ss_ticket_number, ss_customer_sk, ss_addr_sk, ca_city |
| | row-size=85B cardinality=702.92K |
| | |
| 08:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_addr_sk = customer_address.ca_address_sk |
| | runtime filters: RF004 <- customer_address.ca_address_sk |
| | row-size=125B cardinality=702.92K |
| | |
| |--04:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=25B cardinality=50.00K |
| | |
| 07:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | runtime filters: RF006 <- store.s_store_sk |
| | row-size=101B cardinality=702.92K |
| | |
| |--02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: store.s_city IN ('Midway', 'Fairview') |
| | row-size=23B cardinality=12 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | runtime filters: RF008 <- date_dim.d_date_sk |
| | row-size=78B cardinality=702.92K |
| | |
| |--01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_date <= '1999-03-31', d_date >= '1999-01-01' |
| | row-size=26B cardinality=7.30K |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| | runtime filters: RF010 <- household_demographics.hd_demo_sk |
| | row-size=52B cardinality=702.92K |
| | |
| |--03:SCAN HDFS [tpcds.household_demographics] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: (household_demographics.hd_dep_count = 5 OR household_demographics.hd_vehicle_count = 3) |
| | row-size=12B cardinality=1.80K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF002 -> tpcds.store_sales.ss_customer_sk, RF004 -> store_sales.ss_addr_sk, RF006 -> store_sales.ss_store_sk, RF008 -> store_sales.ss_sold_date_sk, RF010 -> store_sales.ss_hdemo_sk |
| row-size=40B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=136.32MB Threads=16 |
| Per-Host Resource Estimates: Memory=465MB |
| PLAN-ROOT SINK |
| | |
| 23:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: c_last_name ASC, ss_ticket_number ASC |
| | limit: 100 |
| | |
| 14:TOP-N [LIMIT=100] |
| | order by: c_last_name ASC, ss_ticket_number ASC |
| | row-size=134B cardinality=100 |
| | |
| 13:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: customer.c_current_addr_sk = current_addr.ca_address_sk |
| | other predicates: current_addr.ca_city != ca_city |
| | runtime filters: RF000 <- current_addr.ca_address_sk |
| | row-size=154B cardinality=702.92K |
| | |
| |--22:EXCHANGE [BROADCAST] |
| | | |
| | 11:SCAN HDFS [tpcds.customer_address current_addr] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=25B cardinality=50.00K |
| | |
| 12:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | runtime filters: RF002 <- c_customer_sk |
| | row-size=129B cardinality=702.92K |
| | |
| |--21:EXCHANGE [BROADCAST] |
| | | |
| | 10:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF000 -> customer.c_current_addr_sk |
| | row-size=44B cardinality=100.00K |
| | |
| 20:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price), sum:merge(ss_ext_list_price), sum:merge(ss_ext_tax) |
| | group by: ss_ticket_number, ss_customer_sk, ss_addr_sk, ca_city |
| | row-size=85B cardinality=702.92K |
| | |
| 19:EXCHANGE [HASH(ss_ticket_number,ss_customer_sk,ss_addr_sk,ca_city)] |
| | |
| 09:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price), sum(ss_ext_list_price), sum(ss_ext_tax) |
| | group by: ss_ticket_number, ss_customer_sk, ss_addr_sk, ca_city |
| | row-size=85B cardinality=702.92K |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_addr_sk = customer_address.ca_address_sk |
| | runtime filters: RF004 <- customer_address.ca_address_sk |
| | row-size=125B cardinality=702.92K |
| | |
| |--18:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=25B cardinality=50.00K |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | runtime filters: RF006 <- store.s_store_sk |
| | row-size=101B cardinality=702.92K |
| | |
| |--17:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: store.s_city IN ('Midway', 'Fairview') |
| | row-size=23B cardinality=12 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | runtime filters: RF008 <- date_dim.d_date_sk |
| | row-size=78B cardinality=702.92K |
| | |
| |--16:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_date <= '1999-03-31', d_date >= '1999-01-01' |
| | row-size=26B cardinality=7.30K |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| | runtime filters: RF010 <- household_demographics.hd_demo_sk |
| | row-size=52B cardinality=702.92K |
| | |
| |--15:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.household_demographics] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: (household_demographics.hd_dep_count = 5 OR household_demographics.hd_vehicle_count = 3) |
| | row-size=12B cardinality=1.80K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF002 -> tpcds.store_sales.ss_customer_sk, RF004 -> store_sales.ss_addr_sk, RF006 -> store_sales.ss_store_sk, RF008 -> store_sales.ss_sold_date_sk, RF010 -> store_sales.ss_hdemo_sk |
| row-size=40B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=168.38MB Threads=17 |
| Per-Host Resource Estimates: Memory=292MB |
| PLAN-ROOT SINK |
| | |
| 23:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: c_last_name ASC, ss_ticket_number ASC |
| | limit: 100 |
| | |
| 14:TOP-N [LIMIT=100] |
| | order by: c_last_name ASC, ss_ticket_number ASC |
| | row-size=134B cardinality=100 |
| | |
| 13:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: customer.c_current_addr_sk = current_addr.ca_address_sk |
| | other predicates: current_addr.ca_city != ca_city |
| | row-size=154B cardinality=702.92K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: current_addr.ca_address_sk |
| | | runtime filters: RF000 <- current_addr.ca_address_sk |
| | | |
| | 22:EXCHANGE [BROADCAST] |
| | | |
| | 11:SCAN HDFS [tpcds.customer_address current_addr] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=25B cardinality=50.00K |
| | |
| 12:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | row-size=129B cardinality=702.92K |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: c_customer_sk |
| | | runtime filters: RF002 <- c_customer_sk |
| | | |
| | 21:EXCHANGE [BROADCAST] |
| | | |
| | 10:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF000 -> customer.c_current_addr_sk |
| | row-size=44B cardinality=100.00K |
| | |
| 20:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price), sum:merge(ss_ext_list_price), sum:merge(ss_ext_tax) |
| | group by: ss_ticket_number, ss_customer_sk, ss_addr_sk, ca_city |
| | row-size=85B cardinality=702.92K |
| | |
| 19:EXCHANGE [HASH(ss_ticket_number,ss_customer_sk,ss_addr_sk,ca_city)] |
| | |
| 09:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price), sum(ss_ext_list_price), sum(ss_ext_tax) |
| | group by: ss_ticket_number, ss_customer_sk, ss_addr_sk, ca_city |
| | row-size=85B cardinality=702.92K |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_addr_sk = customer_address.ca_address_sk |
| | row-size=125B cardinality=702.92K |
| | |
| |--JOIN BUILD |
| | | join-table-id=02 plan-id=03 cohort-id=01 |
| | | build expressions: customer_address.ca_address_sk |
| | | runtime filters: RF004 <- customer_address.ca_address_sk |
| | | |
| | 18:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=25B cardinality=50.00K |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | row-size=101B cardinality=702.92K |
| | |
| |--JOIN BUILD |
| | | join-table-id=03 plan-id=04 cohort-id=01 |
| | | build expressions: store.s_store_sk |
| | | runtime filters: RF006 <- store.s_store_sk |
| | | |
| | 17:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: store.s_city IN ('Midway', 'Fairview') |
| | row-size=23B cardinality=12 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | row-size=78B cardinality=702.92K |
| | |
| |--JOIN BUILD |
| | | join-table-id=04 plan-id=05 cohort-id=01 |
| | | build expressions: date_dim.d_date_sk |
| | | runtime filters: RF008 <- date_dim.d_date_sk |
| | | |
| | 16:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_date <= '1999-03-31', d_date >= '1999-01-01' |
| | row-size=26B cardinality=7.30K |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| | row-size=52B cardinality=702.92K |
| | |
| |--JOIN BUILD |
| | | join-table-id=05 plan-id=06 cohort-id=01 |
| | | build expressions: household_demographics.hd_demo_sk |
| | | runtime filters: RF010 <- household_demographics.hd_demo_sk |
| | | |
| | 15:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.household_demographics] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: (household_demographics.hd_dep_count = 5 OR household_demographics.hd_vehicle_count = 3) |
| | row-size=12B cardinality=1.80K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF002 -> tpcds.store_sales.ss_customer_sk, RF004 -> store_sales.ss_addr_sk, RF006 -> store_sales.ss_store_sk, RF008 -> store_sales.ss_sold_date_sk, RF010 -> store_sales.ss_hdemo_sk |
| row-size=40B cardinality=2.88M |
| ==== |
| # TPCDS-Q73 |
| select |
| c_last_name, |
| c_first_name, |
| c_salutation, |
| c_preferred_cust_flag, |
| ss_ticket_number, |
| cnt |
| from |
| (select |
| ss_ticket_number, |
| ss_customer_sk, |
| count(*) cnt |
| from |
| store_sales, |
| date_dim, |
| store, |
| household_demographics |
| where |
| store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| and store_sales.ss_store_sk = store.s_store_sk |
| and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| and (household_demographics.hd_buy_potential = '>10000' |
| or household_demographics.hd_buy_potential = 'unknown') |
| and household_demographics.hd_vehicle_count > 0 |
| and case when household_demographics.hd_vehicle_count > 0 then household_demographics.hd_dep_count / household_demographics.hd_vehicle_count else null end > 1 |
| and store.s_county in ('Saginaw County', 'Sumner County', 'Appanoose County', 'Daviess County') |
| group by |
| ss_ticket_number, |
| ss_customer_sk |
| ) dj, |
| customer |
| where |
| ss_customer_sk = c_customer_sk |
| and cnt between 1 and 5 |
| order by |
| cnt desc |
| limit 1000 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=34.07MB Threads=6 |
| Per-Host Resource Estimates: Memory=298MB |
| PLAN-ROOT SINK |
| | |
| 10:TOP-N [LIMIT=1000] |
| | order by: cnt DESC |
| | row-size=80B cardinality=1.00K |
| | |
| 09:HASH JOIN [INNER JOIN] |
| | hash predicates: c_customer_sk = ss_customer_sk |
| | runtime filters: RF000 <- ss_customer_sk |
| | row-size=88B cardinality=16.25K |
| | |
| |--07:AGGREGATE [FINALIZE] |
| | | output: count(*) |
| | | group by: ss_ticket_number, ss_customer_sk |
| | | having: count(*) <= 5, count(*) >= 1 |
| | | row-size=20B cardinality=16.25K |
| | | |
| | 06:HASH JOIN [INNER JOIN] |
| | | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | | runtime filters: RF002 <- store.s_store_sk |
| | | row-size=93B cardinality=162.45K |
| | | |
| | |--02:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_county IN ('Saginaw County', 'Sumner County', 'Appanoose County', 'Daviess County') |
| | | row-size=33B cardinality=12 |
| | | |
| | 05:HASH JOIN [INNER JOIN] |
| | | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | | runtime filters: RF004 <- date_dim.d_date_sk |
| | | row-size=60B cardinality=162.45K |
| | | |
| | |--01:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | row-size=4B cardinality=73.05K |
| | | |
| | 04:HASH JOIN [INNER JOIN] |
| | | hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | runtime filters: RF006 <- household_demographics.hd_demo_sk |
| | | row-size=56B cardinality=162.45K |
| | | |
| | |--03:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: household_demographics.hd_vehicle_count > 0, household_demographics.hd_buy_potential IN ('>10000', 'unknown'), CASE WHEN household_demographics.hd_vehicle_count > 0 THEN household_demographics.hd_dep_count / household_demographics.hd_vehicle_count ELSE NULL END > 1 |
| | | row-size=32B cardinality=416 |
| | | |
| | 00:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF002 -> store_sales.ss_store_sk, RF004 -> store_sales.ss_sold_date_sk, RF006 -> store_sales.ss_hdemo_sk |
| | row-size=24B cardinality=2.88M |
| | |
| 08:SCAN HDFS [tpcds.customer] |
| HDFS partitions=1/1 files=1 size=12.60MB |
| runtime filters: RF000 -> c_customer_sk |
| row-size=68B cardinality=100.00K |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=49.45MB Threads=13 |
| Per-Host Resource Estimates: Memory=336MB |
| PLAN-ROOT SINK |
| | |
| 18:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: cnt DESC |
| | limit: 1000 |
| | |
| 10:TOP-N [LIMIT=1000] |
| | order by: cnt DESC |
| | row-size=80B cardinality=1.00K |
| | |
| 09:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | runtime filters: RF000 <- c_customer_sk |
| | row-size=88B cardinality=16.25K |
| | |
| |--17:EXCHANGE [HASH(c_customer_sk)] |
| | | |
| | 08:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | row-size=68B cardinality=100.00K |
| | |
| 16:EXCHANGE [HASH(ss_customer_sk)] |
| | |
| 15:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | group by: ss_ticket_number, ss_customer_sk |
| | having: count(*) <= 5, count(*) >= 1 |
| | row-size=20B cardinality=16.25K |
| | |
| 14:EXCHANGE [HASH(ss_ticket_number,ss_customer_sk)] |
| | |
| 07:AGGREGATE [STREAMING] |
| | output: count(*) |
| | group by: ss_ticket_number, ss_customer_sk |
| | row-size=20B cardinality=162.45K |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | runtime filters: RF002 <- store.s_store_sk |
| | row-size=93B cardinality=162.45K |
| | |
| |--13:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: store.s_county IN ('Saginaw County', 'Sumner County', 'Appanoose County', 'Daviess County') |
| | row-size=33B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | runtime filters: RF004 <- date_dim.d_date_sk |
| | row-size=60B cardinality=162.45K |
| | |
| |--12:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | row-size=4B cardinality=73.05K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| | runtime filters: RF006 <- household_demographics.hd_demo_sk |
| | row-size=56B cardinality=162.45K |
| | |
| |--11:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.household_demographics] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: household_demographics.hd_vehicle_count > 0, household_demographics.hd_buy_potential IN ('>10000', 'unknown'), CASE WHEN household_demographics.hd_vehicle_count > 0 THEN household_demographics.hd_dep_count / household_demographics.hd_vehicle_count ELSE NULL END > 1 |
| | row-size=32B cardinality=416 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> tpcds.store_sales.ss_customer_sk, RF002 -> store_sales.ss_store_sk, RF004 -> store_sales.ss_sold_date_sk, RF006 -> store_sales.ss_hdemo_sk |
| row-size=24B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=68.26MB Threads=14 |
| Per-Host Resource Estimates: Memory=190MB |
| PLAN-ROOT SINK |
| | |
| 18:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: cnt DESC |
| | limit: 1000 |
| | |
| 10:TOP-N [LIMIT=1000] |
| | order by: cnt DESC |
| | row-size=80B cardinality=1.00K |
| | |
| 09:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | row-size=88B cardinality=16.25K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: c_customer_sk |
| | | runtime filters: RF000 <- c_customer_sk |
| | | |
| | 17:EXCHANGE [HASH(c_customer_sk)] |
| | | |
| | 08:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | row-size=68B cardinality=100.00K |
| | |
| 16:EXCHANGE [HASH(ss_customer_sk)] |
| | |
| 15:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | group by: ss_ticket_number, ss_customer_sk |
| | having: count(*) <= 5, count(*) >= 1 |
| | row-size=20B cardinality=16.25K |
| | |
| 14:EXCHANGE [HASH(ss_ticket_number,ss_customer_sk)] |
| | |
| 07:AGGREGATE [STREAMING] |
| | output: count(*) |
| | group by: ss_ticket_number, ss_customer_sk |
| | row-size=20B cardinality=162.45K |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | row-size=93B cardinality=162.45K |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: store.s_store_sk |
| | | runtime filters: RF002 <- store.s_store_sk |
| | | |
| | 13:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: store.s_county IN ('Saginaw County', 'Sumner County', 'Appanoose County', 'Daviess County') |
| | row-size=33B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | row-size=60B cardinality=162.45K |
| | |
| |--JOIN BUILD |
| | | join-table-id=02 plan-id=03 cohort-id=01 |
| | | build expressions: date_dim.d_date_sk |
| | | runtime filters: RF004 <- date_dim.d_date_sk |
| | | |
| | 12:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | row-size=4B cardinality=73.05K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| | row-size=56B cardinality=162.45K |
| | |
| |--JOIN BUILD |
| | | join-table-id=03 plan-id=04 cohort-id=01 |
| | | build expressions: household_demographics.hd_demo_sk |
| | | runtime filters: RF006 <- household_demographics.hd_demo_sk |
| | | |
| | 11:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.household_demographics] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: household_demographics.hd_vehicle_count > 0, household_demographics.hd_buy_potential IN ('>10000', 'unknown'), CASE WHEN household_demographics.hd_vehicle_count > 0 THEN household_demographics.hd_dep_count / household_demographics.hd_vehicle_count ELSE NULL END > 1 |
| | row-size=32B cardinality=416 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> tpcds.store_sales.ss_customer_sk, RF002 -> store_sales.ss_store_sk, RF004 -> store_sales.ss_sold_date_sk, RF006 -> store_sales.ss_hdemo_sk |
| row-size=24B cardinality=2.88M |
| ==== |
| # TPCDS-Q79 |
| select |
| c_last_name, |
| c_first_name, |
| substr(s_city, 1, 30), |
| ss_ticket_number, |
| amt, |
| profit |
| from |
| (select |
| ss_ticket_number, |
| ss_customer_sk, |
| store.s_city, |
| sum(ss_coupon_amt) amt, |
| sum(ss_net_profit) profit |
| from |
| store_sales, |
| date_dim, |
| store, |
| household_demographics |
| where |
| store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| and store_sales.ss_store_sk = store.s_store_sk |
| and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| and (household_demographics.hd_dep_count = 8 |
| or household_demographics.hd_vehicle_count > 0) |
| and store.s_number_employees between 200 and 295 |
| and d_date between '1999-01-01' and '1999-03-31' |
| group by |
| ss_ticket_number, |
| ss_customer_sk, |
| ss_addr_sk, |
| store.s_city |
| ) ms, |
| customer |
| where |
| ss_customer_sk = c_customer_sk |
| order by |
| c_last_name, |
| c_first_name, |
| substr(s_city, 1, 30), |
| profit |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=34.07MB Threads=6 |
| Per-Host Resource Estimates: Memory=298MB |
| PLAN-ROOT SINK |
| | |
| 10:TOP-N [LIMIT=100] |
| | order by: c_last_name ASC, c_first_name ASC, substr(s_city, 1, 30) ASC, profit ASC |
| | row-size=88B cardinality=100 |
| | |
| 09:HASH JOIN [INNER JOIN] |
| | hash predicates: c_customer_sk = ss_customer_sk |
| | runtime filters: RF000 <- ss_customer_sk |
| | row-size=106B cardinality=46.86K |
| | |
| |--07:AGGREGATE [FINALIZE] |
| | | output: sum(ss_coupon_amt), sum(ss_net_profit) |
| | | group by: ss_ticket_number, ss_customer_sk, ss_addr_sk, store.s_city |
| | | row-size=67B cardinality=46.86K |
| | | |
| | 06:HASH JOIN [INNER JOIN] |
| | | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | | runtime filters: RF002 <- date_dim.d_date_sk |
| | | row-size=101B cardinality=46.86K |
| | | |
| | |--01:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_date <= '1999-03-31', d_date >= '1999-01-01' |
| | | row-size=26B cardinality=7.30K |
| | | |
| | 05:HASH JOIN [INNER JOIN] |
| | | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | | runtime filters: RF004 <- store.s_store_sk |
| | | row-size=75B cardinality=46.86K |
| | | |
| | |--02:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_number_employees <= 295, store.s_number_employees >= 200 |
| | | row-size=27B cardinality=1 |
| | | |
| | 04:HASH JOIN [INNER JOIN] |
| | | hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | runtime filters: RF006 <- household_demographics.hd_demo_sk |
| | | row-size=48B cardinality=281.17K |
| | | |
| | |--03:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: (household_demographics.hd_dep_count = 8 OR household_demographics.hd_vehicle_count > 0) |
| | | row-size=12B cardinality=720 |
| | | |
| | 00:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF002 -> store_sales.ss_sold_date_sk, RF004 -> store_sales.ss_store_sk, RF006 -> store_sales.ss_hdemo_sk |
| | row-size=36B cardinality=2.88M |
| | |
| 08:SCAN HDFS [tpcds.customer] |
| HDFS partitions=1/1 files=1 size=12.60MB |
| runtime filters: RF000 -> c_customer_sk |
| row-size=40B cardinality=100.00K |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=45.70MB Threads=13 |
| Per-Host Resource Estimates: Memory=330MB |
| PLAN-ROOT SINK |
| | |
| 18:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: c_last_name ASC, c_first_name ASC, substr(s_city, 1, 30) ASC, profit ASC |
| | limit: 100 |
| | |
| 10:TOP-N [LIMIT=100] |
| | order by: c_last_name ASC, c_first_name ASC, substr(s_city, 1, 30) ASC, profit ASC |
| | row-size=88B cardinality=100 |
| | |
| 09:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | runtime filters: RF000 <- c_customer_sk |
| | row-size=106B cardinality=46.86K |
| | |
| |--17:EXCHANGE [HASH(c_customer_sk)] |
| | | |
| | 08:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | row-size=40B cardinality=100.00K |
| | |
| 16:EXCHANGE [HASH(ss_customer_sk)] |
| | |
| 15:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_coupon_amt), sum:merge(ss_net_profit) |
| | group by: ss_ticket_number, ss_customer_sk, ss_addr_sk, store.s_city |
| | row-size=67B cardinality=46.86K |
| | |
| 14:EXCHANGE [HASH(ss_ticket_number,ss_customer_sk,ss_addr_sk,store.s_city)] |
| | |
| 07:AGGREGATE [STREAMING] |
| | output: sum(ss_coupon_amt), sum(ss_net_profit) |
| | group by: ss_ticket_number, ss_customer_sk, ss_addr_sk, store.s_city |
| | row-size=67B cardinality=46.86K |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | runtime filters: RF002 <- date_dim.d_date_sk |
| | row-size=101B cardinality=46.86K |
| | |
| |--13:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_date <= '1999-03-31', d_date >= '1999-01-01' |
| | row-size=26B cardinality=7.30K |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | runtime filters: RF004 <- store.s_store_sk |
| | row-size=75B cardinality=46.86K |
| | |
| |--12:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: store.s_number_employees <= 295, store.s_number_employees >= 200 |
| | row-size=27B cardinality=1 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| | runtime filters: RF006 <- household_demographics.hd_demo_sk |
| | row-size=48B cardinality=281.17K |
| | |
| |--11:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.household_demographics] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: (household_demographics.hd_dep_count = 8 OR household_demographics.hd_vehicle_count > 0) |
| | row-size=12B cardinality=720 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> tpcds.store_sales.ss_customer_sk, RF002 -> store_sales.ss_sold_date_sk, RF004 -> store_sales.ss_store_sk, RF006 -> store_sales.ss_hdemo_sk |
| row-size=36B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=64.51MB Threads=14 |
| Per-Host Resource Estimates: Memory=185MB |
| PLAN-ROOT SINK |
| | |
| 18:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: c_last_name ASC, c_first_name ASC, substr(s_city, 1, 30) ASC, profit ASC |
| | limit: 100 |
| | |
| 10:TOP-N [LIMIT=100] |
| | order by: c_last_name ASC, c_first_name ASC, substr(s_city, 1, 30) ASC, profit ASC |
| | row-size=88B cardinality=100 |
| | |
| 09:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | row-size=106B cardinality=46.86K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: c_customer_sk |
| | | runtime filters: RF000 <- c_customer_sk |
| | | |
| | 17:EXCHANGE [HASH(c_customer_sk)] |
| | | |
| | 08:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | row-size=40B cardinality=100.00K |
| | |
| 16:EXCHANGE [HASH(ss_customer_sk)] |
| | |
| 15:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_coupon_amt), sum:merge(ss_net_profit) |
| | group by: ss_ticket_number, ss_customer_sk, ss_addr_sk, store.s_city |
| | row-size=67B cardinality=46.86K |
| | |
| 14:EXCHANGE [HASH(ss_ticket_number,ss_customer_sk,ss_addr_sk,store.s_city)] |
| | |
| 07:AGGREGATE [STREAMING] |
| | output: sum(ss_coupon_amt), sum(ss_net_profit) |
| | group by: ss_ticket_number, ss_customer_sk, ss_addr_sk, store.s_city |
| | row-size=67B cardinality=46.86K |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | row-size=101B cardinality=46.86K |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: date_dim.d_date_sk |
| | | runtime filters: RF002 <- date_dim.d_date_sk |
| | | |
| | 13:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_date <= '1999-03-31', d_date >= '1999-01-01' |
| | row-size=26B cardinality=7.30K |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_store_sk = store.s_store_sk |
| | row-size=75B cardinality=46.86K |
| | |
| |--JOIN BUILD |
| | | join-table-id=02 plan-id=03 cohort-id=01 |
| | | build expressions: store.s_store_sk |
| | | runtime filters: RF004 <- store.s_store_sk |
| | | |
| | 12:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: store.s_number_employees <= 295, store.s_number_employees >= 200 |
| | row-size=27B cardinality=1 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk |
| | row-size=48B cardinality=281.17K |
| | |
| |--JOIN BUILD |
| | | join-table-id=03 plan-id=04 cohort-id=01 |
| | | build expressions: household_demographics.hd_demo_sk |
| | | runtime filters: RF006 <- household_demographics.hd_demo_sk |
| | | |
| | 11:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.household_demographics] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: (household_demographics.hd_dep_count = 8 OR household_demographics.hd_vehicle_count > 0) |
| | row-size=12B cardinality=720 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> tpcds.store_sales.ss_customer_sk, RF002 -> store_sales.ss_sold_date_sk, RF004 -> store_sales.ss_store_sk, RF006 -> store_sales.ss_hdemo_sk |
| row-size=36B cardinality=2.88M |
| ==== |
| # TPCDS-Q89 |
| 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 (2000) 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 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=36.82MB Threads=5 |
| Per-Host Resource Estimates: Memory=253MB |
| PLAN-ROOT SINK |
| | |
| 11:TOP-N [LIMIT=100] |
| | order by: sum_sales - avg_monthly_sales ASC, s_store_name ASC |
| | row-size=137B cardinality=100 |
| | |
| 10:SELECT |
| | predicates: CASE WHEN (avg(sum(ss_sales_price)) != 0) THEN (abs(sum(ss_sales_price) - avg(sum(ss_sales_price))) / avg(sum(ss_sales_price))) ELSE NULL END > 0.1 |
| | row-size=137B cardinality=1.07K |
| | |
| 09:ANALYTIC |
| | functions: avg(sum(ss_sales_price)) |
| | partition by: i_category, i_brand, s_store_name, s_company_name |
| | row-size=137B cardinality=10.67K |
| | |
| 08:SORT |
| | order by: i_category ASC NULLS LAST, i_brand ASC NULLS LAST, s_store_name ASC NULLS LAST, s_company_name ASC NULLS LAST |
| | row-size=121B cardinality=10.67K |
| | |
| 07:AGGREGATE [FINALIZE] |
| | output: sum(ss_sales_price) |
| | group by: i_category, i_class, i_brand, s_store_name, s_company_name, d_moy |
| | row-size=121B cardinality=10.67K |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=145B cardinality=10.67K |
| | |
| |--03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=39B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF002 <- d_date_sk |
| | row-size=106B cardinality=10.67K |
| | |
| |--02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year IN (2000) |
| | row-size=12B cardinality=373 |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF004 <- i_item_sk |
| | row-size=94B cardinality=52.17K |
| | |
| |--00:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: ((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'))) |
| | row-size=74B cardinality=326 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_sold_date_sk, RF004 -> ss_item_sk |
| row-size=20B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=52.76MB Threads=10 |
| Per-Host Resource Estimates: Memory=285MB |
| PLAN-ROOT SINK |
| | |
| 17:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: sum_sales - avg_monthly_sales ASC, s_store_name ASC |
| | limit: 100 |
| | |
| 11:TOP-N [LIMIT=100] |
| | order by: sum_sales - avg_monthly_sales ASC, s_store_name ASC |
| | row-size=137B cardinality=100 |
| | |
| 10:SELECT |
| | predicates: CASE WHEN (avg(sum(ss_sales_price)) != 0) THEN (abs(sum(ss_sales_price) - avg(sum(ss_sales_price))) / avg(sum(ss_sales_price))) ELSE NULL END > 0.1 |
| | row-size=137B cardinality=1.07K |
| | |
| 09:ANALYTIC |
| | functions: avg(sum(ss_sales_price)) |
| | partition by: i_category, i_brand, s_store_name, s_company_name |
| | row-size=137B cardinality=10.67K |
| | |
| 08:SORT |
| | order by: i_category ASC NULLS LAST, i_brand ASC NULLS LAST, s_store_name ASC NULLS LAST, s_company_name ASC NULLS LAST |
| | row-size=121B cardinality=10.67K |
| | |
| 16:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_sales_price) |
| | group by: i_category, i_class, i_brand, s_store_name, s_company_name, d_moy |
| | row-size=121B cardinality=10.67K |
| | |
| 15:EXCHANGE [HASH(i_category,i_brand,s_store_name,s_company_name)] |
| | |
| 07:AGGREGATE [STREAMING] |
| | output: sum(ss_sales_price) |
| | group by: i_category, i_class, i_brand, s_store_name, s_company_name, d_moy |
| | row-size=121B cardinality=10.67K |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=145B cardinality=10.67K |
| | |
| |--14:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=39B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF002 <- d_date_sk |
| | row-size=106B cardinality=10.67K |
| | |
| |--13:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year IN (2000) |
| | row-size=12B cardinality=373 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF004 <- i_item_sk |
| | row-size=94B cardinality=52.17K |
| | |
| |--12:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: ((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'))) |
| | row-size=74B cardinality=326 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_sold_date_sk, RF004 -> ss_item_sk |
| row-size=20B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=89.51MB Threads=11 |
| Per-Host Resource Estimates: Memory=178MB |
| PLAN-ROOT SINK |
| | |
| 17:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: sum_sales - avg_monthly_sales ASC, s_store_name ASC |
| | limit: 100 |
| | |
| 11:TOP-N [LIMIT=100] |
| | order by: sum_sales - avg_monthly_sales ASC, s_store_name ASC |
| | row-size=137B cardinality=100 |
| | |
| 10:SELECT |
| | predicates: CASE WHEN (avg(sum(ss_sales_price)) != 0) THEN (abs(sum(ss_sales_price) - avg(sum(ss_sales_price))) / avg(sum(ss_sales_price))) ELSE NULL END > 0.1 |
| | row-size=137B cardinality=1.07K |
| | |
| 09:ANALYTIC |
| | functions: avg(sum(ss_sales_price)) |
| | partition by: i_category, i_brand, s_store_name, s_company_name |
| | row-size=137B cardinality=10.67K |
| | |
| 08:SORT |
| | order by: i_category ASC NULLS LAST, i_brand ASC NULLS LAST, s_store_name ASC NULLS LAST, s_company_name ASC NULLS LAST |
| | row-size=121B cardinality=10.67K |
| | |
| 16:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_sales_price) |
| | group by: i_category, i_class, i_brand, s_store_name, s_company_name, d_moy |
| | row-size=121B cardinality=10.67K |
| | |
| 15:EXCHANGE [HASH(i_category,i_brand,s_store_name,s_company_name)] |
| | |
| 07:AGGREGATE [STREAMING] |
| | output: sum(ss_sales_price) |
| | group by: i_category, i_class, i_brand, s_store_name, s_company_name, d_moy |
| | row-size=121B cardinality=10.67K |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | row-size=145B cardinality=10.67K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: s_store_sk |
| | | runtime filters: RF000 <- s_store_sk |
| | | |
| | 14:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=39B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | row-size=106B cardinality=10.67K |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: d_date_sk |
| | | runtime filters: RF002 <- d_date_sk |
| | | |
| | 13:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year IN (2000) |
| | row-size=12B cardinality=373 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | row-size=94B cardinality=52.17K |
| | |
| |--JOIN BUILD |
| | | join-table-id=02 plan-id=03 cohort-id=01 |
| | | build expressions: i_item_sk |
| | | runtime filters: RF004 <- i_item_sk |
| | | |
| | 12:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: ((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'))) |
| | row-size=74B cardinality=326 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_sold_date_sk, RF004 -> ss_item_sk |
| row-size=20B cardinality=2.88M |
| ==== |
| # TPCDS-Q96 |
| SELECT |
| COUNT(*) AS total |
| FROM store_sales ss |
| JOIN time_dim td |
| ON (ss.ss_sold_time_sk = td.t_time_sk) |
| JOIN household_demographics hd |
| ON (ss.ss_hdemo_sk = hd.hd_demo_sk) |
| JOIN store s |
| ON (ss.ss_store_sk = s.s_store_sk) |
| WHERE |
| td.t_hour = 8 |
| AND td.t_minute >= 30 |
| AND hd.hd_dep_count = 5 |
| AND s.s_store_name = 'ese' |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=25.07MB Threads=5 |
| Per-Host Resource Estimates: Memory=233MB |
| PLAN-ROOT SINK |
| | |
| 07:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: ss.ss_store_sk = s.s_store_sk |
| | runtime filters: RF000 <- s.s_store_sk |
| | row-size=52B cardinality=2.27K |
| | |
| |--03:SCAN HDFS [tpcds.store s] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: s.s_store_name = 'ese' |
| | row-size=20B cardinality=2 |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: ss.ss_hdemo_sk = hd.hd_demo_sk |
| | runtime filters: RF002 <- hd.hd_demo_sk |
| | row-size=32B cardinality=6.82K |
| | |
| |--02:SCAN HDFS [tpcds.household_demographics hd] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: hd.hd_dep_count = 5 |
| | row-size=8B cardinality=720 |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: ss.ss_sold_time_sk = td.t_time_sk |
| | runtime filters: RF004 <- td.t_time_sk |
| | row-size=24B cardinality=69.82K |
| | |
| |--01:SCAN HDFS [tpcds.time_dim td] |
| | HDFS partitions=1/1 files=1 size=4.87MB |
| | predicates: td.t_hour = 8, td.t_minute >= 30 |
| | row-size=12B cardinality=1.14K |
| | |
| 00:SCAN HDFS [tpcds.store_sales ss] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss.ss_store_sk, RF002 -> ss.ss_hdemo_sk, RF004 -> ss.ss_sold_time_sk |
| row-size=12B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=25.07MB Threads=9 |
| Per-Host Resource Estimates: Memory=253MB |
| PLAN-ROOT SINK |
| | |
| 12:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 11:EXCHANGE [UNPARTITIONED] |
| | |
| 07:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss.ss_store_sk = s.s_store_sk |
| | runtime filters: RF000 <- s.s_store_sk |
| | row-size=52B cardinality=2.27K |
| | |
| |--10:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.store s] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: s.s_store_name = 'ese' |
| | row-size=20B cardinality=2 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss.ss_hdemo_sk = hd.hd_demo_sk |
| | runtime filters: RF002 <- hd.hd_demo_sk |
| | row-size=32B cardinality=6.82K |
| | |
| |--09:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.household_demographics hd] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: hd.hd_dep_count = 5 |
| | row-size=8B cardinality=720 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss.ss_sold_time_sk = td.t_time_sk |
| | runtime filters: RF004 <- td.t_time_sk |
| | row-size=24B cardinality=69.82K |
| | |
| |--08:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.time_dim td] |
| | HDFS partitions=1/1 files=1 size=4.87MB |
| | predicates: td.t_hour = 8, td.t_minute >= 30 |
| | row-size=12B cardinality=1.14K |
| | |
| 00:SCAN HDFS [tpcds.store_sales ss] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss.ss_store_sk, RF002 -> ss.ss_hdemo_sk, RF004 -> ss.ss_sold_time_sk |
| row-size=12B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=41.88MB Threads=9 |
| Per-Host Resource Estimates: Memory=128MB |
| PLAN-ROOT SINK |
| | |
| 12:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 11:EXCHANGE [UNPARTITIONED] |
| | |
| 07:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss.ss_store_sk = s.s_store_sk |
| | row-size=52B cardinality=2.27K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: s.s_store_sk |
| | | runtime filters: RF000 <- s.s_store_sk |
| | | |
| | 10:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.store s] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: s.s_store_name = 'ese' |
| | row-size=20B cardinality=2 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss.ss_hdemo_sk = hd.hd_demo_sk |
| | row-size=32B cardinality=6.82K |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: hd.hd_demo_sk |
| | | runtime filters: RF002 <- hd.hd_demo_sk |
| | | |
| | 09:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.household_demographics hd] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: hd.hd_dep_count = 5 |
| | row-size=8B cardinality=720 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss.ss_sold_time_sk = td.t_time_sk |
| | row-size=24B cardinality=69.82K |
| | |
| |--JOIN BUILD |
| | | join-table-id=02 plan-id=03 cohort-id=01 |
| | | build expressions: td.t_time_sk |
| | | runtime filters: RF004 <- td.t_time_sk |
| | | |
| | 08:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.time_dim td] |
| | HDFS partitions=1/1 files=1 size=4.87MB |
| | predicates: td.t_hour = 8, td.t_minute >= 30 |
| | row-size=12B cardinality=1.14K |
| | |
| 00:SCAN HDFS [tpcds.store_sales ss] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss.ss_store_sk, RF002 -> ss.ss_hdemo_sk, RF004 -> ss.ss_sold_time_sk |
| row-size=12B cardinality=2.88M |
| ==== |
| # TPCDS-Q98 |
| select |
| i_item_desc, |
| i_category, |
| i_class, |
| i_current_price, |
| sum(ss_ext_sales_price) as itemrevenue, |
| sum(ss_ext_sales_price)*100/sum(sum(ss_ext_sales_price)) over (partition by i_class) as revenueratio |
| from |
| store_sales, |
| item, |
| date_dim |
| where |
| ss_item_sk = i_item_sk |
| and i_category in ('Jewelry', 'Sports', 'Books') |
| and ss_sold_date_sk = d_date_sk |
| and ss_sold_date_sk between 2451911 and 2451941 |
| and d_date between '2001-01-01' and '2001-01-31' -- original uses interval and the |
| group by |
| i_item_id, |
| i_item_desc, |
| i_category, |
| i_class, |
| i_current_price |
| order by |
| i_category, |
| i_class, |
| i_item_id, |
| i_item_desc, |
| revenueratio |
| limit 1000 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=26.50MB Threads=4 |
| Per-Host Resource Estimates: Memory=218MB |
| PLAN-ROOT SINK |
| | |
| 08:TOP-N [LIMIT=1000] |
| | order by: i_category ASC, i_class ASC, i_item_id ASC, i_item_desc ASC, sum(ss_ext_sales_price) * 100 / sum(sum(ss_ext_sales_price)) ASC |
| | row-size=214B cardinality=1.00K |
| | |
| 07:ANALYTIC |
| | functions: sum(sum(ss_ext_sales_price)) |
| | partition by: i_class |
| | row-size=214B cardinality=29.80K |
| | |
| 06:SORT |
| | order by: i_class ASC NULLS LAST |
| | row-size=198B cardinality=29.80K |
| | |
| 05:AGGREGATE [FINALIZE] |
| | output: sum(ss_ext_sales_price) |
| | group by: i_item_id, i_item_desc, i_category, i_class, i_current_price |
| | row-size=198B cardinality=29.80K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF000 <- d_date_sk |
| | row-size=232B cardinality=29.80K |
| | |
| |--02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: tpcds.date_dim.d_date_sk <= 2451941, tpcds.date_dim.d_date_sk >= 2451911, d_date <= '2001-01-31', d_date >= '2001-01-01' |
| | row-size=26B cardinality=7.30K |
| | |
| 03:HASH JOIN [INNER JOIN] |
| | hash predicates: i_item_sk = ss_item_sk |
| | runtime filters: RF002 <- ss_item_sk |
| | row-size=206B cardinality=29.80K |
| | |
| |--00:SCAN HDFS [tpcds.store_sales] |
| | partition predicates: ss_sold_date_sk >= 2451911, ss_sold_date_sk <= 2451941 |
| | HDFS partitions=31/1824 files=31 size=3.64MB |
| | runtime filters: RF000 -> ss_sold_date_sk |
| | row-size=16B cardinality=29.76K |
| | |
| 01:SCAN HDFS [tpcds.item] |
| HDFS partitions=1/1 files=1 size=4.82MB |
| predicates: i_category IN ('Jewelry', 'Sports', 'Books') |
| runtime filters: RF002 -> i_item_sk |
| row-size=190B cardinality=5.40K |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=57.88MB Threads=9 |
| Per-Host Resource Estimates: Memory=254MB |
| PLAN-ROOT SINK |
| | |
| 14:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: i_category ASC, i_class ASC, i_item_id ASC, i_item_desc ASC, sum(ss_ext_sales_price) * 100 / sum(sum(ss_ext_sales_price)) ASC |
| | limit: 1000 |
| | |
| 08:TOP-N [LIMIT=1000] |
| | order by: i_category ASC, i_class ASC, i_item_id ASC, i_item_desc ASC, sum(ss_ext_sales_price) * 100 / sum(sum(ss_ext_sales_price)) ASC |
| | row-size=214B cardinality=1.00K |
| | |
| 07:ANALYTIC |
| | functions: sum(sum(ss_ext_sales_price)) |
| | partition by: i_class |
| | row-size=214B cardinality=29.80K |
| | |
| 06:SORT |
| | order by: i_class ASC NULLS LAST |
| | row-size=198B cardinality=29.80K |
| | |
| 13:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price) |
| | group by: i_item_id, i_item_desc, i_category, i_class, i_current_price |
| | row-size=198B cardinality=29.80K |
| | |
| 12:EXCHANGE [HASH(i_class)] |
| | |
| 05:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price) |
| | group by: i_item_id, i_item_desc, i_category, i_class, i_current_price |
| | row-size=198B cardinality=29.80K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF000 <- d_date_sk |
| | row-size=232B cardinality=29.80K |
| | |
| |--11:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: tpcds.date_dim.d_date_sk <= 2451941, tpcds.date_dim.d_date_sk >= 2451911, d_date <= '2001-01-31', d_date >= '2001-01-01' |
| | row-size=26B cardinality=7.30K |
| | |
| 03:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF002 <- i_item_sk |
| | row-size=206B cardinality=29.80K |
| | |
| |--10:EXCHANGE [HASH(i_item_sk)] |
| | | |
| | 01:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_category IN ('Jewelry', 'Sports', 'Books') |
| | row-size=190B cardinality=5.40K |
| | |
| 09:EXCHANGE [HASH(ss_item_sk)] |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| partition predicates: ss_sold_date_sk >= 2451911, ss_sold_date_sk <= 2451941 |
| HDFS partitions=31/1824 files=31 size=3.64MB |
| runtime filters: RF000 -> ss_sold_date_sk, RF002 -> ss_item_sk |
| row-size=16B cardinality=29.76K |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=60.31MB Threads=9 |
| Per-Host Resource Estimates: Memory=120MB |
| PLAN-ROOT SINK |
| | |
| 14:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: i_category ASC, i_class ASC, i_item_id ASC, i_item_desc ASC, sum(ss_ext_sales_price) * 100 / sum(sum(ss_ext_sales_price)) ASC |
| | limit: 1000 |
| | |
| 08:TOP-N [LIMIT=1000] |
| | order by: i_category ASC, i_class ASC, i_item_id ASC, i_item_desc ASC, sum(ss_ext_sales_price) * 100 / sum(sum(ss_ext_sales_price)) ASC |
| | row-size=214B cardinality=1.00K |
| | |
| 07:ANALYTIC |
| | functions: sum(sum(ss_ext_sales_price)) |
| | partition by: i_class |
| | row-size=214B cardinality=29.80K |
| | |
| 06:SORT |
| | order by: i_class ASC NULLS LAST |
| | row-size=198B cardinality=29.80K |
| | |
| 13:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price) |
| | group by: i_item_id, i_item_desc, i_category, i_class, i_current_price |
| | row-size=198B cardinality=29.80K |
| | |
| 12:EXCHANGE [HASH(i_class)] |
| | |
| 05:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price) |
| | group by: i_item_id, i_item_desc, i_category, i_class, i_current_price |
| | row-size=198B cardinality=29.80K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | row-size=232B cardinality=29.80K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: d_date_sk |
| | | runtime filters: RF000 <- d_date_sk |
| | | |
| | 11:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: tpcds.date_dim.d_date_sk <= 2451941, tpcds.date_dim.d_date_sk >= 2451911, d_date <= '2001-01-31', d_date >= '2001-01-01' |
| | row-size=26B cardinality=7.30K |
| | |
| 03:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_item_sk = i_item_sk |
| | row-size=206B cardinality=29.80K |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: i_item_sk |
| | | runtime filters: RF002 <- i_item_sk |
| | | |
| | 10:EXCHANGE [HASH(i_item_sk)] |
| | | |
| | 01:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_category IN ('Jewelry', 'Sports', 'Books') |
| | row-size=190B cardinality=5.40K |
| | |
| 09:EXCHANGE [HASH(ss_item_sk)] |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| partition predicates: ss_sold_date_sk >= 2451911, ss_sold_date_sk <= 2451941 |
| HDFS partitions=31/1824 files=31 size=3.64MB |
| runtime filters: RF000 -> ss_sold_date_sk, RF002 -> ss_item_sk |
| row-size=16B cardinality=29.76K |
| ==== |
| # TPCD-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 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=73.62MB Threads=8 |
| Per-Host Resource Estimates: Memory=402MB |
| PLAN-ROOT SINK |
| | |
| 16:TOP-N [LIMIT=100] |
| | order by: count(*) ASC |
| | row-size=22B cardinality=5 |
| | |
| 15:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | group by: a.ca_state |
| | having: count(*) >= 10 |
| | row-size=22B cardinality=5 |
| | |
| 14:HASH JOIN [LEFT SEMI JOIN] |
| | hash predicates: i.i_category = j.i_category |
| | other join predicates: i.i_current_price > 1.2 * avg(j.i_current_price) |
| | runtime filters: RF000 <- j.i_category |
| | row-size=80B cardinality=1.19K |
| | |
| |--08:AGGREGATE [FINALIZE] |
| | | output: avg(j.i_current_price) |
| | | group by: j.i_category |
| | | row-size=26B cardinality=10 |
| | | |
| | 07:SCAN HDFS [tpcds.item j] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=22B cardinality=18.00K |
| | |
| 13:HASH JOIN [LEFT SEMI JOIN] |
| | hash predicates: d.d_month_seq = (d_month_seq) |
| | runtime filters: RF002 <- (d_month_seq) |
| | row-size=80B cardinality=1.19K |
| | |
| |--06:AGGREGATE [FINALIZE] |
| | | group by: (d_month_seq) |
| | | limit: 1 |
| | | row-size=4B cardinality=1 |
| | | |
| | 05:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1999, d_moy = 1 |
| | row-size=12B cardinality=108 |
| | |
| 12:HASH JOIN [INNER JOIN] |
| | hash predicates: s.ss_item_sk = i.i_item_sk |
| | runtime filters: RF004 <- i.i_item_sk |
| | row-size=80B cardinality=2.88M |
| | |
| |--04:SCAN HDFS [tpcds.item i] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | runtime filters: RF000 -> i.i_category |
| | row-size=30B cardinality=18.00K |
| | |
| 11:HASH JOIN [INNER JOIN] |
| | hash predicates: s.ss_sold_date_sk = d.d_date_sk |
| | runtime filters: RF006 <- d.d_date_sk |
| | row-size=50B cardinality=2.88M |
| | |
| |--03:SCAN HDFS [tpcds.date_dim d] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | runtime filters: RF002 -> d.d_month_seq |
| | row-size=8B cardinality=73.05K |
| | |
| 10:HASH JOIN [INNER JOIN] |
| | hash predicates: c.c_current_addr_sk = a.ca_address_sk |
| | runtime filters: RF008 <- a.ca_address_sk |
| | row-size=42B cardinality=2.88M |
| | |
| |--00:SCAN HDFS [tpcds.customer_address a] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=18B cardinality=50.00K |
| | |
| 09:HASH JOIN [INNER JOIN] |
| | hash predicates: s.ss_customer_sk = c.c_customer_sk |
| | runtime filters: RF010 <- c.c_customer_sk |
| | row-size=24B cardinality=2.88M |
| | |
| |--01:SCAN HDFS [tpcds.customer c] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF008 -> c.c_current_addr_sk |
| | row-size=8B cardinality=100.00K |
| | |
| 02:SCAN HDFS [tpcds.store_sales s] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF004 -> s.ss_item_sk, RF006 -> s.ss_sold_date_sk, RF010 -> s.ss_customer_sk |
| row-size=16B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=88.44MB Threads=19 |
| Per-Host Resource Estimates: Memory=452MB |
| PLAN-ROOT SINK |
| | |
| 30:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: count(*) ASC |
| | limit: 100 |
| | |
| 16:TOP-N [LIMIT=100] |
| | order by: count(*) ASC |
| | row-size=22B cardinality=5 |
| | |
| 29:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | group by: a.ca_state |
| | having: count(*) >= 10 |
| | row-size=22B cardinality=5 |
| | |
| 28:EXCHANGE [HASH(a.ca_state)] |
| | |
| 15:AGGREGATE [STREAMING] |
| | output: count(*) |
| | group by: a.ca_state |
| | row-size=22B cardinality=51 |
| | |
| 14:HASH JOIN [LEFT SEMI JOIN, BROADCAST] |
| | hash predicates: i.i_category = j.i_category |
| | other join predicates: i.i_current_price > 1.2 * avg(j.i_current_price) |
| | runtime filters: RF000 <- j.i_category |
| | row-size=80B cardinality=1.19K |
| | |
| |--27:EXCHANGE [BROADCAST] |
| | | |
| | 26:AGGREGATE [FINALIZE] |
| | | output: avg:merge(j.i_current_price) |
| | | group by: j.i_category |
| | | row-size=26B cardinality=10 |
| | | |
| | 25:EXCHANGE [HASH(j.i_category)] |
| | | |
| | 08:AGGREGATE [STREAMING] |
| | | output: avg(j.i_current_price) |
| | | group by: j.i_category |
| | | row-size=26B cardinality=10 |
| | | |
| | 07:SCAN HDFS [tpcds.item j] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=22B cardinality=18.00K |
| | |
| 13:HASH JOIN [LEFT SEMI JOIN, BROADCAST] |
| | hash predicates: d.d_month_seq = (d_month_seq) |
| | runtime filters: RF002 <- (d_month_seq) |
| | row-size=80B cardinality=1.19K |
| | |
| |--24:EXCHANGE [BROADCAST] |
| | | |
| | 23:EXCHANGE [UNPARTITIONED] |
| | | limit: 1 |
| | | |
| | 22:AGGREGATE [FINALIZE] |
| | | group by: (d_month_seq) |
| | | limit: 1 |
| | | row-size=4B cardinality=1 |
| | | |
| | 21:EXCHANGE [HASH((d_month_seq))] |
| | | |
| | 06:AGGREGATE [STREAMING] |
| | | group by: (d_month_seq) |
| | | row-size=4B cardinality=108 |
| | | |
| | 05:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1999, d_moy = 1 |
| | row-size=12B cardinality=108 |
| | |
| 12:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: s.ss_item_sk = i.i_item_sk |
| | runtime filters: RF004 <- i.i_item_sk |
| | row-size=80B cardinality=2.88M |
| | |
| |--20:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.item i] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | runtime filters: RF000 -> i.i_category |
| | row-size=30B cardinality=18.00K |
| | |
| 11:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: s.ss_sold_date_sk = d.d_date_sk |
| | runtime filters: RF006 <- d.d_date_sk |
| | row-size=50B cardinality=2.88M |
| | |
| |--19:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.date_dim d] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | runtime filters: RF002 -> d.d_month_seq |
| | row-size=8B cardinality=73.05K |
| | |
| 10:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: c.c_current_addr_sk = a.ca_address_sk |
| | runtime filters: RF008 <- a.ca_address_sk |
| | row-size=42B cardinality=2.88M |
| | |
| |--18:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.customer_address a] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=18B cardinality=50.00K |
| | |
| 09:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: s.ss_customer_sk = c.c_customer_sk |
| | runtime filters: RF010 <- c.c_customer_sk |
| | row-size=24B cardinality=2.88M |
| | |
| |--17:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.customer c] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF008 -> c.c_current_addr_sk |
| | row-size=8B cardinality=100.00K |
| | |
| 02:SCAN HDFS [tpcds.store_sales s] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF004 -> s.ss_item_sk, RF006 -> s.ss_sold_date_sk, RF010 -> s.ss_customer_sk |
| row-size=16B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=115.00MB Threads=20 |
| Per-Host Resource Estimates: Memory=270MB |
| PLAN-ROOT SINK |
| | |
| 30:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: count(*) ASC |
| | limit: 100 |
| | |
| 16:TOP-N [LIMIT=100] |
| | order by: count(*) ASC |
| | row-size=22B cardinality=5 |
| | |
| 29:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | group by: a.ca_state |
| | having: count(*) >= 10 |
| | row-size=22B cardinality=5 |
| | |
| 28:EXCHANGE [HASH(a.ca_state)] |
| | |
| 15:AGGREGATE [STREAMING] |
| | output: count(*) |
| | group by: a.ca_state |
| | row-size=22B cardinality=51 |
| | |
| 14:HASH JOIN [LEFT SEMI JOIN, BROADCAST] |
| | hash predicates: i.i_category = j.i_category |
| | other join predicates: i.i_current_price > 1.2 * avg(j.i_current_price) |
| | row-size=80B cardinality=1.19K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: j.i_category |
| | | runtime filters: RF000 <- j.i_category |
| | | |
| | 27:EXCHANGE [BROADCAST] |
| | | |
| | 26:AGGREGATE [FINALIZE] |
| | | output: avg:merge(j.i_current_price) |
| | | group by: j.i_category |
| | | row-size=26B cardinality=10 |
| | | |
| | 25:EXCHANGE [HASH(j.i_category)] |
| | | |
| | 08:AGGREGATE [STREAMING] |
| | | output: avg(j.i_current_price) |
| | | group by: j.i_category |
| | | row-size=26B cardinality=10 |
| | | |
| | 07:SCAN HDFS [tpcds.item j] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=22B cardinality=18.00K |
| | |
| 13:HASH JOIN [LEFT SEMI JOIN, BROADCAST] |
| | hash predicates: d.d_month_seq = (d_month_seq) |
| | row-size=80B cardinality=1.19K |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | build expressions: (d_month_seq) |
| | | runtime filters: RF002 <- (d_month_seq) |
| | | |
| | 24:EXCHANGE [BROADCAST] |
| | | |
| | 23:EXCHANGE [UNPARTITIONED] |
| | | limit: 1 |
| | | |
| | 22:AGGREGATE [FINALIZE] |
| | | group by: (d_month_seq) |
| | | limit: 1 |
| | | row-size=4B cardinality=1 |
| | | |
| | 21:EXCHANGE [HASH((d_month_seq))] |
| | | |
| | 06:AGGREGATE [STREAMING] |
| | | group by: (d_month_seq) |
| | | row-size=4B cardinality=108 |
| | | |
| | 05:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1999, d_moy = 1 |
| | row-size=12B cardinality=108 |
| | |
| 12:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: s.ss_item_sk = i.i_item_sk |
| | row-size=80B cardinality=2.88M |
| | |
| |--JOIN BUILD |
| | | join-table-id=02 plan-id=03 cohort-id=01 |
| | | build expressions: i.i_item_sk |
| | | runtime filters: RF004 <- i.i_item_sk |
| | | |
| | 20:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.item i] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | runtime filters: RF000 -> i.i_category |
| | row-size=30B cardinality=18.00K |
| | |
| 11:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: s.ss_sold_date_sk = d.d_date_sk |
| | row-size=50B cardinality=2.88M |
| | |
| |--JOIN BUILD |
| | | join-table-id=03 plan-id=04 cohort-id=01 |
| | | build expressions: d.d_date_sk |
| | | runtime filters: RF006 <- d.d_date_sk |
| | | |
| | 19:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.date_dim d] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | runtime filters: RF002 -> d.d_month_seq |
| | row-size=8B cardinality=73.05K |
| | |
| 10:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: c.c_current_addr_sk = a.ca_address_sk |
| | row-size=42B cardinality=2.88M |
| | |
| |--JOIN BUILD |
| | | join-table-id=04 plan-id=05 cohort-id=01 |
| | | build expressions: a.ca_address_sk |
| | | runtime filters: RF008 <- a.ca_address_sk |
| | | |
| | 18:EXCHANGE [BROADCAST] |
| | | |
| | 00:SCAN HDFS [tpcds.customer_address a] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=18B cardinality=50.00K |
| | |
| 09:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: s.ss_customer_sk = c.c_customer_sk |
| | row-size=24B cardinality=2.88M |
| | |
| |--JOIN BUILD |
| | | join-table-id=05 plan-id=06 cohort-id=01 |
| | | build expressions: c.c_customer_sk |
| | | runtime filters: RF010 <- c.c_customer_sk |
| | | |
| | 17:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.customer c] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF008 -> c.c_current_addr_sk |
| | row-size=8B cardinality=100.00K |
| | |
| 02:SCAN HDFS [tpcds.store_sales s] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF004 -> s.ss_item_sk, RF006 -> s.ss_sold_date_sk, RF010 -> s.ss_customer_sk |
| row-size=16B cardinality=2.88M |
| ==== |
| # 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 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=168.44MB Threads=13 |
| Per-Host Resource Estimates: Memory=762MB |
| PLAN-ROOT SINK |
| | |
| 35:TOP-N [LIMIT=100] |
| | order by: sum_sales - avg_monthly_sales ASC, d_year ASC |
| | row-size=114B cardinality=100 |
| | |
| 34:HASH JOIN [INNER JOIN] |
| | hash predicates: rank() = rank() - 1, s_store_name = s_store_name, i_category = i_category, s_company_name = s_company_name, i_brand = i_brand |
| | row-size=356B cardinality=1.09G |
| | |
| |--32:ANALYTIC |
| | | functions: rank() |
| | | partition by: i_category, i_brand, s_store_name, s_company_name |
| | | order by: d_year ASC, d_moy ASC |
| | | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | | row-size=113B cardinality=685.36K |
| | | |
| | 31:SORT |
| | | order by: i_category ASC NULLS LAST, i_brand ASC NULLS LAST, s_store_name ASC NULLS LAST, s_company_name ASC NULLS LAST, d_year ASC, d_moy ASC |
| | | row-size=105B cardinality=685.36K |
| | | |
| | 30:AGGREGATE [FINALIZE] |
| | | output: sum(ss_sales_price) |
| | | group by: i_category, i_brand, s_store_name, s_company_name, d_year, d_moy |
| | | row-size=105B cardinality=685.36K |
| | | |
| | 29:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | runtime filters: RF012 <- s_store_sk |
| | | row-size=125B cardinality=685.36K |
| | | |
| | |--26:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | row-size=39B cardinality=12 |
| | | |
| | 28:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_item_sk = i_item_sk |
| | | runtime filters: RF014 <- i_item_sk |
| | | row-size=86B cardinality=685.36K |
| | | |
| | |--23:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | row-size=54B cardinality=18.00K |
| | | |
| | 27:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | runtime filters: RF016 <- d_date_sk |
| | | row-size=32B cardinality=685.36K |
| | | |
| | |--25:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: (d_year = 2000 OR (d_year = 1999 AND d_moy = 12) OR (d_year = 2001 AND d_moy = 1)) |
| | | row-size=12B cardinality=434 |
| | | |
| | 24:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF012 -> ss_store_sk, RF014 -> ss_item_sk, RF016 -> ss_sold_date_sk |
| | row-size=20B cardinality=2.88M |
| | |
| 33:HASH JOIN [INNER JOIN] |
| | hash predicates: rank() + 1 = rank(), s_store_name = s_store_name, i_category = i_category, s_company_name = s_company_name, i_brand = i_brand |
| | row-size=243B cardinality=1.10M |
| | |
| |--12:SELECT |
| | | predicates: d_year = 2000, avg(sum(ss_sales_price)) > 0, CASE WHEN avg(sum(ss_sales_price)) > 0 THEN abs(sum(ss_sales_price) - avg(sum(ss_sales_price))) / avg(sum(ss_sales_price)) ELSE NULL END > 0.1 |
| | | row-size=129B cardinality=1.11K |
| | | |
| | 11:ANALYTIC |
| | | functions: avg(sum(ss_sales_price)) |
| | | partition by: i_category, i_brand, s_store_name, s_company_name, d_year |
| | | row-size=129B cardinality=685.36K |
| | | |
| | 10:SORT |
| | | order by: i_category ASC NULLS LAST, i_brand ASC NULLS LAST, s_store_name ASC NULLS LAST, s_company_name ASC NULLS LAST, d_year ASC NULLS LAST |
| | | row-size=113B cardinality=685.36K |
| | | |
| | 09:ANALYTIC |
| | | functions: rank() |
| | | partition by: i_category, i_brand, s_store_name, s_company_name |
| | | order by: d_year ASC, d_moy ASC |
| | | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | | row-size=113B cardinality=685.36K |
| | | |
| | 08:SORT |
| | | order by: i_category ASC NULLS LAST, i_brand ASC NULLS LAST, s_store_name ASC NULLS LAST, s_company_name ASC NULLS LAST, d_year ASC, d_moy ASC |
| | | row-size=105B cardinality=685.36K |
| | | |
| | 07:AGGREGATE [FINALIZE] |
| | | output: sum(ss_sales_price) |
| | | group by: i_category, i_brand, s_store_name, s_company_name, d_year, d_moy |
| | | row-size=105B cardinality=685.36K |
| | | |
| | 06:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | runtime filters: RF006 <- s_store_sk |
| | | row-size=125B cardinality=685.36K |
| | | |
| | |--03:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | row-size=39B cardinality=12 |
| | | |
| | 05:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_item_sk = i_item_sk |
| | | runtime filters: RF008 <- i_item_sk |
| | | row-size=86B cardinality=685.36K |
| | | |
| | |--00:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | row-size=54B cardinality=18.00K |
| | | |
| | 04:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | runtime filters: RF010 <- d_date_sk |
| | | row-size=32B cardinality=685.36K |
| | | |
| | |--02:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: (d_year = 2000 OR (d_year = 1999 AND d_moy = 12) OR (d_year = 2001 AND d_moy = 1)) |
| | | row-size=12B cardinality=434 |
| | | |
| | 01:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF006 -> ss_store_sk, RF008 -> ss_item_sk, RF010 -> ss_sold_date_sk |
| | row-size=20B cardinality=2.88M |
| | |
| 22:ANALYTIC |
| | functions: rank() |
| | partition by: i_category, i_brand, s_store_name, s_company_name |
| | order by: d_year ASC, d_moy ASC |
| | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | row-size=113B cardinality=685.36K |
| | |
| 21:SORT |
| | order by: i_category ASC NULLS LAST, i_brand ASC NULLS LAST, s_store_name ASC NULLS LAST, s_company_name ASC NULLS LAST, d_year ASC, d_moy ASC |
| | row-size=105B cardinality=685.36K |
| | |
| 20:AGGREGATE [FINALIZE] |
| | output: sum(ss_sales_price) |
| | group by: i_category, i_brand, s_store_name, s_company_name, d_year, d_moy |
| | row-size=105B cardinality=685.36K |
| | |
| 19:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=125B cardinality=685.36K |
| | |
| |--16:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=39B cardinality=12 |
| | |
| 18:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF002 <- i_item_sk |
| | row-size=86B cardinality=685.36K |
| | |
| |--13:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=54B cardinality=18.00K |
| | |
| 17:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF004 <- d_date_sk |
| | row-size=32B cardinality=685.36K |
| | |
| |--15:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: (d_year = 2000 OR (d_year = 1999 AND d_moy = 12) OR (d_year = 2001 AND d_moy = 1)) |
| | row-size=12B cardinality=434 |
| | |
| 14:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_item_sk, RF004 -> ss_sold_date_sk |
| row-size=20B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=390.40MB Threads=29 |
| Per-Host Resource Estimates: Memory=1.06GB |
| PLAN-ROOT SINK |
| | |
| 54:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: sum_sales - avg_monthly_sales ASC, d_year ASC |
| | limit: 100 |
| | |
| 35:TOP-N [LIMIT=100] |
| | order by: sum_sales - avg_monthly_sales ASC, d_year ASC |
| | row-size=114B cardinality=100 |
| | |
| 34:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: rank() = rank() - 1, s_store_name = s_store_name, i_category = i_category, s_company_name = s_company_name, i_brand = i_brand |
| | row-size=356B cardinality=1.09G |
| | |
| |--53:EXCHANGE [HASH(rank() - 1,s_store_name,i_category,s_company_name,i_brand)] |
| | | |
| | 32:ANALYTIC |
| | | functions: rank() |
| | | partition by: i_category, i_brand, s_store_name, s_company_name |
| | | order by: d_year ASC, d_moy ASC |
| | | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | | row-size=113B cardinality=685.36K |
| | | |
| | 31:SORT |
| | | order by: i_category ASC NULLS LAST, i_brand ASC NULLS LAST, s_store_name ASC NULLS LAST, s_company_name ASC NULLS LAST, d_year ASC, d_moy ASC |
| | | row-size=105B cardinality=685.36K |
| | | |
| | 51:AGGREGATE [FINALIZE] |
| | | output: sum:merge(ss_sales_price) |
| | | group by: i_category, i_brand, s_store_name, s_company_name, d_year, d_moy |
| | | row-size=105B cardinality=685.36K |
| | | |
| | 50:EXCHANGE [HASH(i_category,i_brand,s_store_name,s_company_name)] |
| | | |
| | 30:AGGREGATE [STREAMING] |
| | | output: sum(ss_sales_price) |
| | | group by: i_category, i_brand, s_store_name, s_company_name, d_year, d_moy |
| | | row-size=105B cardinality=685.36K |
| | | |
| | 29:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | runtime filters: RF012 <- s_store_sk |
| | | row-size=125B cardinality=685.36K |
| | | |
| | |--49:EXCHANGE [BROADCAST] |
| | | | |
| | | 26:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | row-size=39B cardinality=12 |
| | | |
| | 28:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_item_sk = i_item_sk |
| | | runtime filters: RF014 <- i_item_sk |
| | | row-size=86B cardinality=685.36K |
| | | |
| | |--48:EXCHANGE [BROADCAST] |
| | | | |
| | | 23:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | row-size=54B cardinality=18.00K |
| | | |
| | 27:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | runtime filters: RF016 <- d_date_sk |
| | | row-size=32B cardinality=685.36K |
| | | |
| | |--47:EXCHANGE [BROADCAST] |
| | | | |
| | | 25:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: (d_year = 2000 OR (d_year = 1999 AND d_moy = 12) OR (d_year = 2001 AND d_moy = 1)) |
| | | row-size=12B cardinality=434 |
| | | |
| | 24:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF012 -> ss_store_sk, RF014 -> ss_item_sk, RF016 -> ss_sold_date_sk |
| | row-size=20B cardinality=2.88M |
| | |
| 52:EXCHANGE [HASH(rank(),s_store_name,i_category,s_company_name,i_brand)] |
| | |
| 33:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: rank() + 1 = rank(), s_store_name = s_store_name, i_category = i_category, s_company_name = s_company_name, i_brand = i_brand |
| | row-size=243B cardinality=1.10M |
| | |
| |--46:EXCHANGE [BROADCAST] |
| | | |
| | 12:SELECT |
| | | predicates: d_year = 2000, avg(sum(ss_sales_price)) > 0, CASE WHEN avg(sum(ss_sales_price)) > 0 THEN abs(sum(ss_sales_price) - avg(sum(ss_sales_price))) / avg(sum(ss_sales_price)) ELSE NULL END > 0.1 |
| | | row-size=129B cardinality=1.11K |
| | | |
| | 11:ANALYTIC |
| | | functions: avg(sum(ss_sales_price)) |
| | | partition by: i_category, i_brand, s_store_name, s_company_name, d_year |
| | | row-size=129B cardinality=685.36K |
| | | |
| | 10:SORT |
| | | order by: i_category ASC NULLS LAST, i_brand ASC NULLS LAST, s_store_name ASC NULLS LAST, s_company_name ASC NULLS LAST, d_year ASC NULLS LAST |
| | | row-size=113B cardinality=685.36K |
| | | |
| | 09:ANALYTIC |
| | | functions: rank() |
| | | partition by: i_category, i_brand, s_store_name, s_company_name |
| | | order by: d_year ASC, d_moy ASC |
| | | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | | row-size=113B cardinality=685.36K |
| | | |
| | 08:SORT |
| | | order by: i_category ASC NULLS LAST, i_brand ASC NULLS LAST, s_store_name ASC NULLS LAST, s_company_name ASC NULLS LAST, d_year ASC, d_moy ASC |
| | | row-size=105B cardinality=685.36K |
| | | |
| | 45:AGGREGATE [FINALIZE] |
| | | output: sum:merge(ss_sales_price) |
| | | group by: i_category, i_brand, s_store_name, s_company_name, d_year, d_moy |
| | | row-size=105B cardinality=685.36K |
| | | |
| | 44:EXCHANGE [HASH(i_category,i_brand,s_store_name,s_company_name)] |
| | | |
| | 07:AGGREGATE [STREAMING] |
| | | output: sum(ss_sales_price) |
| | | group by: i_category, i_brand, s_store_name, s_company_name, d_year, d_moy |
| | | row-size=105B cardinality=685.36K |
| | | |
| | 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | runtime filters: RF006 <- s_store_sk |
| | | row-size=125B cardinality=685.36K |
| | | |
| | |--43:EXCHANGE [BROADCAST] |
| | | | |
| | | 03:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | row-size=39B cardinality=12 |
| | | |
| | 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_item_sk = i_item_sk |
| | | runtime filters: RF008 <- i_item_sk |
| | | row-size=86B cardinality=685.36K |
| | | |
| | |--42:EXCHANGE [BROADCAST] |
| | | | |
| | | 00:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | row-size=54B cardinality=18.00K |
| | | |
| | 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | runtime filters: RF010 <- d_date_sk |
| | | row-size=32B cardinality=685.36K |
| | | |
| | |--41:EXCHANGE [BROADCAST] |
| | | | |
| | | 02:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: (d_year = 2000 OR (d_year = 1999 AND d_moy = 12) OR (d_year = 2001 AND d_moy = 1)) |
| | | row-size=12B cardinality=434 |
| | | |
| | 01:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF006 -> ss_store_sk, RF008 -> ss_item_sk, RF010 -> ss_sold_date_sk |
| | row-size=20B cardinality=2.88M |
| | |
| 22:ANALYTIC |
| | functions: rank() |
| | partition by: i_category, i_brand, s_store_name, s_company_name |
| | order by: d_year ASC, d_moy ASC |
| | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | row-size=113B cardinality=685.36K |
| | |
| 21:SORT |
| | order by: i_category ASC NULLS LAST, i_brand ASC NULLS LAST, s_store_name ASC NULLS LAST, s_company_name ASC NULLS LAST, d_year ASC, d_moy ASC |
| | row-size=105B cardinality=685.36K |
| | |
| 40:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_sales_price) |
| | group by: i_category, i_brand, s_store_name, s_company_name, d_year, d_moy |
| | row-size=105B cardinality=685.36K |
| | |
| 39:EXCHANGE [HASH(i_category,i_brand,s_store_name,s_company_name)] |
| | |
| 20:AGGREGATE [STREAMING] |
| | output: sum(ss_sales_price) |
| | group by: i_category, i_brand, s_store_name, s_company_name, d_year, d_moy |
| | row-size=105B cardinality=685.36K |
| | |
| 19:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=125B cardinality=685.36K |
| | |
| |--38:EXCHANGE [BROADCAST] |
| | | |
| | 16:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=39B cardinality=12 |
| | |
| 18:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF002 <- i_item_sk |
| | row-size=86B cardinality=685.36K |
| | |
| |--37:EXCHANGE [BROADCAST] |
| | | |
| | 13:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=54B cardinality=18.00K |
| | |
| 17:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF004 <- d_date_sk |
| | row-size=32B cardinality=685.36K |
| | |
| |--36:EXCHANGE [BROADCAST] |
| | | |
| | 15:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: (d_year = 2000 OR (d_year = 1999 AND d_moy = 12) OR (d_year = 2001 AND d_moy = 1)) |
| | row-size=12B cardinality=434 |
| | |
| 14:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_item_sk, RF004 -> ss_sold_date_sk |
| row-size=20B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=698.77MB Threads=36 |
| Per-Host Resource Estimates: Memory=915MB |
| PLAN-ROOT SINK |
| | |
| 54:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: sum_sales - avg_monthly_sales ASC, d_year ASC |
| | limit: 100 |
| | |
| 35:TOP-N [LIMIT=100] |
| | order by: sum_sales - avg_monthly_sales ASC, d_year ASC |
| | row-size=114B cardinality=100 |
| | |
| 34:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: rank() = rank() - 1, s_store_name = s_store_name, i_category = i_category, s_company_name = s_company_name, i_brand = i_brand |
| | row-size=356B cardinality=1.09G |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: rank() - 1, s_store_name, i_category, s_company_name, i_brand |
| | | |
| | 53:EXCHANGE [HASH(rank() - 1,s_store_name,i_category,s_company_name,i_brand)] |
| | | |
| | 32:ANALYTIC |
| | | functions: rank() |
| | | partition by: i_category, i_brand, s_store_name, s_company_name |
| | | order by: d_year ASC, d_moy ASC |
| | | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | | row-size=113B cardinality=685.36K |
| | | |
| | 31:SORT |
| | | order by: i_category ASC NULLS LAST, i_brand ASC NULLS LAST, s_store_name ASC NULLS LAST, s_company_name ASC NULLS LAST, d_year ASC, d_moy ASC |
| | | row-size=105B cardinality=685.36K |
| | | |
| | 51:AGGREGATE [FINALIZE] |
| | | output: sum:merge(ss_sales_price) |
| | | group by: i_category, i_brand, s_store_name, s_company_name, d_year, d_moy |
| | | row-size=105B cardinality=685.36K |
| | | |
| | 50:EXCHANGE [HASH(i_category,i_brand,s_store_name,s_company_name)] |
| | | |
| | 30:AGGREGATE [STREAMING] |
| | | output: sum(ss_sales_price) |
| | | group by: i_category, i_brand, s_store_name, s_company_name, d_year, d_moy |
| | | row-size=105B cardinality=685.36K |
| | | |
| | 29:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=125B cardinality=685.36K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=01 plan-id=02 cohort-id=02 |
| | | | build expressions: s_store_sk |
| | | | runtime filters: RF012 <- s_store_sk |
| | | | |
| | | 49:EXCHANGE [BROADCAST] |
| | | | |
| | | 26:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | row-size=39B cardinality=12 |
| | | |
| | 28:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_item_sk = i_item_sk |
| | | row-size=86B cardinality=685.36K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=02 plan-id=03 cohort-id=02 |
| | | | build expressions: i_item_sk |
| | | | runtime filters: RF014 <- i_item_sk |
| | | | |
| | | 48:EXCHANGE [BROADCAST] |
| | | | |
| | | 23:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | row-size=54B cardinality=18.00K |
| | | |
| | 27:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | row-size=32B cardinality=685.36K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=03 plan-id=04 cohort-id=02 |
| | | | build expressions: d_date_sk |
| | | | runtime filters: RF016 <- d_date_sk |
| | | | |
| | | 47:EXCHANGE [BROADCAST] |
| | | | |
| | | 25:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: (d_year = 2000 OR (d_year = 1999 AND d_moy = 12) OR (d_year = 2001 AND d_moy = 1)) |
| | | row-size=12B cardinality=434 |
| | | |
| | 24:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF012 -> ss_store_sk, RF014 -> ss_item_sk, RF016 -> ss_sold_date_sk |
| | row-size=20B cardinality=2.88M |
| | |
| 52:EXCHANGE [HASH(rank(),s_store_name,i_category,s_company_name,i_brand)] |
| | |
| 33:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: rank() + 1 = rank(), s_store_name = s_store_name, i_category = i_category, s_company_name = s_company_name, i_brand = i_brand |
| | row-size=243B cardinality=1.10M |
| | |
| |--JOIN BUILD |
| | | join-table-id=04 plan-id=05 cohort-id=01 |
| | | build expressions: rank(), s_store_name, i_category, s_company_name, i_brand |
| | | |
| | 46:EXCHANGE [BROADCAST] |
| | | |
| | 12:SELECT |
| | | predicates: d_year = 2000, avg(sum(ss_sales_price)) > 0, CASE WHEN avg(sum(ss_sales_price)) > 0 THEN abs(sum(ss_sales_price) - avg(sum(ss_sales_price))) / avg(sum(ss_sales_price)) ELSE NULL END > 0.1 |
| | | row-size=129B cardinality=1.11K |
| | | |
| | 11:ANALYTIC |
| | | functions: avg(sum(ss_sales_price)) |
| | | partition by: i_category, i_brand, s_store_name, s_company_name, d_year |
| | | row-size=129B cardinality=685.36K |
| | | |
| | 10:SORT |
| | | order by: i_category ASC NULLS LAST, i_brand ASC NULLS LAST, s_store_name ASC NULLS LAST, s_company_name ASC NULLS LAST, d_year ASC NULLS LAST |
| | | row-size=113B cardinality=685.36K |
| | | |
| | 09:ANALYTIC |
| | | functions: rank() |
| | | partition by: i_category, i_brand, s_store_name, s_company_name |
| | | order by: d_year ASC, d_moy ASC |
| | | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | | row-size=113B cardinality=685.36K |
| | | |
| | 08:SORT |
| | | order by: i_category ASC NULLS LAST, i_brand ASC NULLS LAST, s_store_name ASC NULLS LAST, s_company_name ASC NULLS LAST, d_year ASC, d_moy ASC |
| | | row-size=105B cardinality=685.36K |
| | | |
| | 45:AGGREGATE [FINALIZE] |
| | | output: sum:merge(ss_sales_price) |
| | | group by: i_category, i_brand, s_store_name, s_company_name, d_year, d_moy |
| | | row-size=105B cardinality=685.36K |
| | | |
| | 44:EXCHANGE [HASH(i_category,i_brand,s_store_name,s_company_name)] |
| | | |
| | 07:AGGREGATE [STREAMING] |
| | | output: sum(ss_sales_price) |
| | | group by: i_category, i_brand, s_store_name, s_company_name, d_year, d_moy |
| | | row-size=105B cardinality=685.36K |
| | | |
| | 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=125B cardinality=685.36K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=05 plan-id=06 cohort-id=03 |
| | | | build expressions: s_store_sk |
| | | | runtime filters: RF006 <- s_store_sk |
| | | | |
| | | 43:EXCHANGE [BROADCAST] |
| | | | |
| | | 03:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | row-size=39B cardinality=12 |
| | | |
| | 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_item_sk = i_item_sk |
| | | row-size=86B cardinality=685.36K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=06 plan-id=07 cohort-id=03 |
| | | | build expressions: i_item_sk |
| | | | runtime filters: RF008 <- i_item_sk |
| | | | |
| | | 42:EXCHANGE [BROADCAST] |
| | | | |
| | | 00:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | row-size=54B cardinality=18.00K |
| | | |
| | 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | row-size=32B cardinality=685.36K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=07 plan-id=08 cohort-id=03 |
| | | | build expressions: d_date_sk |
| | | | runtime filters: RF010 <- d_date_sk |
| | | | |
| | | 41:EXCHANGE [BROADCAST] |
| | | | |
| | | 02:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: (d_year = 2000 OR (d_year = 1999 AND d_moy = 12) OR (d_year = 2001 AND d_moy = 1)) |
| | | row-size=12B cardinality=434 |
| | | |
| | 01:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF006 -> ss_store_sk, RF008 -> ss_item_sk, RF010 -> ss_sold_date_sk |
| | row-size=20B cardinality=2.88M |
| | |
| 22:ANALYTIC |
| | functions: rank() |
| | partition by: i_category, i_brand, s_store_name, s_company_name |
| | order by: d_year ASC, d_moy ASC |
| | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | row-size=113B cardinality=685.36K |
| | |
| 21:SORT |
| | order by: i_category ASC NULLS LAST, i_brand ASC NULLS LAST, s_store_name ASC NULLS LAST, s_company_name ASC NULLS LAST, d_year ASC, d_moy ASC |
| | row-size=105B cardinality=685.36K |
| | |
| 40:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_sales_price) |
| | group by: i_category, i_brand, s_store_name, s_company_name, d_year, d_moy |
| | row-size=105B cardinality=685.36K |
| | |
| 39:EXCHANGE [HASH(i_category,i_brand,s_store_name,s_company_name)] |
| | |
| 20:AGGREGATE [STREAMING] |
| | output: sum(ss_sales_price) |
| | group by: i_category, i_brand, s_store_name, s_company_name, d_year, d_moy |
| | row-size=105B cardinality=685.36K |
| | |
| 19:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | row-size=125B cardinality=685.36K |
| | |
| |--JOIN BUILD |
| | | join-table-id=08 plan-id=09 cohort-id=01 |
| | | build expressions: s_store_sk |
| | | runtime filters: RF000 <- s_store_sk |
| | | |
| | 38:EXCHANGE [BROADCAST] |
| | | |
| | 16:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=39B cardinality=12 |
| | |
| 18:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | row-size=86B cardinality=685.36K |
| | |
| |--JOIN BUILD |
| | | join-table-id=09 plan-id=10 cohort-id=01 |
| | | build expressions: i_item_sk |
| | | runtime filters: RF002 <- i_item_sk |
| | | |
| | 37:EXCHANGE [BROADCAST] |
| | | |
| | 13:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=54B cardinality=18.00K |
| | |
| 17:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | row-size=32B cardinality=685.36K |
| | |
| |--JOIN BUILD |
| | | join-table-id=10 plan-id=11 cohort-id=01 |
| | | build expressions: d_date_sk |
| | | runtime filters: RF004 <- d_date_sk |
| | | |
| | 36:EXCHANGE [BROADCAST] |
| | | |
| | 15:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: (d_year = 2000 OR (d_year = 1999 AND d_moy = 12) OR (d_year = 2001 AND d_moy = 1)) |
| | row-size=12B cardinality=434 |
| | |
| 14:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_item_sk, RF004 -> ss_sold_date_sk |
| row-size=20B cardinality=2.88M |
| ==== |
| # TPCDS-Q66 |
| select promotions,total,cast(promotions as decimal(15,4))/cast(total as decimal(15,4))*100 |
| from |
| (select sum(ss_ext_sales_price) promotions |
| from store_sales |
| ,store |
| ,promotion |
| ,date_dim |
| ,customer |
| ,customer_address |
| ,item |
| where ss_sold_date_sk = d_date_sk |
| and ss_store_sk = s_store_sk |
| and ss_promo_sk = p_promo_sk |
| and ss_customer_sk= c_customer_sk |
| and ca_address_sk = c_current_addr_sk |
| and ss_item_sk = i_item_sk |
| and ca_gmt_offset = -5 |
| and i_category = 'Books' |
| and (p_channel_dmail = 'Y' or p_channel_email = 'Y' or p_channel_tv = 'Y') |
| and s_gmt_offset = -5 |
| and d_year = 2000 |
| and d_moy = 11) promotional_sales, |
| (select sum(ss_ext_sales_price) total |
| from store_sales |
| ,store |
| ,date_dim |
| ,customer |
| ,customer_address |
| ,item |
| where ss_sold_date_sk = d_date_sk |
| and ss_store_sk = s_store_sk |
| and ss_customer_sk= c_customer_sk |
| and ca_address_sk = c_current_addr_sk |
| and ss_item_sk = i_item_sk |
| and ca_gmt_offset = -5 |
| and i_category = 'Books' |
| and s_gmt_offset = -5 |
| and d_year = 2000 |
| and d_moy = 11) all_sales |
| order by promotions, total |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=111.39MB Threads=14 |
| Per-Host Resource Estimates: Memory=703MB |
| PLAN-ROOT SINK |
| | |
| 27:SORT |
| | order by: promotions ASC, total ASC |
| | row-size=32B cardinality=1 |
| | |
| 26:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=32B cardinality=1 |
| | |
| |--25:AGGREGATE [FINALIZE] |
| | | output: sum(ss_ext_sales_price) |
| | | row-size=16B cardinality=1 |
| | | |
| | 24:HASH JOIN [INNER JOIN] |
| | | hash predicates: c_current_addr_sk = ca_address_sk |
| | | runtime filters: RF012 <- ca_address_sk |
| | | row-size=86B cardinality=3.30K |
| | | |
| | |--18:SCAN HDFS [tpcds.customer_address] |
| | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | predicates: ca_gmt_offset = -5 |
| | | row-size=8B cardinality=8.33K |
| | | |
| | 23:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_customer_sk = c_customer_sk |
| | | runtime filters: RF014 <- c_customer_sk |
| | | row-size=78B cardinality=17.06K |
| | | |
| | |--17:SCAN HDFS [tpcds.customer] |
| | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | runtime filters: RF012 -> c_current_addr_sk |
| | | row-size=8B cardinality=100.00K |
| | | |
| | 22:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=70B cardinality=17.06K |
| | | |
| | |--15:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: s_gmt_offset = -5 |
| | | row-size=8B cardinality=12 |
| | | |
| | 21:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_item_sk = i_item_sk |
| | | runtime filters: RF018 <- i_item_sk |
| | | row-size=62B cardinality=17.06K |
| | | |
| | |--19:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | predicates: i_category = 'Books' |
| | | row-size=26B cardinality=1.80K |
| | | |
| | 20:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | runtime filters: RF020 <- d_date_sk |
| | | row-size=36B cardinality=170.55K |
| | | |
| | |--16:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_year = 2000, d_moy = 11 |
| | | row-size=12B cardinality=108 |
| | | |
| | 14:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF020 -> ss_sold_date_sk, RF018 -> ss_item_sk, RF014 -> ss_customer_sk |
| | row-size=24B cardinality=2.88M |
| | |
| 13:AGGREGATE [FINALIZE] |
| | output: sum(ss_ext_sales_price) |
| | row-size=16B cardinality=1 |
| | |
| 12:HASH JOIN [INNER JOIN] |
| | hash predicates: c_current_addr_sk = ca_address_sk |
| | runtime filters: RF000 <- ca_address_sk |
| | row-size=133B cardinality=3.28K |
| | |
| |--05:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | predicates: ca_gmt_offset = -5 |
| | row-size=8B cardinality=8.33K |
| | |
| 11:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | runtime filters: RF002 <- c_customer_sk |
| | row-size=125B cardinality=16.94K |
| | |
| |--04:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF000 -> c_current_addr_sk |
| | row-size=8B cardinality=100.00K |
| | |
| 10:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF004 <- s_store_sk |
| | row-size=117B cardinality=16.94K |
| | |
| |--01:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: s_gmt_offset = -5 |
| | row-size=8B cardinality=12 |
| | |
| 09:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_promo_sk = p_promo_sk |
| | runtime filters: RF006 <- p_promo_sk |
| | row-size=109B cardinality=16.94K |
| | |
| |--02:SCAN HDFS [tpcds.promotion] |
| | HDFS partitions=1/1 files=1 size=36.36KB |
| | predicates: (p_channel_dmail = 'Y' OR p_channel_email = 'Y' OR p_channel_tv = 'Y') |
| | row-size=43B cardinality=300 |
| | |
| 08:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF008 <- i_item_sk |
| | row-size=66B cardinality=17.06K |
| | |
| |--06:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_category = 'Books' |
| | row-size=26B cardinality=1.80K |
| | |
| 07:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF010 <- d_date_sk |
| | row-size=40B cardinality=170.55K |
| | |
| |--03:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 2000, d_moy = 11 |
| | row-size=12B cardinality=108 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF010 -> ss_sold_date_sk, RF008 -> ss_item_sk, RF006 -> ss_promo_sk, RF002 -> ss_customer_sk, RF004 -> ss_store_sk |
| row-size=28B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=121.39MB Threads=30 |
| Per-Host Resource Estimates: Memory=755MB |
| PLAN-ROOT SINK |
| | |
| 27:SORT |
| | order by: promotions ASC, total ASC |
| | row-size=32B cardinality=1 |
| | |
| 26:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=32B cardinality=1 |
| | |
| |--45:EXCHANGE [UNPARTITIONED] |
| | | |
| | 44:AGGREGATE [FINALIZE] |
| | | output: sum:merge(ss_ext_sales_price) |
| | | row-size=16B cardinality=1 |
| | | |
| | 43:EXCHANGE [UNPARTITIONED] |
| | | |
| | 25:AGGREGATE |
| | | output: sum(ss_ext_sales_price) |
| | | row-size=16B cardinality=1 |
| | | |
| | 24:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: c_current_addr_sk = ca_address_sk |
| | | runtime filters: RF012 <- ca_address_sk |
| | | row-size=86B cardinality=3.30K |
| | | |
| | |--42:EXCHANGE [BROADCAST] |
| | | | |
| | | 18:SCAN HDFS [tpcds.customer_address] |
| | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | predicates: ca_gmt_offset = -5 |
| | | row-size=8B cardinality=8.33K |
| | | |
| | 23:HASH JOIN [INNER JOIN, PARTITIONED] |
| | | hash predicates: ss_customer_sk = c_customer_sk |
| | | runtime filters: RF014 <- c_customer_sk |
| | | row-size=78B cardinality=17.06K |
| | | |
| | |--41:EXCHANGE [HASH(c_customer_sk)] |
| | | | |
| | | 17:SCAN HDFS [tpcds.customer] |
| | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | runtime filters: RF012 -> c_current_addr_sk |
| | | row-size=8B cardinality=100.00K |
| | | |
| | 40:EXCHANGE [HASH(ss_customer_sk)] |
| | | |
| | 22:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=70B cardinality=17.06K |
| | | |
| | |--39:EXCHANGE [BROADCAST] |
| | | | |
| | | 15:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: s_gmt_offset = -5 |
| | | row-size=8B cardinality=12 |
| | | |
| | 21:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_item_sk = i_item_sk |
| | | runtime filters: RF018 <- i_item_sk |
| | | row-size=62B cardinality=17.06K |
| | | |
| | |--38:EXCHANGE [BROADCAST] |
| | | | |
| | | 19:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | predicates: i_category = 'Books' |
| | | row-size=26B cardinality=1.80K |
| | | |
| | 20:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | runtime filters: RF020 <- d_date_sk |
| | | row-size=36B cardinality=170.55K |
| | | |
| | |--37:EXCHANGE [BROADCAST] |
| | | | |
| | | 16:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_year = 2000, d_moy = 11 |
| | | row-size=12B cardinality=108 |
| | | |
| | 14:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF020 -> ss_sold_date_sk, RF018 -> ss_item_sk, RF014 -> ss_customer_sk |
| | row-size=24B cardinality=2.88M |
| | |
| 36:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price) |
| | row-size=16B cardinality=1 |
| | |
| 35:EXCHANGE [UNPARTITIONED] |
| | |
| 13:AGGREGATE |
| | output: sum(ss_ext_sales_price) |
| | row-size=16B cardinality=1 |
| | |
| 12:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: c_current_addr_sk = ca_address_sk |
| | runtime filters: RF000 <- ca_address_sk |
| | row-size=133B cardinality=3.28K |
| | |
| |--34:EXCHANGE [BROADCAST] |
| | | |
| | 05:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | predicates: ca_gmt_offset = -5 |
| | row-size=8B cardinality=8.33K |
| | |
| 11:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | runtime filters: RF002 <- c_customer_sk |
| | row-size=125B cardinality=16.94K |
| | |
| |--33:EXCHANGE [HASH(c_customer_sk)] |
| | | |
| | 04:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF000 -> c_current_addr_sk |
| | row-size=8B cardinality=100.00K |
| | |
| 32:EXCHANGE [HASH(ss_customer_sk)] |
| | |
| 10:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF004 <- s_store_sk |
| | row-size=117B cardinality=16.94K |
| | |
| |--31:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: s_gmt_offset = -5 |
| | row-size=8B cardinality=12 |
| | |
| 09:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_promo_sk = p_promo_sk |
| | runtime filters: RF006 <- p_promo_sk |
| | row-size=109B cardinality=16.94K |
| | |
| |--30:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.promotion] |
| | HDFS partitions=1/1 files=1 size=36.36KB |
| | predicates: (p_channel_dmail = 'Y' OR p_channel_email = 'Y' OR p_channel_tv = 'Y') |
| | row-size=43B cardinality=300 |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF008 <- i_item_sk |
| | row-size=66B cardinality=17.06K |
| | |
| |--29:EXCHANGE [BROADCAST] |
| | | |
| | 06:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_category = 'Books' |
| | row-size=26B cardinality=1.80K |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF010 <- d_date_sk |
| | row-size=40B cardinality=170.55K |
| | |
| |--28:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 2000, d_moy = 11 |
| | row-size=12B cardinality=108 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF010 -> ss_sold_date_sk, RF008 -> ss_item_sk, RF006 -> ss_promo_sk, RF002 -> ss_customer_sk, RF004 -> ss_store_sk |
| row-size=28B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=166.70MB Threads=35 |
| Per-Host Resource Estimates: Memory=411MB |
| PLAN-ROOT SINK |
| | |
| 27:SORT |
| | order by: promotions ASC, total ASC |
| | row-size=32B cardinality=1 |
| | |
| 26:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 00 |
| | row-size=32B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | |
| | 45:EXCHANGE [UNPARTITIONED] |
| | | |
| | 44:AGGREGATE [FINALIZE] |
| | | output: sum:merge(ss_ext_sales_price) |
| | | row-size=16B cardinality=1 |
| | | |
| | 43:EXCHANGE [UNPARTITIONED] |
| | | |
| | 25:AGGREGATE |
| | | output: sum(ss_ext_sales_price) |
| | | row-size=16B cardinality=1 |
| | | |
| | 24:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: c_current_addr_sk = ca_address_sk |
| | | row-size=86B cardinality=3.30K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=01 plan-id=02 cohort-id=02 |
| | | | build expressions: ca_address_sk |
| | | | runtime filters: RF012 <- ca_address_sk |
| | | | |
| | | 42:EXCHANGE [BROADCAST] |
| | | | |
| | | 18:SCAN HDFS [tpcds.customer_address] |
| | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | predicates: ca_gmt_offset = -5 |
| | | row-size=8B cardinality=8.33K |
| | | |
| | 23:HASH JOIN [INNER JOIN, PARTITIONED] |
| | | hash predicates: ss_customer_sk = c_customer_sk |
| | | row-size=78B cardinality=17.06K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=02 plan-id=03 cohort-id=02 |
| | | | build expressions: c_customer_sk |
| | | | runtime filters: RF014 <- c_customer_sk |
| | | | |
| | | 41:EXCHANGE [HASH(c_customer_sk)] |
| | | | |
| | | 17:SCAN HDFS [tpcds.customer] |
| | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | runtime filters: RF012 -> c_current_addr_sk |
| | | row-size=8B cardinality=100.00K |
| | | |
| | 40:EXCHANGE [HASH(ss_customer_sk)] |
| | | |
| | 22:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=70B cardinality=17.06K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=03 plan-id=04 cohort-id=02 |
| | | | build expressions: s_store_sk |
| | | | |
| | | 39:EXCHANGE [BROADCAST] |
| | | | |
| | | 15:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: s_gmt_offset = -5 |
| | | row-size=8B cardinality=12 |
| | | |
| | 21:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_item_sk = i_item_sk |
| | | row-size=62B cardinality=17.06K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=04 plan-id=05 cohort-id=02 |
| | | | build expressions: i_item_sk |
| | | | runtime filters: RF018 <- i_item_sk |
| | | | |
| | | 38:EXCHANGE [BROADCAST] |
| | | | |
| | | 19:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | predicates: i_category = 'Books' |
| | | row-size=26B cardinality=1.80K |
| | | |
| | 20:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | row-size=36B cardinality=170.55K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=05 plan-id=06 cohort-id=02 |
| | | | build expressions: d_date_sk |
| | | | runtime filters: RF020 <- d_date_sk |
| | | | |
| | | 37:EXCHANGE [BROADCAST] |
| | | | |
| | | 16:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_year = 2000, d_moy = 11 |
| | | row-size=12B cardinality=108 |
| | | |
| | 14:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF020 -> ss_sold_date_sk, RF018 -> ss_item_sk, RF014 -> ss_customer_sk |
| | row-size=24B cardinality=2.88M |
| | |
| 36:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price) |
| | row-size=16B cardinality=1 |
| | |
| 35:EXCHANGE [UNPARTITIONED] |
| | |
| 13:AGGREGATE |
| | output: sum(ss_ext_sales_price) |
| | row-size=16B cardinality=1 |
| | |
| 12:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: c_current_addr_sk = ca_address_sk |
| | row-size=133B cardinality=3.28K |
| | |
| |--JOIN BUILD |
| | | join-table-id=06 plan-id=07 cohort-id=01 |
| | | build expressions: ca_address_sk |
| | | runtime filters: RF000 <- ca_address_sk |
| | | |
| | 34:EXCHANGE [BROADCAST] |
| | | |
| | 05:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | predicates: ca_gmt_offset = -5 |
| | row-size=8B cardinality=8.33K |
| | |
| 11:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | row-size=125B cardinality=16.94K |
| | |
| |--JOIN BUILD |
| | | join-table-id=07 plan-id=08 cohort-id=01 |
| | | build expressions: c_customer_sk |
| | | runtime filters: RF002 <- c_customer_sk |
| | | |
| | 33:EXCHANGE [HASH(c_customer_sk)] |
| | | |
| | 04:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF000 -> c_current_addr_sk |
| | row-size=8B cardinality=100.00K |
| | |
| 32:EXCHANGE [HASH(ss_customer_sk)] |
| | |
| 10:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | row-size=117B cardinality=16.94K |
| | |
| |--JOIN BUILD |
| | | join-table-id=08 plan-id=09 cohort-id=01 |
| | | build expressions: s_store_sk |
| | | runtime filters: RF004 <- s_store_sk |
| | | |
| | 31:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: s_gmt_offset = -5 |
| | row-size=8B cardinality=12 |
| | |
| 09:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_promo_sk = p_promo_sk |
| | row-size=109B cardinality=16.94K |
| | |
| |--JOIN BUILD |
| | | join-table-id=09 plan-id=10 cohort-id=01 |
| | | build expressions: p_promo_sk |
| | | runtime filters: RF006 <- p_promo_sk |
| | | |
| | 30:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.promotion] |
| | HDFS partitions=1/1 files=1 size=36.36KB |
| | predicates: (p_channel_dmail = 'Y' OR p_channel_email = 'Y' OR p_channel_tv = 'Y') |
| | row-size=43B cardinality=300 |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | row-size=66B cardinality=17.06K |
| | |
| |--JOIN BUILD |
| | | join-table-id=10 plan-id=11 cohort-id=01 |
| | | build expressions: i_item_sk |
| | | runtime filters: RF008 <- i_item_sk |
| | | |
| | 29:EXCHANGE [BROADCAST] |
| | | |
| | 06:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_category = 'Books' |
| | row-size=26B cardinality=1.80K |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | row-size=40B cardinality=170.55K |
| | |
| |--JOIN BUILD |
| | | join-table-id=11 plan-id=12 cohort-id=01 |
| | | build expressions: d_date_sk |
| | | runtime filters: RF010 <- d_date_sk |
| | | |
| | 28:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 2000, d_moy = 11 |
| | row-size=12B cardinality=108 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF010 -> ss_sold_date_sk, RF008 -> ss_item_sk, RF006 -> ss_promo_sk, RF002 -> ss_customer_sk, RF004 -> ss_store_sk |
| row-size=28B cardinality=2.88M |
| ==== |
| # TPCDS-Q88 |
| select * |
| from |
| (select count(*) h8_30_to_9 |
| from store_sales, household_demographics , time_dim, store |
| where ss_sold_time_sk = time_dim.t_time_sk |
| and ss_hdemo_sk = household_demographics.hd_demo_sk |
| and ss_store_sk = s_store_sk |
| and time_dim.t_hour = 8 |
| and time_dim.t_minute >= 30 |
| and ((household_demographics.hd_dep_count = 1 and household_demographics.hd_vehicle_count<=1+2) or |
| (household_demographics.hd_dep_count = 0 and household_demographics.hd_vehicle_count<=0+2) or |
| (household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2)) |
| and store.s_store_name = 'ese') s1, |
| (select count(*) h9_to_9_30 |
| from store_sales, household_demographics , time_dim, store |
| where ss_sold_time_sk = time_dim.t_time_sk |
| and ss_hdemo_sk = household_demographics.hd_demo_sk |
| and ss_store_sk = s_store_sk |
| and time_dim.t_hour = 9 |
| and time_dim.t_minute < 30 |
| and ((household_demographics.hd_dep_count = 1 and household_demographics.hd_vehicle_count<=1+2) or |
| (household_demographics.hd_dep_count = 0 and household_demographics.hd_vehicle_count<=0+2) or |
| (household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2)) |
| and store.s_store_name = 'ese') s2, |
| (select count(*) h9_30_to_10 |
| from store_sales, household_demographics , time_dim, store |
| where ss_sold_time_sk = time_dim.t_time_sk |
| and ss_hdemo_sk = household_demographics.hd_demo_sk |
| and ss_store_sk = s_store_sk |
| and time_dim.t_hour = 9 |
| and time_dim.t_minute >= 30 |
| and ((household_demographics.hd_dep_count = 1 and household_demographics.hd_vehicle_count<=1+2) or |
| (household_demographics.hd_dep_count = 0 and household_demographics.hd_vehicle_count<=0+2) or |
| (household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2)) |
| and store.s_store_name = 'ese') s3, |
| (select count(*) h10_to_10_30 |
| from store_sales, household_demographics , time_dim, store |
| where ss_sold_time_sk = time_dim.t_time_sk |
| and ss_hdemo_sk = household_demographics.hd_demo_sk |
| and ss_store_sk = s_store_sk |
| and time_dim.t_hour = 10 |
| and time_dim.t_minute < 30 |
| and ((household_demographics.hd_dep_count = 1 and household_demographics.hd_vehicle_count<=1+2) or |
| (household_demographics.hd_dep_count = 0 and household_demographics.hd_vehicle_count<=0+2) or |
| (household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2)) |
| and store.s_store_name = 'ese') s4, |
| (select count(*) h10_30_to_11 |
| from store_sales, household_demographics , time_dim, store |
| where ss_sold_time_sk = time_dim.t_time_sk |
| and ss_hdemo_sk = household_demographics.hd_demo_sk |
| and ss_store_sk = s_store_sk |
| and time_dim.t_hour = 10 |
| and time_dim.t_minute >= 30 |
| and ((household_demographics.hd_dep_count = 1 and household_demographics.hd_vehicle_count<=1+2) or |
| (household_demographics.hd_dep_count = 0 and household_demographics.hd_vehicle_count<=0+2) or |
| (household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2)) |
| and store.s_store_name = 'ese') s5, |
| (select count(*) h11_to_11_30 |
| from store_sales, household_demographics , time_dim, store |
| where ss_sold_time_sk = time_dim.t_time_sk |
| and ss_hdemo_sk = household_demographics.hd_demo_sk |
| and ss_store_sk = s_store_sk |
| and time_dim.t_hour = 11 |
| and time_dim.t_minute < 30 |
| and ((household_demographics.hd_dep_count = 1 and household_demographics.hd_vehicle_count<=1+2) or |
| (household_demographics.hd_dep_count = 0 and household_demographics.hd_vehicle_count<=0+2) or |
| (household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2)) |
| and store.s_store_name = 'ese') s6, |
| (select count(*) h11_30_to_12 |
| from store_sales, household_demographics , time_dim, store |
| where ss_sold_time_sk = time_dim.t_time_sk |
| and ss_hdemo_sk = household_demographics.hd_demo_sk |
| and ss_store_sk = s_store_sk |
| and time_dim.t_hour = 11 |
| and time_dim.t_minute >= 30 |
| and ((household_demographics.hd_dep_count = 1 and household_demographics.hd_vehicle_count<=1+2) or |
| (household_demographics.hd_dep_count = 0 and household_demographics.hd_vehicle_count<=0+2) or |
| (household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2)) |
| and store.s_store_name = 'ese') s7, |
| (select count(*) h12_to_12_30 |
| from store_sales, household_demographics , time_dim, store |
| where ss_sold_time_sk = time_dim.t_time_sk |
| and ss_hdemo_sk = household_demographics.hd_demo_sk |
| and ss_store_sk = s_store_sk |
| and time_dim.t_hour = 12 |
| and time_dim.t_minute < 30 |
| and ((household_demographics.hd_dep_count = 1 and household_demographics.hd_vehicle_count<=1+2) or |
| (household_demographics.hd_dep_count = 0 and household_demographics.hd_vehicle_count<=0+2) or |
| (household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2)) |
| and store.s_store_name = 'ese') s8 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=186.56MB Threads=33 |
| Per-Host Resource Estimates: Memory=1.81GB |
| PLAN-ROOT SINK |
| | |
| 70:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=64B cardinality=1 |
| | |
| |--63:AGGREGATE [FINALIZE] |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 62:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--59:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 61:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--57:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 60:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | runtime filters: RF046 <- time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--58:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 12, time_dim.t_minute < 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 56:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF046 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 69:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=56B cardinality=1 |
| | |
| |--55:AGGREGATE [FINALIZE] |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 54:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--51:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 53:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--49:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 52:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | runtime filters: RF040 <- time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--50:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 11, time_dim.t_minute >= 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 48:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF040 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 68:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=48B cardinality=1 |
| | |
| |--47:AGGREGATE [FINALIZE] |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 46:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--43:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 45:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--41:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 44:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | runtime filters: RF034 <- time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--42:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 11, time_dim.t_minute < 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 40:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF034 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 67:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=40B cardinality=1 |
| | |
| |--39:AGGREGATE [FINALIZE] |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 38:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--35:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 37:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--33:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 36:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | runtime filters: RF028 <- time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--34:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 10, time_dim.t_minute >= 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 32:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF028 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 66:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=32B cardinality=1 |
| | |
| |--31:AGGREGATE [FINALIZE] |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 30:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--27:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 29:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--25:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 28:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | runtime filters: RF022 <- time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--26:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 10, time_dim.t_minute < 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 24:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF022 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 65:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=24B cardinality=1 |
| | |
| |--23:AGGREGATE [FINALIZE] |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 22:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--19:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 21:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--17:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 20:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | runtime filters: RF016 <- time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--18:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 9, time_dim.t_minute >= 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 16:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF016 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 64:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=16B cardinality=1 |
| | |
| |--15:AGGREGATE [FINALIZE] |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 14:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--11:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 13:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | runtime filters: RF008 <- household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--09:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 12:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | runtime filters: RF010 <- time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--10:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 9, time_dim.t_minute < 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 08:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF010 -> ss_sold_time_sk, RF008 -> ss_hdemo_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 07:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | row-size=56B cardinality=2.27K |
| | |
| |--03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: store.s_store_name = 'ese' |
| | row-size=20B cardinality=2 |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | runtime filters: RF002 <- household_demographics.hd_demo_sk |
| | row-size=36B cardinality=6.82K |
| | |
| |--01:SCAN HDFS [tpcds.household_demographics] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | row-size=12B cardinality=720 |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | runtime filters: RF004 <- time_dim.t_time_sk |
| | row-size=24B cardinality=69.82K |
| | |
| |--02:SCAN HDFS [tpcds.time_dim] |
| | HDFS partitions=1/1 files=1 size=4.87MB |
| | predicates: time_dim.t_hour = 8, time_dim.t_minute >= 30 |
| | row-size=12B cardinality=1.14K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF004 -> ss_sold_time_sk, RF002 -> ss_hdemo_sk |
| row-size=12B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=186.56MB Threads=72 |
| Per-Host Resource Estimates: Memory=1.96GB |
| PLAN-ROOT SINK |
| | |
| 70:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=64B cardinality=1 |
| | |
| |--117:EXCHANGE [UNPARTITIONED] |
| | | |
| | 116:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 115:EXCHANGE [UNPARTITIONED] |
| | | |
| | 63:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 62:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--114:EXCHANGE [BROADCAST] |
| | | | |
| | | 59:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 61:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--113:EXCHANGE [BROADCAST] |
| | | | |
| | | 57:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 60:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | runtime filters: RF046 <- time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--112:EXCHANGE [BROADCAST] |
| | | | |
| | | 58:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 12, time_dim.t_minute < 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 56:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF046 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 69:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=56B cardinality=1 |
| | |
| |--111:EXCHANGE [UNPARTITIONED] |
| | | |
| | 110:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 109:EXCHANGE [UNPARTITIONED] |
| | | |
| | 55:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 54:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--108:EXCHANGE [BROADCAST] |
| | | | |
| | | 51:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 53:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--107:EXCHANGE [BROADCAST] |
| | | | |
| | | 49:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 52:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | runtime filters: RF040 <- time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--106:EXCHANGE [BROADCAST] |
| | | | |
| | | 50:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 11, time_dim.t_minute >= 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 48:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF040 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 68:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=48B cardinality=1 |
| | |
| |--105:EXCHANGE [UNPARTITIONED] |
| | | |
| | 104:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 103:EXCHANGE [UNPARTITIONED] |
| | | |
| | 47:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 46:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--102:EXCHANGE [BROADCAST] |
| | | | |
| | | 43:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 45:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--101:EXCHANGE [BROADCAST] |
| | | | |
| | | 41:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 44:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | runtime filters: RF034 <- time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--100:EXCHANGE [BROADCAST] |
| | | | |
| | | 42:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 11, time_dim.t_minute < 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 40:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF034 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 67:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=40B cardinality=1 |
| | |
| |--99:EXCHANGE [UNPARTITIONED] |
| | | |
| | 98:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 97:EXCHANGE [UNPARTITIONED] |
| | | |
| | 39:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 38:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--96:EXCHANGE [BROADCAST] |
| | | | |
| | | 35:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 37:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--95:EXCHANGE [BROADCAST] |
| | | | |
| | | 33:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 36:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | runtime filters: RF028 <- time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--94:EXCHANGE [BROADCAST] |
| | | | |
| | | 34:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 10, time_dim.t_minute >= 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 32:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF028 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 66:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=32B cardinality=1 |
| | |
| |--93:EXCHANGE [UNPARTITIONED] |
| | | |
| | 92:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 91:EXCHANGE [UNPARTITIONED] |
| | | |
| | 31:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 30:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--90:EXCHANGE [BROADCAST] |
| | | | |
| | | 27:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 29:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--89:EXCHANGE [BROADCAST] |
| | | | |
| | | 25:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 28:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | runtime filters: RF022 <- time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--88:EXCHANGE [BROADCAST] |
| | | | |
| | | 26:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 10, time_dim.t_minute < 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 24:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF022 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 65:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=24B cardinality=1 |
| | |
| |--87:EXCHANGE [UNPARTITIONED] |
| | | |
| | 86:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 85:EXCHANGE [UNPARTITIONED] |
| | | |
| | 23:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 22:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--84:EXCHANGE [BROADCAST] |
| | | | |
| | | 19:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 21:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--83:EXCHANGE [BROADCAST] |
| | | | |
| | | 17:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 20:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | runtime filters: RF016 <- time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--82:EXCHANGE [BROADCAST] |
| | | | |
| | | 18:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 9, time_dim.t_minute >= 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 16:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF016 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 64:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=16B cardinality=1 |
| | |
| |--81:EXCHANGE [UNPARTITIONED] |
| | | |
| | 80:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 79:EXCHANGE [UNPARTITIONED] |
| | | |
| | 15:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 14:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--78:EXCHANGE [BROADCAST] |
| | | | |
| | | 11:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 13:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | runtime filters: RF008 <- household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--77:EXCHANGE [BROADCAST] |
| | | | |
| | | 09:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 12:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | runtime filters: RF010 <- time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--76:EXCHANGE [BROADCAST] |
| | | | |
| | | 10:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 9, time_dim.t_minute < 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 08:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF010 -> ss_sold_time_sk, RF008 -> ss_hdemo_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 75:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 74:EXCHANGE [UNPARTITIONED] |
| | |
| 07:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | row-size=56B cardinality=2.27K |
| | |
| |--73:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: store.s_store_name = 'ese' |
| | row-size=20B cardinality=2 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | runtime filters: RF002 <- household_demographics.hd_demo_sk |
| | row-size=36B cardinality=6.82K |
| | |
| |--72:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.household_demographics] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | row-size=12B cardinality=720 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | runtime filters: RF004 <- time_dim.t_time_sk |
| | row-size=24B cardinality=69.82K |
| | |
| |--71:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.time_dim] |
| | HDFS partitions=1/1 files=1 size=4.87MB |
| | predicates: time_dim.t_hour = 8, time_dim.t_minute >= 30 |
| | row-size=12B cardinality=1.14K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF004 -> ss_sold_time_sk, RF002 -> ss_hdemo_sk |
| row-size=12B cardinality=2.88M |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=307.06MB Threads=79 |
| Per-Host Resource Estimates: Memory=994MB |
| PLAN-ROOT SINK |
| | |
| 70:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 00 |
| | row-size=64B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | |
| | 117:EXCHANGE [UNPARTITIONED] |
| | | |
| | 116:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 115:EXCHANGE [UNPARTITIONED] |
| | | |
| | 63:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 62:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=01 plan-id=02 cohort-id=02 |
| | | | build expressions: s_store_sk |
| | | | |
| | | 114:EXCHANGE [BROADCAST] |
| | | | |
| | | 59:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 61:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=02 plan-id=03 cohort-id=02 |
| | | | build expressions: household_demographics.hd_demo_sk |
| | | | |
| | | 113:EXCHANGE [BROADCAST] |
| | | | |
| | | 57:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 60:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=03 plan-id=04 cohort-id=02 |
| | | | build expressions: time_dim.t_time_sk |
| | | | runtime filters: RF046 <- time_dim.t_time_sk |
| | | | |
| | | 112:EXCHANGE [BROADCAST] |
| | | | |
| | | 58:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 12, time_dim.t_minute < 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 56:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF046 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 69:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 04 |
| | row-size=56B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=04 plan-id=05 cohort-id=01 |
| | | |
| | 111:EXCHANGE [UNPARTITIONED] |
| | | |
| | 110:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 109:EXCHANGE [UNPARTITIONED] |
| | | |
| | 55:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 54:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=05 plan-id=06 cohort-id=03 |
| | | | build expressions: s_store_sk |
| | | | |
| | | 108:EXCHANGE [BROADCAST] |
| | | | |
| | | 51:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 53:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=06 plan-id=07 cohort-id=03 |
| | | | build expressions: household_demographics.hd_demo_sk |
| | | | |
| | | 107:EXCHANGE [BROADCAST] |
| | | | |
| | | 49:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 52:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=07 plan-id=08 cohort-id=03 |
| | | | build expressions: time_dim.t_time_sk |
| | | | runtime filters: RF040 <- time_dim.t_time_sk |
| | | | |
| | | 106:EXCHANGE [BROADCAST] |
| | | | |
| | | 50:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 11, time_dim.t_minute >= 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 48:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF040 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 68:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 08 |
| | row-size=48B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=08 plan-id=09 cohort-id=01 |
| | | |
| | 105:EXCHANGE [UNPARTITIONED] |
| | | |
| | 104:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 103:EXCHANGE [UNPARTITIONED] |
| | | |
| | 47:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 46:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=09 plan-id=10 cohort-id=04 |
| | | | build expressions: s_store_sk |
| | | | |
| | | 102:EXCHANGE [BROADCAST] |
| | | | |
| | | 43:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 45:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=10 plan-id=11 cohort-id=04 |
| | | | build expressions: household_demographics.hd_demo_sk |
| | | | |
| | | 101:EXCHANGE [BROADCAST] |
| | | | |
| | | 41:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 44:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=11 plan-id=12 cohort-id=04 |
| | | | build expressions: time_dim.t_time_sk |
| | | | runtime filters: RF034 <- time_dim.t_time_sk |
| | | | |
| | | 100:EXCHANGE [BROADCAST] |
| | | | |
| | | 42:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 11, time_dim.t_minute < 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 40:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF034 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 67:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 12 |
| | row-size=40B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=12 plan-id=13 cohort-id=01 |
| | | |
| | 99:EXCHANGE [UNPARTITIONED] |
| | | |
| | 98:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 97:EXCHANGE [UNPARTITIONED] |
| | | |
| | 39:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 38:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=13 plan-id=14 cohort-id=05 |
| | | | build expressions: s_store_sk |
| | | | |
| | | 96:EXCHANGE [BROADCAST] |
| | | | |
| | | 35:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 37:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=14 plan-id=15 cohort-id=05 |
| | | | build expressions: household_demographics.hd_demo_sk |
| | | | |
| | | 95:EXCHANGE [BROADCAST] |
| | | | |
| | | 33:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 36:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=15 plan-id=16 cohort-id=05 |
| | | | build expressions: time_dim.t_time_sk |
| | | | runtime filters: RF028 <- time_dim.t_time_sk |
| | | | |
| | | 94:EXCHANGE [BROADCAST] |
| | | | |
| | | 34:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 10, time_dim.t_minute >= 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 32:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF028 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 66:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 16 |
| | row-size=32B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=16 plan-id=17 cohort-id=01 |
| | | |
| | 93:EXCHANGE [UNPARTITIONED] |
| | | |
| | 92:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 91:EXCHANGE [UNPARTITIONED] |
| | | |
| | 31:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 30:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=17 plan-id=18 cohort-id=06 |
| | | | build expressions: s_store_sk |
| | | | |
| | | 90:EXCHANGE [BROADCAST] |
| | | | |
| | | 27:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 29:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=18 plan-id=19 cohort-id=06 |
| | | | build expressions: household_demographics.hd_demo_sk |
| | | | |
| | | 89:EXCHANGE [BROADCAST] |
| | | | |
| | | 25:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 28:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=19 plan-id=20 cohort-id=06 |
| | | | build expressions: time_dim.t_time_sk |
| | | | runtime filters: RF022 <- time_dim.t_time_sk |
| | | | |
| | | 88:EXCHANGE [BROADCAST] |
| | | | |
| | | 26:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 10, time_dim.t_minute < 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 24:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF022 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 65:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 20 |
| | row-size=24B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=20 plan-id=21 cohort-id=01 |
| | | |
| | 87:EXCHANGE [UNPARTITIONED] |
| | | |
| | 86:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 85:EXCHANGE [UNPARTITIONED] |
| | | |
| | 23:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 22:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=21 plan-id=22 cohort-id=07 |
| | | | build expressions: s_store_sk |
| | | | |
| | | 84:EXCHANGE [BROADCAST] |
| | | | |
| | | 19:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 21:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=22 plan-id=23 cohort-id=07 |
| | | | build expressions: household_demographics.hd_demo_sk |
| | | | |
| | | 83:EXCHANGE [BROADCAST] |
| | | | |
| | | 17:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 20:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=23 plan-id=24 cohort-id=07 |
| | | | build expressions: time_dim.t_time_sk |
| | | | runtime filters: RF016 <- time_dim.t_time_sk |
| | | | |
| | | 82:EXCHANGE [BROADCAST] |
| | | | |
| | | 18:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 9, time_dim.t_minute >= 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 16:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF016 -> ss_sold_time_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 64:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 24 |
| | row-size=16B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=24 plan-id=25 cohort-id=01 |
| | | |
| | 81:EXCHANGE [UNPARTITIONED] |
| | | |
| | 80:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 79:EXCHANGE [UNPARTITIONED] |
| | | |
| | 15:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 14:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | row-size=56B cardinality=2.27K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=25 plan-id=26 cohort-id=08 |
| | | | build expressions: s_store_sk |
| | | | |
| | | 78:EXCHANGE [BROADCAST] |
| | | | |
| | | 11:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | predicates: store.s_store_name = 'ese' |
| | | row-size=20B cardinality=2 |
| | | |
| | 13:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | | row-size=36B cardinality=6.82K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=26 plan-id=27 cohort-id=08 |
| | | | build expressions: household_demographics.hd_demo_sk |
| | | | runtime filters: RF008 <- household_demographics.hd_demo_sk |
| | | | |
| | | 77:EXCHANGE [BROADCAST] |
| | | | |
| | | 09:SCAN HDFS [tpcds.household_demographics] |
| | | HDFS partitions=1/1 files=1 size=148.10KB |
| | | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | | row-size=12B cardinality=720 |
| | | |
| | 12:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | | row-size=24B cardinality=69.82K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=27 plan-id=28 cohort-id=08 |
| | | | build expressions: time_dim.t_time_sk |
| | | | runtime filters: RF010 <- time_dim.t_time_sk |
| | | | |
| | | 76:EXCHANGE [BROADCAST] |
| | | | |
| | | 10:SCAN HDFS [tpcds.time_dim] |
| | | HDFS partitions=1/1 files=1 size=4.87MB |
| | | predicates: time_dim.t_hour = 9, time_dim.t_minute < 30 |
| | | row-size=12B cardinality=1.14K |
| | | |
| | 08:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF010 -> ss_sold_time_sk, RF008 -> ss_hdemo_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 75:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 74:EXCHANGE [UNPARTITIONED] |
| | |
| 07:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | row-size=56B cardinality=2.27K |
| | |
| |--JOIN BUILD |
| | | join-table-id=28 plan-id=29 cohort-id=01 |
| | | build expressions: s_store_sk |
| | | |
| | 73:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: store.s_store_name = 'ese' |
| | row-size=20B cardinality=2 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_hdemo_sk = household_demographics.hd_demo_sk |
| | row-size=36B cardinality=6.82K |
| | |
| |--JOIN BUILD |
| | | join-table-id=29 plan-id=30 cohort-id=01 |
| | | build expressions: household_demographics.hd_demo_sk |
| | | runtime filters: RF002 <- household_demographics.hd_demo_sk |
| | | |
| | 72:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.household_demographics] |
| | HDFS partitions=1/1 files=1 size=148.10KB |
| | predicates: ((household_demographics.hd_dep_count = 1 AND household_demographics.hd_vehicle_count <= 3) OR (household_demographics.hd_dep_count = 0 AND household_demographics.hd_vehicle_count <= 2) OR (household_demographics.hd_dep_count = 2 AND household_demographics.hd_vehicle_count <= 4)) |
| | row-size=12B cardinality=720 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_time_sk = time_dim.t_time_sk |
| | row-size=24B cardinality=69.82K |
| | |
| |--JOIN BUILD |
| | | join-table-id=30 plan-id=31 cohort-id=01 |
| | | build expressions: time_dim.t_time_sk |
| | | runtime filters: RF004 <- time_dim.t_time_sk |
| | | |
| | 71:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.time_dim] |
| | HDFS partitions=1/1 files=1 size=4.87MB |
| | predicates: time_dim.t_hour = 8, time_dim.t_minute >= 30 |
| | row-size=12B cardinality=1.14K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF004 -> ss_sold_time_sk, RF002 -> ss_hdemo_sk |
| row-size=12B cardinality=2.88M |
| ==== |
| # TPCDS-Q9 |
| select case when (select count(*) |
| from store_sales |
| where ss_quantity between 1 and 20) > 74129 |
| then (select avg(ss_ext_discount_amt) |
| from store_sales |
| where ss_quantity between 1 and 20) |
| else (select avg(ss_net_profit) |
| from store_sales |
| where ss_quantity between 1 and 20) end bucket1, |
| case when (select count(*) |
| from store_sales |
| where ss_quantity between 21 and 40) > 122840 |
| then (select avg(ss_ext_discount_amt) |
| from store_sales |
| where ss_quantity between 21 and 40) |
| else (select avg(ss_net_profit) |
| from store_sales |
| where ss_quantity between 21 and 40) end bucket2, |
| case when (select count(*) |
| from store_sales |
| where ss_quantity between 41 and 60) > 56580 |
| then (select avg(ss_ext_discount_amt) |
| from store_sales |
| where ss_quantity between 41 and 60) |
| else (select avg(ss_net_profit) |
| from store_sales |
| where ss_quantity between 41 and 60) end bucket3, |
| case when (select count(*) |
| from store_sales |
| where ss_quantity between 61 and 80) > 10097 |
| then (select avg(ss_ext_discount_amt) |
| from store_sales |
| where ss_quantity between 61 and 80) |
| else (select avg(ss_net_profit) |
| from store_sales |
| where ss_quantity between 61 and 80) end bucket4, |
| case when (select count(*) |
| from store_sales |
| where ss_quantity between 81 and 100) > 165306 |
| then (select avg(ss_ext_discount_amt) |
| from store_sales |
| where ss_quantity between 81 and 100) |
| else (select avg(ss_net_profit) |
| from store_sales |
| where ss_quantity between 81 and 100) end bucket5 |
| from reason |
| where r_reason_sk = 1 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=120.01MB Threads=17 |
| Per-Host Resource Estimates: Memory=2.05GB |
| PLAN-ROOT SINK |
| | |
| 45:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=124B cardinality=1 |
| | |
| |--30:AGGREGATE [FINALIZE] |
| | | output: avg(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 29:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 100, ss_quantity >= 81 |
| | row-size=8B cardinality=288.04K |
| | |
| 44:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=116B cardinality=1 |
| | |
| |--28:AGGREGATE [FINALIZE] |
| | | output: avg(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 27:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 100, ss_quantity >= 81 |
| | row-size=8B cardinality=288.04K |
| | |
| 43:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=108B cardinality=1 |
| | |
| |--26:AGGREGATE [FINALIZE] |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 25:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 100, ss_quantity >= 81 |
| | row-size=4B cardinality=288.04K |
| | |
| 42:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=100B cardinality=1 |
| | |
| |--24:AGGREGATE [FINALIZE] |
| | | output: avg(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 23:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 80, ss_quantity >= 61 |
| | row-size=8B cardinality=288.04K |
| | |
| 41:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=92B cardinality=1 |
| | |
| |--22:AGGREGATE [FINALIZE] |
| | | output: avg(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 21:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 80, ss_quantity >= 61 |
| | row-size=8B cardinality=288.04K |
| | |
| 40:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=84B cardinality=1 |
| | |
| |--20:AGGREGATE [FINALIZE] |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 19:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 80, ss_quantity >= 61 |
| | row-size=4B cardinality=288.04K |
| | |
| 39:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=76B cardinality=1 |
| | |
| |--18:AGGREGATE [FINALIZE] |
| | | output: avg(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 17:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 60, ss_quantity >= 41 |
| | row-size=8B cardinality=288.04K |
| | |
| 38:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=68B cardinality=1 |
| | |
| |--16:AGGREGATE [FINALIZE] |
| | | output: avg(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 15:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 60, ss_quantity >= 41 |
| | row-size=8B cardinality=288.04K |
| | |
| 37:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=60B cardinality=1 |
| | |
| |--14:AGGREGATE [FINALIZE] |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 13:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 60, ss_quantity >= 41 |
| | row-size=4B cardinality=288.04K |
| | |
| 36:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=52B cardinality=1 |
| | |
| |--12:AGGREGATE [FINALIZE] |
| | | output: avg(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 11:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 40, ss_quantity >= 21 |
| | row-size=8B cardinality=288.04K |
| | |
| 35:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=44B cardinality=1 |
| | |
| |--10:AGGREGATE [FINALIZE] |
| | | output: avg(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 09:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 40, ss_quantity >= 21 |
| | row-size=8B cardinality=288.04K |
| | |
| 34:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=36B cardinality=1 |
| | |
| |--08:AGGREGATE [FINALIZE] |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 07:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 40, ss_quantity >= 21 |
| | row-size=4B cardinality=288.04K |
| | |
| 33:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=28B cardinality=1 |
| | |
| |--06:AGGREGATE [FINALIZE] |
| | | output: avg(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 05:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 20, ss_quantity >= 1 |
| | row-size=8B cardinality=288.04K |
| | |
| 32:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=20B cardinality=1 |
| | |
| |--04:AGGREGATE [FINALIZE] |
| | | output: avg(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 03:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 20, ss_quantity >= 1 |
| | row-size=8B cardinality=288.04K |
| | |
| 31:NESTED LOOP JOIN [CROSS JOIN] |
| | row-size=12B cardinality=1 |
| | |
| |--00:SCAN HDFS [tpcds.reason] |
| | HDFS partitions=1/1 files=1 size=1.31KB |
| | predicates: r_reason_sk = 1 |
| | row-size=4B cardinality=1 |
| | |
| 02:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| predicates: ss_quantity <= 20, ss_quantity >= 1 |
| row-size=4B cardinality=288.04K |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=120.01MB Threads=47 |
| Per-Host Resource Estimates: Memory=2.20GB |
| PLAN-ROOT SINK |
| | |
| 45:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=124B cardinality=1 |
| | |
| |--90:EXCHANGE [UNPARTITIONED] |
| | | |
| | 89:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 88:EXCHANGE [UNPARTITIONED] |
| | | |
| | 30:AGGREGATE |
| | | output: avg(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 29:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 100, ss_quantity >= 81 |
| | row-size=8B cardinality=288.04K |
| | |
| 44:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=116B cardinality=1 |
| | |
| |--87:EXCHANGE [UNPARTITIONED] |
| | | |
| | 86:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 85:EXCHANGE [UNPARTITIONED] |
| | | |
| | 28:AGGREGATE |
| | | output: avg(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 27:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 100, ss_quantity >= 81 |
| | row-size=8B cardinality=288.04K |
| | |
| 43:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=108B cardinality=1 |
| | |
| |--84:EXCHANGE [UNPARTITIONED] |
| | | |
| | 83:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 82:EXCHANGE [UNPARTITIONED] |
| | | |
| | 26:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 25:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 100, ss_quantity >= 81 |
| | row-size=4B cardinality=288.04K |
| | |
| 42:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=100B cardinality=1 |
| | |
| |--81:EXCHANGE [UNPARTITIONED] |
| | | |
| | 80:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 79:EXCHANGE [UNPARTITIONED] |
| | | |
| | 24:AGGREGATE |
| | | output: avg(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 23:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 80, ss_quantity >= 61 |
| | row-size=8B cardinality=288.04K |
| | |
| 41:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=92B cardinality=1 |
| | |
| |--78:EXCHANGE [UNPARTITIONED] |
| | | |
| | 77:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 76:EXCHANGE [UNPARTITIONED] |
| | | |
| | 22:AGGREGATE |
| | | output: avg(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 21:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 80, ss_quantity >= 61 |
| | row-size=8B cardinality=288.04K |
| | |
| 40:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=84B cardinality=1 |
| | |
| |--75:EXCHANGE [UNPARTITIONED] |
| | | |
| | 74:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 73:EXCHANGE [UNPARTITIONED] |
| | | |
| | 20:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 19:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 80, ss_quantity >= 61 |
| | row-size=4B cardinality=288.04K |
| | |
| 39:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=76B cardinality=1 |
| | |
| |--72:EXCHANGE [UNPARTITIONED] |
| | | |
| | 71:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 70:EXCHANGE [UNPARTITIONED] |
| | | |
| | 18:AGGREGATE |
| | | output: avg(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 17:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 60, ss_quantity >= 41 |
| | row-size=8B cardinality=288.04K |
| | |
| 38:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=68B cardinality=1 |
| | |
| |--69:EXCHANGE [UNPARTITIONED] |
| | | |
| | 68:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 67:EXCHANGE [UNPARTITIONED] |
| | | |
| | 16:AGGREGATE |
| | | output: avg(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 15:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 60, ss_quantity >= 41 |
| | row-size=8B cardinality=288.04K |
| | |
| 37:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=60B cardinality=1 |
| | |
| |--66:EXCHANGE [UNPARTITIONED] |
| | | |
| | 65:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 64:EXCHANGE [UNPARTITIONED] |
| | | |
| | 14:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 13:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 60, ss_quantity >= 41 |
| | row-size=4B cardinality=288.04K |
| | |
| 36:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=52B cardinality=1 |
| | |
| |--63:EXCHANGE [UNPARTITIONED] |
| | | |
| | 62:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 61:EXCHANGE [UNPARTITIONED] |
| | | |
| | 12:AGGREGATE |
| | | output: avg(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 11:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 40, ss_quantity >= 21 |
| | row-size=8B cardinality=288.04K |
| | |
| 35:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=44B cardinality=1 |
| | |
| |--60:EXCHANGE [UNPARTITIONED] |
| | | |
| | 59:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 58:EXCHANGE [UNPARTITIONED] |
| | | |
| | 10:AGGREGATE |
| | | output: avg(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 09:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 40, ss_quantity >= 21 |
| | row-size=8B cardinality=288.04K |
| | |
| 34:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=36B cardinality=1 |
| | |
| |--57:EXCHANGE [UNPARTITIONED] |
| | | |
| | 56:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 55:EXCHANGE [UNPARTITIONED] |
| | | |
| | 08:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 07:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 40, ss_quantity >= 21 |
| | row-size=4B cardinality=288.04K |
| | |
| 33:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=28B cardinality=1 |
| | |
| |--54:EXCHANGE [UNPARTITIONED] |
| | | |
| | 53:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 52:EXCHANGE [UNPARTITIONED] |
| | | |
| | 06:AGGREGATE |
| | | output: avg(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 05:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 20, ss_quantity >= 1 |
| | row-size=8B cardinality=288.04K |
| | |
| 32:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=20B cardinality=1 |
| | |
| |--51:EXCHANGE [UNPARTITIONED] |
| | | |
| | 50:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 49:EXCHANGE [UNPARTITIONED] |
| | | |
| | 04:AGGREGATE |
| | | output: avg(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 03:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 20, ss_quantity >= 1 |
| | row-size=8B cardinality=288.04K |
| | |
| 31:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | row-size=12B cardinality=1 |
| | |
| |--48:EXCHANGE [UNPARTITIONED] |
| | | |
| | 00:SCAN HDFS [tpcds.reason] |
| | HDFS partitions=1/1 files=1 size=1.31KB |
| | predicates: r_reason_sk = 1 |
| | row-size=4B cardinality=1 |
| | |
| 47:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 46:EXCHANGE [UNPARTITIONED] |
| | |
| 02:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| predicates: ss_quantity <= 20, ss_quantity >= 1 |
| row-size=4B cardinality=288.04K |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=240.01MB Threads=61 |
| Per-Host Resource Estimates: Memory=946MB |
| PLAN-ROOT SINK |
| | |
| 45:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 00 |
| | row-size=124B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | |
| | 90:EXCHANGE [UNPARTITIONED] |
| | | |
| | 89:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 88:EXCHANGE [UNPARTITIONED] |
| | | |
| | 30:AGGREGATE |
| | | output: avg(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 29:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 100, ss_quantity >= 81 |
| | row-size=8B cardinality=288.04K |
| | |
| 44:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 01 |
| | row-size=116B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=01 plan-id=02 cohort-id=01 |
| | | |
| | 87:EXCHANGE [UNPARTITIONED] |
| | | |
| | 86:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 85:EXCHANGE [UNPARTITIONED] |
| | | |
| | 28:AGGREGATE |
| | | output: avg(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 27:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 100, ss_quantity >= 81 |
| | row-size=8B cardinality=288.04K |
| | |
| 43:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 02 |
| | row-size=108B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=02 plan-id=03 cohort-id=01 |
| | | |
| | 84:EXCHANGE [UNPARTITIONED] |
| | | |
| | 83:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 82:EXCHANGE [UNPARTITIONED] |
| | | |
| | 26:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 25:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 100, ss_quantity >= 81 |
| | row-size=4B cardinality=288.04K |
| | |
| 42:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 03 |
| | row-size=100B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=03 plan-id=04 cohort-id=01 |
| | | |
| | 81:EXCHANGE [UNPARTITIONED] |
| | | |
| | 80:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 79:EXCHANGE [UNPARTITIONED] |
| | | |
| | 24:AGGREGATE |
| | | output: avg(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 23:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 80, ss_quantity >= 61 |
| | row-size=8B cardinality=288.04K |
| | |
| 41:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 04 |
| | row-size=92B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=04 plan-id=05 cohort-id=01 |
| | | |
| | 78:EXCHANGE [UNPARTITIONED] |
| | | |
| | 77:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 76:EXCHANGE [UNPARTITIONED] |
| | | |
| | 22:AGGREGATE |
| | | output: avg(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 21:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 80, ss_quantity >= 61 |
| | row-size=8B cardinality=288.04K |
| | |
| 40:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 05 |
| | row-size=84B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=05 plan-id=06 cohort-id=01 |
| | | |
| | 75:EXCHANGE [UNPARTITIONED] |
| | | |
| | 74:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 73:EXCHANGE [UNPARTITIONED] |
| | | |
| | 20:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 19:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 80, ss_quantity >= 61 |
| | row-size=4B cardinality=288.04K |
| | |
| 39:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 06 |
| | row-size=76B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=06 plan-id=07 cohort-id=01 |
| | | |
| | 72:EXCHANGE [UNPARTITIONED] |
| | | |
| | 71:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 70:EXCHANGE [UNPARTITIONED] |
| | | |
| | 18:AGGREGATE |
| | | output: avg(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 17:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 60, ss_quantity >= 41 |
| | row-size=8B cardinality=288.04K |
| | |
| 38:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 07 |
| | row-size=68B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=07 plan-id=08 cohort-id=01 |
| | | |
| | 69:EXCHANGE [UNPARTITIONED] |
| | | |
| | 68:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 67:EXCHANGE [UNPARTITIONED] |
| | | |
| | 16:AGGREGATE |
| | | output: avg(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 15:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 60, ss_quantity >= 41 |
| | row-size=8B cardinality=288.04K |
| | |
| 37:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 08 |
| | row-size=60B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=08 plan-id=09 cohort-id=01 |
| | | |
| | 66:EXCHANGE [UNPARTITIONED] |
| | | |
| | 65:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 64:EXCHANGE [UNPARTITIONED] |
| | | |
| | 14:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 13:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 60, ss_quantity >= 41 |
| | row-size=4B cardinality=288.04K |
| | |
| 36:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 09 |
| | row-size=52B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=09 plan-id=10 cohort-id=01 |
| | | |
| | 63:EXCHANGE [UNPARTITIONED] |
| | | |
| | 62:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 61:EXCHANGE [UNPARTITIONED] |
| | | |
| | 12:AGGREGATE |
| | | output: avg(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 11:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 40, ss_quantity >= 21 |
| | row-size=8B cardinality=288.04K |
| | |
| 35:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 10 |
| | row-size=44B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=10 plan-id=11 cohort-id=01 |
| | | |
| | 60:EXCHANGE [UNPARTITIONED] |
| | | |
| | 59:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 58:EXCHANGE [UNPARTITIONED] |
| | | |
| | 10:AGGREGATE |
| | | output: avg(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 09:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 40, ss_quantity >= 21 |
| | row-size=8B cardinality=288.04K |
| | |
| 34:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 11 |
| | row-size=36B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=11 plan-id=12 cohort-id=01 |
| | | |
| | 57:EXCHANGE [UNPARTITIONED] |
| | | |
| | 56:AGGREGATE [FINALIZE] |
| | | output: count:merge(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 55:EXCHANGE [UNPARTITIONED] |
| | | |
| | 08:AGGREGATE |
| | | output: count(*) |
| | | row-size=8B cardinality=1 |
| | | |
| | 07:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 40, ss_quantity >= 21 |
| | row-size=4B cardinality=288.04K |
| | |
| 33:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 12 |
| | row-size=28B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=12 plan-id=13 cohort-id=01 |
| | | |
| | 54:EXCHANGE [UNPARTITIONED] |
| | | |
| | 53:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 52:EXCHANGE [UNPARTITIONED] |
| | | |
| | 06:AGGREGATE |
| | | output: avg(ss_net_profit) |
| | | row-size=8B cardinality=1 |
| | | |
| | 05:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 20, ss_quantity >= 1 |
| | row-size=8B cardinality=288.04K |
| | |
| 32:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 13 |
| | row-size=20B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=13 plan-id=14 cohort-id=01 |
| | | |
| | 51:EXCHANGE [UNPARTITIONED] |
| | | |
| | 50:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 49:EXCHANGE [UNPARTITIONED] |
| | | |
| | 04:AGGREGATE |
| | | output: avg(ss_ext_discount_amt) |
| | | row-size=8B cardinality=1 |
| | | |
| | 03:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_quantity <= 20, ss_quantity >= 1 |
| | row-size=8B cardinality=288.04K |
| | |
| 31:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | join table id: 14 |
| | row-size=12B cardinality=1 |
| | |
| |--JOIN BUILD |
| | | join-table-id=14 plan-id=15 cohort-id=01 |
| | | |
| | 48:EXCHANGE [UNPARTITIONED] |
| | | |
| | 00:SCAN HDFS [tpcds.reason] |
| | HDFS partitions=1/1 files=1 size=1.31KB |
| | predicates: r_reason_sk = 1 |
| | row-size=4B cardinality=1 |
| | |
| 47:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 46:EXCHANGE [UNPARTITIONED] |
| | |
| 02:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| predicates: ss_quantity <= 20, ss_quantity >= 1 |
| row-size=4B cardinality=288.04K |
| ==== |
| # TPCDS-Q44 |
| SELECT asceding.rnk, |
| i1.i_product_name best_performing, |
| i2.i_product_name worst_performing |
| FROM |
| (SELECT * |
| FROM |
| (SELECT item_sk, |
| rank() OVER ( |
| ORDER BY rank_col ASC) rnk |
| FROM |
| (SELECT ss_item_sk item_sk, |
| avg(ss_net_profit) rank_col |
| FROM store_sales ss1 |
| WHERE ss_store_sk = 4 |
| GROUP BY ss_item_sk |
| HAVING avg(ss_net_profit) > 0.9* |
| (SELECT avg(ss_net_profit) rank_col |
| FROM store_sales |
| WHERE ss_store_sk = 4 |
| AND ss_addr_sk IS NULL |
| GROUP BY ss_store_sk))V1)V11 |
| WHERE rnk < 11) asceding, |
| (SELECT * |
| FROM |
| (SELECT item_sk, |
| rank() OVER ( |
| ORDER BY rank_col DESC) rnk |
| FROM |
| (SELECT ss_item_sk item_sk, |
| avg(ss_net_profit) rank_col |
| FROM store_sales ss1 |
| WHERE ss_store_sk = 4 |
| GROUP BY ss_item_sk |
| HAVING avg(ss_net_profit) > 0.9* |
| (SELECT avg(ss_net_profit) rank_col |
| FROM store_sales |
| WHERE ss_store_sk = 4 |
| AND ss_addr_sk IS NULL |
| GROUP BY ss_store_sk))V2)V21 |
| WHERE rnk < 11) descending, |
| item i1, |
| item i2 |
| WHERE asceding.rnk = descending.rnk |
| AND i1.i_item_sk=asceding.item_sk |
| AND i2.i_item_sk=descending.item_sk |
| ORDER BY asceding.rnk |
| LIMIT 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=65.75MB Threads=7 |
| Per-Host Resource Estimates: Memory=626MB |
| PLAN-ROOT SINK |
| | |
| 23:TOP-N [LIMIT=100] |
| | order by: rnk ASC |
| | row-size=68B cardinality=100 |
| | |
| 22:HASH JOIN [INNER JOIN] |
| | hash predicates: i2.i_item_sk = ss_item_sk |
| | runtime filters: RF000 <- ss_item_sk |
| | row-size=148B cardinality=1.80K |
| | |
| |--21:HASH JOIN [INNER JOIN] |
| | | hash predicates: rank() = rank() |
| | | row-size=110B cardinality=1.80K |
| | | |
| | |--17:SELECT |
| | | | predicates: rank() < 11 |
| | | | row-size=36B cardinality=1.80K |
| | | | |
| | | 16:ANALYTIC |
| | | | functions: rank() |
| | | | order by: avg(ss_net_profit) DESC |
| | | | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | | | row-size=36B cardinality=17.98K |
| | | | |
| | | 15:SORT |
| | | | order by: avg(ss_net_profit) DESC |
| | | | row-size=28B cardinality=17.98K |
| | | | |
| | | 14:NESTED LOOP JOIN [INNER JOIN] |
| | | | predicates: avg(ss_net_profit) > 0.9 * avg(ss_net_profit) |
| | | | row-size=28B cardinality=17.98K |
| | | | |
| | | |--13:CARDINALITY CHECK |
| | | | | limit: 1 |
| | | | | row-size=12B cardinality=1 |
| | | | | |
| | | | 12:AGGREGATE [FINALIZE] |
| | | | | output: avg(ss_net_profit) |
| | | | | group by: ss_store_sk |
| | | | | limit: 2 |
| | | | | row-size=12B cardinality=2 |
| | | | | |
| | | | 11:SCAN HDFS [tpcds.store_sales] |
| | | | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | | | predicates: ss_addr_sk IS NULL, ss_store_sk = 4 |
| | | | row-size=12B cardinality=53.06K |
| | | | |
| | | 10:AGGREGATE [FINALIZE] |
| | | | output: avg(ss_net_profit) |
| | | | group by: ss_item_sk |
| | | | row-size=16B cardinality=17.98K |
| | | | |
| | | 09:SCAN HDFS [tpcds.store_sales ss1] |
| | | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | | predicates: ss_store_sk = 4 |
| | | row-size=16B cardinality=480.07K |
| | | |
| | 20:HASH JOIN [INNER JOIN] |
| | | hash predicates: i1.i_item_sk = ss_item_sk |
| | | runtime filters: RF002 <- ss_item_sk |
| | | row-size=74B cardinality=1.80K |
| | | |
| | |--08:SELECT |
| | | | predicates: rank() < 11 |
| | | | row-size=36B cardinality=1.80K |
| | | | |
| | | 07:ANALYTIC |
| | | | functions: rank() |
| | | | order by: avg(ss_net_profit) ASC |
| | | | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | | | row-size=36B cardinality=17.98K |
| | | | |
| | | 06:SORT |
| | | | order by: avg(ss_net_profit) ASC |
| | | | row-size=28B cardinality=17.98K |
| | | | |
| | | 05:NESTED LOOP JOIN [INNER JOIN] |
| | | | predicates: avg(ss_net_profit) > 0.9 * avg(ss_net_profit) |
| | | | row-size=28B cardinality=17.98K |
| | | | |
| | | |--04:CARDINALITY CHECK |
| | | | | limit: 1 |
| | | | | row-size=12B cardinality=1 |
| | | | | |
| | | | 03:AGGREGATE [FINALIZE] |
| | | | | output: avg(ss_net_profit) |
| | | | | group by: ss_store_sk |
| | | | | limit: 2 |
| | | | | row-size=12B cardinality=2 |
| | | | | |
| | | | 02:SCAN HDFS [tpcds.store_sales] |
| | | | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | | | predicates: ss_addr_sk IS NULL, ss_store_sk = 4 |
| | | | row-size=12B cardinality=53.06K |
| | | | |
| | | 01:AGGREGATE [FINALIZE] |
| | | | output: avg(ss_net_profit) |
| | | | group by: ss_item_sk |
| | | | row-size=16B cardinality=17.98K |
| | | | |
| | | 00:SCAN HDFS [tpcds.store_sales ss1] |
| | | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | | predicates: ss_store_sk = 4 |
| | | row-size=16B cardinality=480.07K |
| | | |
| | 18:SCAN HDFS [tpcds.item i1] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | runtime filters: RF002 -> i1.i_item_sk |
| | row-size=38B cardinality=18.00K |
| | |
| 19:SCAN HDFS [tpcds.item i2] |
| HDFS partitions=1/1 files=1 size=4.82MB |
| runtime filters: RF000 -> i2.i_item_sk |
| row-size=38B cardinality=18.00K |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=90.56MB Threads=21 |
| Per-Host Resource Estimates: Memory=685MB |
| PLAN-ROOT SINK |
| | |
| 41:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: rnk ASC |
| | limit: 100 |
| | |
| 23:TOP-N [LIMIT=100] |
| | order by: rnk ASC |
| | row-size=68B cardinality=100 |
| | |
| 22:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: i2.i_item_sk = ss_item_sk |
| | runtime filters: RF000 <- ss_item_sk |
| | row-size=148B cardinality=1.80K |
| | |
| |--40:EXCHANGE [BROADCAST] |
| | | |
| | 21:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: rank() = rank() |
| | | row-size=110B cardinality=1.80K |
| | | |
| | |--39:EXCHANGE [UNPARTITIONED] |
| | | | |
| | | 20:HASH JOIN [INNER JOIN, BROADCAST] |
| | | | hash predicates: ss_item_sk = i1.i_item_sk |
| | | | row-size=74B cardinality=1.80K |
| | | | |
| | | |--38:EXCHANGE [UNPARTITIONED] |
| | | | | |
| | | | 18:SCAN HDFS [tpcds.item i1] |
| | | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | | row-size=38B cardinality=18.00K |
| | | | |
| | | 08:SELECT |
| | | | predicates: rank() < 11 |
| | | | row-size=36B cardinality=1.80K |
| | | | |
| | | 07:ANALYTIC |
| | | | functions: rank() |
| | | | order by: avg(ss_net_profit) ASC |
| | | | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | | | row-size=36B cardinality=17.98K |
| | | | |
| | | 37:MERGING-EXCHANGE [UNPARTITIONED] |
| | | | order by: avg(ss_net_profit) ASC |
| | | | |
| | | 06:SORT |
| | | | order by: avg(ss_net_profit) ASC |
| | | | row-size=28B cardinality=17.98K |
| | | | |
| | | 05:NESTED LOOP JOIN [INNER JOIN, BROADCAST] |
| | | | predicates: avg(ss_net_profit) > 0.9 * avg(ss_net_profit) |
| | | | row-size=28B cardinality=17.98K |
| | | | |
| | | |--36:EXCHANGE [BROADCAST] |
| | | | | |
| | | | 04:CARDINALITY CHECK |
| | | | | limit: 1 |
| | | | | row-size=12B cardinality=1 |
| | | | | |
| | | | 35:EXCHANGE [UNPARTITIONED] |
| | | | | limit: 2 |
| | | | | |
| | | | 34:AGGREGATE [FINALIZE] |
| | | | | output: avg:merge(ss_net_profit) |
| | | | | group by: ss_store_sk |
| | | | | limit: 2 |
| | | | | row-size=12B cardinality=2 |
| | | | | |
| | | | 33:EXCHANGE [HASH(ss_store_sk)] |
| | | | | |
| | | | 03:AGGREGATE [STREAMING] |
| | | | | output: avg(ss_net_profit) |
| | | | | group by: ss_store_sk |
| | | | | row-size=12B cardinality=6 |
| | | | | |
| | | | 02:SCAN HDFS [tpcds.store_sales] |
| | | | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | | | predicates: ss_addr_sk IS NULL, ss_store_sk = 4 |
| | | | row-size=12B cardinality=53.06K |
| | | | |
| | | 32:AGGREGATE [FINALIZE] |
| | | | output: avg:merge(ss_net_profit) |
| | | | group by: ss_item_sk |
| | | | row-size=16B cardinality=17.98K |
| | | | |
| | | 31:EXCHANGE [HASH(ss_item_sk)] |
| | | | |
| | | 01:AGGREGATE [STREAMING] |
| | | | output: avg(ss_net_profit) |
| | | | group by: ss_item_sk |
| | | | row-size=16B cardinality=17.98K |
| | | | |
| | | 00:SCAN HDFS [tpcds.store_sales ss1] |
| | | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | | predicates: ss_store_sk = 4 |
| | | row-size=16B cardinality=480.07K |
| | | |
| | 17:SELECT |
| | | predicates: rank() < 11 |
| | | row-size=36B cardinality=1.80K |
| | | |
| | 16:ANALYTIC |
| | | functions: rank() |
| | | order by: avg(ss_net_profit) DESC |
| | | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | | row-size=36B cardinality=17.98K |
| | | |
| | 30:MERGING-EXCHANGE [UNPARTITIONED] |
| | | order by: avg(ss_net_profit) DESC |
| | | |
| | 15:SORT |
| | | order by: avg(ss_net_profit) DESC |
| | | row-size=28B cardinality=17.98K |
| | | |
| | 14:NESTED LOOP JOIN [INNER JOIN, BROADCAST] |
| | | predicates: avg(ss_net_profit) > 0.9 * avg(ss_net_profit) |
| | | row-size=28B cardinality=17.98K |
| | | |
| | |--29:EXCHANGE [BROADCAST] |
| | | | |
| | | 13:CARDINALITY CHECK |
| | | | limit: 1 |
| | | | row-size=12B cardinality=1 |
| | | | |
| | | 28:EXCHANGE [UNPARTITIONED] |
| | | | limit: 2 |
| | | | |
| | | 27:AGGREGATE [FINALIZE] |
| | | | output: avg:merge(ss_net_profit) |
| | | | group by: ss_store_sk |
| | | | limit: 2 |
| | | | row-size=12B cardinality=2 |
| | | | |
| | | 26:EXCHANGE [HASH(ss_store_sk)] |
| | | | |
| | | 12:AGGREGATE [STREAMING] |
| | | | output: avg(ss_net_profit) |
| | | | group by: ss_store_sk |
| | | | row-size=12B cardinality=6 |
| | | | |
| | | 11:SCAN HDFS [tpcds.store_sales] |
| | | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | | predicates: ss_addr_sk IS NULL, ss_store_sk = 4 |
| | | row-size=12B cardinality=53.06K |
| | | |
| | 25:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_net_profit) |
| | | group by: ss_item_sk |
| | | row-size=16B cardinality=17.98K |
| | | |
| | 24:EXCHANGE [HASH(ss_item_sk)] |
| | | |
| | 10:AGGREGATE [STREAMING] |
| | | output: avg(ss_net_profit) |
| | | group by: ss_item_sk |
| | | row-size=16B cardinality=17.98K |
| | | |
| | 09:SCAN HDFS [tpcds.store_sales ss1] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_store_sk = 4 |
| | row-size=16B cardinality=480.07K |
| | |
| 19:SCAN HDFS [tpcds.item i2] |
| HDFS partitions=1/1 files=1 size=4.82MB |
| runtime filters: RF000 -> i2.i_item_sk |
| row-size=38B cardinality=18.00K |
| ---- PARALLELPLANS |
| Max Per-Host Resource Reservation: Memory=157.12MB Threads=28 |
| Per-Host Resource Estimates: Memory=368MB |
| PLAN-ROOT SINK |
| | |
| 41:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: rnk ASC |
| | limit: 100 |
| | |
| 23:TOP-N [LIMIT=100] |
| | order by: rnk ASC |
| | row-size=68B cardinality=100 |
| | |
| 22:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: i2.i_item_sk = ss_item_sk |
| | row-size=148B cardinality=1.80K |
| | |
| |--JOIN BUILD |
| | | join-table-id=00 plan-id=01 cohort-id=01 |
| | | build expressions: ss_item_sk |
| | | runtime filters: RF000 <- ss_item_sk |
| | | |
| | 40:EXCHANGE [BROADCAST] |
| | | |
| | 21:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: rank() = rank() |
| | | row-size=110B cardinality=1.80K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=01 plan-id=02 cohort-id=02 |
| | | | build expressions: rank() |
| | | | |
| | | 39:EXCHANGE [UNPARTITIONED] |
| | | | |
| | | 20:HASH JOIN [INNER JOIN, BROADCAST] |
| | | | hash predicates: ss_item_sk = i1.i_item_sk |
| | | | row-size=74B cardinality=1.80K |
| | | | |
| | | |--JOIN BUILD |
| | | | | join-table-id=02 plan-id=03 cohort-id=03 |
| | | | | build expressions: i1.i_item_sk |
| | | | | |
| | | | 38:EXCHANGE [UNPARTITIONED] |
| | | | | |
| | | | 18:SCAN HDFS [tpcds.item i1] |
| | | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | | row-size=38B cardinality=18.00K |
| | | | |
| | | 08:SELECT |
| | | | predicates: rank() < 11 |
| | | | row-size=36B cardinality=1.80K |
| | | | |
| | | 07:ANALYTIC |
| | | | functions: rank() |
| | | | order by: avg(ss_net_profit) ASC |
| | | | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | | | row-size=36B cardinality=17.98K |
| | | | |
| | | 37:MERGING-EXCHANGE [UNPARTITIONED] |
| | | | order by: avg(ss_net_profit) ASC |
| | | | |
| | | 06:SORT |
| | | | order by: avg(ss_net_profit) ASC |
| | | | row-size=28B cardinality=17.98K |
| | | | |
| | | 05:NESTED LOOP JOIN [INNER JOIN, BROADCAST] |
| | | | join table id: 03 |
| | | | predicates: avg(ss_net_profit) > 0.9 * avg(ss_net_profit) |
| | | | row-size=28B cardinality=17.98K |
| | | | |
| | | |--JOIN BUILD |
| | | | | join-table-id=03 plan-id=04 cohort-id=03 |
| | | | | |
| | | | 36:EXCHANGE [BROADCAST] |
| | | | | |
| | | | 04:CARDINALITY CHECK |
| | | | | limit: 1 |
| | | | | row-size=12B cardinality=1 |
| | | | | |
| | | | 35:EXCHANGE [UNPARTITIONED] |
| | | | | limit: 2 |
| | | | | |
| | | | 34:AGGREGATE [FINALIZE] |
| | | | | output: avg:merge(ss_net_profit) |
| | | | | group by: ss_store_sk |
| | | | | limit: 2 |
| | | | | row-size=12B cardinality=2 |
| | | | | |
| | | | 33:EXCHANGE [HASH(ss_store_sk)] |
| | | | | |
| | | | 03:AGGREGATE [STREAMING] |
| | | | | output: avg(ss_net_profit) |
| | | | | group by: ss_store_sk |
| | | | | row-size=12B cardinality=6 |
| | | | | |
| | | | 02:SCAN HDFS [tpcds.store_sales] |
| | | | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | | | predicates: ss_addr_sk IS NULL, ss_store_sk = 4 |
| | | | row-size=12B cardinality=53.06K |
| | | | |
| | | 32:AGGREGATE [FINALIZE] |
| | | | output: avg:merge(ss_net_profit) |
| | | | group by: ss_item_sk |
| | | | row-size=16B cardinality=17.98K |
| | | | |
| | | 31:EXCHANGE [HASH(ss_item_sk)] |
| | | | |
| | | 01:AGGREGATE [STREAMING] |
| | | | output: avg(ss_net_profit) |
| | | | group by: ss_item_sk |
| | | | row-size=16B cardinality=17.98K |
| | | | |
| | | 00:SCAN HDFS [tpcds.store_sales ss1] |
| | | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | | predicates: ss_store_sk = 4 |
| | | row-size=16B cardinality=480.07K |
| | | |
| | 17:SELECT |
| | | predicates: rank() < 11 |
| | | row-size=36B cardinality=1.80K |
| | | |
| | 16:ANALYTIC |
| | | functions: rank() |
| | | order by: avg(ss_net_profit) DESC |
| | | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | | row-size=36B cardinality=17.98K |
| | | |
| | 30:MERGING-EXCHANGE [UNPARTITIONED] |
| | | order by: avg(ss_net_profit) DESC |
| | | |
| | 15:SORT |
| | | order by: avg(ss_net_profit) DESC |
| | | row-size=28B cardinality=17.98K |
| | | |
| | 14:NESTED LOOP JOIN [INNER JOIN, BROADCAST] |
| | | join table id: 04 |
| | | predicates: avg(ss_net_profit) > 0.9 * avg(ss_net_profit) |
| | | row-size=28B cardinality=17.98K |
| | | |
| | |--JOIN BUILD |
| | | | join-table-id=04 plan-id=05 cohort-id=02 |
| | | | |
| | | 29:EXCHANGE [BROADCAST] |
| | | | |
| | | 13:CARDINALITY CHECK |
| | | | limit: 1 |
| | | | row-size=12B cardinality=1 |
| | | | |
| | | 28:EXCHANGE [UNPARTITIONED] |
| | | | limit: 2 |
| | | | |
| | | 27:AGGREGATE [FINALIZE] |
| | | | output: avg:merge(ss_net_profit) |
| | | | group by: ss_store_sk |
| | | | limit: 2 |
| | | | row-size=12B cardinality=2 |
| | | | |
| | | 26:EXCHANGE [HASH(ss_store_sk)] |
| | | | |
| | | 12:AGGREGATE [STREAMING] |
| | | | output: avg(ss_net_profit) |
| | | | group by: ss_store_sk |
| | | | row-size=12B cardinality=6 |
| | | | |
| | | 11:SCAN HDFS [tpcds.store_sales] |
| | | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | | predicates: ss_addr_sk IS NULL, ss_store_sk = 4 |
| | | row-size=12B cardinality=53.06K |
| | | |
| | 25:AGGREGATE [FINALIZE] |
| | | output: avg:merge(ss_net_profit) |
| | | group by: ss_item_sk |
| | | row-size=16B cardinality=17.98K |
| | | |
| | 24:EXCHANGE [HASH(ss_item_sk)] |
| | | |
| | 10:AGGREGATE [STREAMING] |
| | | output: avg(ss_net_profit) |
| | | group by: ss_item_sk |
| | | row-size=16B cardinality=17.98K |
| | | |
| | 09:SCAN HDFS [tpcds.store_sales ss1] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | predicates: ss_store_sk = 4 |
| | row-size=16B cardinality=480.07K |
| | |
| 19:SCAN HDFS [tpcds.item i2] |
| HDFS partitions=1/1 files=1 size=4.82MB |
| runtime filters: RF000 -> i2.i_item_sk |
| row-size=38B cardinality=18.00K |
| ==== |
| # TPCDS-Q45 |
| SELECT ca_zip, |
| ca_city, |
| sum(ws_sales_price) |
| FROM web_sales, |
| customer, |
| customer_address, |
| date_dim, |
| item |
| WHERE ws_bill_customer_sk = c_customer_sk |
| AND c_current_addr_sk = ca_address_sk |
| AND ws_item_sk = i_item_sk |
| AND (SUBSTRING(ca_zip,1,5) IN ('85669', |
| '86197', |
| '88274', |
| '83405', |
| '86475', |
| '85392', |
| '85460', |
| '80348', |
| '81792') |
| OR i_item_id IN |
| (SELECT i_item_id |
| FROM item |
| WHERE i_item_sk IN (2, |
| 3, |
| 5, |
| 7, |
| 11, |
| 13, |
| 17, |
| 19, |
| 23, |
| 29) )) |
| AND ws_sold_date_sk = d_date_sk |
| AND d_qoy = 2 |
| AND d_year = 2001 |
| GROUP BY ca_zip, |
| ca_city |
| ORDER BY ca_zip, |
| ca_city |
| LIMIT 100; |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=62.62MB Threads=7 |
| Per-Host Resource Estimates: Memory=375MB |
| PLAN-ROOT SINK |
| | |
| 13:TOP-N [LIMIT=100] |
| | order by: ca_zip ASC, ca_city ASC |
| | row-size=54B cardinality=100 |
| | |
| 12:AGGREGATE [FINALIZE] |
| | output: sum(ws_sales_price) |
| | group by: ca_zip, ca_city |
| | row-size=54B cardinality=73.80K |
| | |
| 11:HASH JOIN [LEFT OUTER JOIN] |
| | hash predicates: i_item_id = i_item_id |
| | other predicates: (substring(ca_zip, 1, 5) IN ('85669', '86197', '88274', '83405', '86475', '85392', '85460', '80348', '81792') OR i_item_id IS NOT NULL) |
| | row-size=146B cardinality=73.80K |
| | |
| |--06:AGGREGATE [FINALIZE] |
| | | group by: i_item_id |
| | | row-size=28B cardinality=10 |
| | | |
| | 05:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_item_sk IN (2, 3, 5, 7, 11, 13, 17, 19, 23, 29) |
| | row-size=36B cardinality=10 |
| | |
| 10:HASH JOIN [INNER JOIN] |
| | hash predicates: ws_item_sk = i_item_sk |
| | runtime filters: RF000 <- i_item_sk |
| | row-size=118B cardinality=73.80K |
| | |
| |--04:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=36B cardinality=18.00K |
| | |
| 09:HASH JOIN [INNER JOIN] |
| | hash predicates: c_current_addr_sk = ca_address_sk |
| | runtime filters: RF002 <- ca_address_sk |
| | row-size=82B cardinality=73.80K |
| | |
| |--02:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=42B cardinality=50.00K |
| | |
| 08:HASH JOIN [INNER JOIN] |
| | hash predicates: ws_bill_customer_sk = c_customer_sk |
| | runtime filters: RF004 <- c_customer_sk |
| | row-size=40B cardinality=73.80K |
| | |
| |--01:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF002 -> c_current_addr_sk |
| | row-size=8B cardinality=100.00K |
| | |
| 07:HASH JOIN [INNER JOIN] |
| | hash predicates: ws_sold_date_sk = d_date_sk |
| | runtime filters: RF006 <- d_date_sk |
| | row-size=32B cardinality=73.80K |
| | |
| |--03:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 2001, d_qoy = 2 |
| | row-size=12B cardinality=186 |
| | |
| 00:SCAN HDFS [tpcds.web_sales] |
| HDFS partitions=1/1 files=1 size=140.07MB |
| runtime filters: RF000 -> ws_item_sk, RF004 -> ws_bill_customer_sk, RF006 -> ws_sold_date_sk |
| row-size=20B cardinality=719.38K |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=77.38MB Threads=16 |
| Per-Host Resource Estimates: Memory=415MB |
| PLAN-ROOT SINK |
| | |
| 24:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: ca_zip ASC, ca_city ASC |
| | limit: 100 |
| | |
| 13:TOP-N [LIMIT=100] |
| | order by: ca_zip ASC, ca_city ASC |
| | row-size=54B cardinality=100 |
| | |
| 23:AGGREGATE [FINALIZE] |
| | output: sum:merge(ws_sales_price) |
| | group by: ca_zip, ca_city |
| | row-size=54B cardinality=73.80K |
| | |
| 22:EXCHANGE [HASH(ca_zip,ca_city)] |
| | |
| 12:AGGREGATE [STREAMING] |
| | output: sum(ws_sales_price) |
| | group by: ca_zip, ca_city |
| | row-size=54B cardinality=73.80K |
| | |
| 11:HASH JOIN [LEFT OUTER JOIN, BROADCAST] |
| | hash predicates: i_item_id = i_item_id |
| | other predicates: (substring(ca_zip, 1, 5) IN ('85669', '86197', '88274', '83405', '86475', '85392', '85460', '80348', '81792') OR i_item_id IS NOT NULL) |
| | row-size=146B cardinality=73.80K |
| | |
| |--21:EXCHANGE [BROADCAST] |
| | | |
| | 20:AGGREGATE [FINALIZE] |
| | | group by: i_item_id |
| | | row-size=28B cardinality=10 |
| | | |
| | 19:EXCHANGE [HASH(i_item_id)] |
| | | |
| | 06:AGGREGATE [STREAMING] |
| | | group by: i_item_id |
| | | row-size=28B cardinality=10 |
| | | |
| | 05:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_item_sk IN (2, 3, 5, 7, 11, 13, 17, 19, 23, 29) |
| | row-size=36B cardinality=10 |
| | |
| 10:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ws_item_sk = i_item_sk |
| | runtime filters: RF000 <- i_item_sk |
| | row-size=118B cardinality=73.80K |
| | |
| |--18:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=36B cardinality=18.00K |
| | |
| 09:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: c_current_addr_sk = ca_address_sk |
| | runtime filters: RF002 <- ca_address_sk |
| | row-size=82B cardinality=73.80K |
| | |
| |--17:EXCHANGE [HASH(ca_address_sk)] |
| | | |
| | 02:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | row-size=42B cardinality=50.00K |
| | |
| 16:EXCHANGE [HASH(c_current_addr_sk)] |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ws_bill_customer_sk = c_customer_sk |
| | runtime filters: RF004 <- c_customer_sk |
| | row-size=40B cardinality=73.80K |
| | |
| |--15:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF002 -> c_current_addr_sk |
| | row-size=8B cardinality=100.00K |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ws_sold_date_sk = d_date_sk |
| | runtime filters: RF006 <- d_date_sk |
| | row-size=32B cardinality=73.80K |
| | |
| |--14:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 2001, d_qoy = 2 |
| | row-size=12B cardinality=186 |
| | |
| 00:SCAN HDFS [tpcds.web_sales] |
| HDFS partitions=1/1 files=1 size=140.07MB |
| runtime filters: RF000 -> ws_item_sk, RF004 -> ws_bill_customer_sk, RF006 -> ws_sold_date_sk |
| row-size=20B cardinality=719.38K |
| ==== |
| # TPCDS-Q18 |
| select i_item_id, |
| ca_country, |
| ca_state, |
| ca_county, |
| avg( cast(cs_quantity as decimal(12,2))) agg1, |
| avg( cast(cs_list_price as decimal(12,2))) agg2, |
| avg( cast(cs_coupon_amt as decimal(12,2))) agg3, |
| avg( cast(cs_sales_price as decimal(12,2))) agg4, |
| avg( cast(cs_net_profit as decimal(12,2))) agg5, |
| avg( cast(c_birth_year as decimal(12,2))) agg6, |
| avg( cast(cd1.cd_dep_count as decimal(12,2))) agg7 |
| from catalog_sales, customer_demographics cd1, |
| customer_demographics cd2, customer, customer_address, date_dim, item |
| where cs_sold_date_sk = d_date_sk and |
| cs_item_sk = i_item_sk and |
| cs_bill_cdemo_sk = cd1.cd_demo_sk and |
| cs_bill_customer_sk = c_customer_sk and |
| cd1.cd_gender = 'M' and |
| cd1.cd_education_status = 'College' and |
| c_current_cdemo_sk = cd2.cd_demo_sk and |
| c_current_addr_sk = ca_address_sk and |
| c_birth_month in (9,5,12,4,1,10) and |
| d_year = 2001 and |
| ca_state in ('ND','WI','AL' |
| ,'NC','OK','MS','TN') |
| group by rollup (i_item_id, ca_country, ca_state, ca_county) |
| order by ca_country, |
| ca_state, |
| ca_county, |
| i_item_id |
| limit 100; |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=111.38MB Threads=8 |
| Per-Host Resource Estimates: Memory=702MB |
| PLAN-ROOT SINK |
| | |
| 15:TOP-N [LIMIT=100] |
| | order by: CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_country WHEN 10 THEN ca_country WHEN 12 THEN ca_country WHEN 14 THEN NULL WHEN 16 THEN NULL END ASC, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_state WHEN 10 THEN ca_state WHEN 12 THEN NULL WHEN 14 THEN NULL WHEN 16 THEN NULL END ASC, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_county WHEN 10 THEN NULL WHEN 12 THEN NULL WHEN 14 THEN NULL WHEN 16 THEN NULL END ASC, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN i_item_id WHEN 10 THEN i_item_id WHEN 12 THEN i_item_id WHEN 14 THEN i_item_id WHEN 16 THEN NULL END ASC |
| | row-size=104B cardinality=100 |
| | |
| 14:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(16,8,10,12,14) IN (8, 10, 12, 14, 16), CASE valid_tid(16,8,10,12,14) WHEN 8 THEN avg(CAST(cs_quantity AS DECIMAL(12,2))) WHEN 10 THEN avg(CAST(cs_quantity AS DECIMAL(12,2))) WHEN 12 THEN avg(CAST(cs_quantity AS DECIMAL(12,2))) WHEN 14 THEN avg(CAST(cs_quantity AS DECIMAL(12,2))) WHEN 16 THEN avg(CAST(cs_quantity AS DECIMAL(12,2))) END), aggif(valid_tid(16,8,10,12,14) IN (8, 10, 12, 14, 16), CASE valid_tid(16,8,10,12,14) WHEN 8 THEN avg(CAST(cs_list_price AS DECIMAL(12,2))) WHEN 10 THEN avg(CAST(cs_list_price AS DECIMAL(12,2))) WHEN 12 THEN avg(CAST(cs_list_price AS DECIMAL(12,2))) WHEN 14 THEN avg(CAST(cs_list_price AS DECIMAL(12,2))) WHEN 16 THEN avg(CAST(cs_list_price AS DECIMAL(12,2))) END), aggif(valid_tid(16,8,10,12,14) IN (8, 10, 12, 14, 16), CASE valid_tid(16,8,10,12,14) WHEN 8 THEN avg(CAST(cs_coupon_amt AS DECIMAL(12,2))) WHEN 10 THEN avg(CAST(cs_coupon_amt AS DECIMAL(12,2))) WHEN 12 THEN avg(CAST(cs_coupon_amt AS DECIMAL(12,2))) WHEN 14 THEN avg(CAST(cs_coupon_amt AS DECIMAL(12,2))) WHEN 16 THEN avg(CAST(cs_coupon_amt AS DECIMAL(12,2))) END), aggif(valid_tid(16,8,10,12,14) IN (8, 10, 12, 14, 16), CASE valid_tid(16,8,10,12,14) WHEN 8 THEN avg(CAST(cs_sales_price AS DECIMAL(12,2))) WHEN 10 THEN avg(CAST(cs_sales_price AS DECIMAL(12,2))) WHEN 12 THEN avg(CAST(cs_sales_price AS DECIMAL(12,2))) WHEN 14 THEN avg(CAST(cs_sales_price AS DECIMAL(12,2))) WHEN 16 THEN avg(CAST(cs_sales_price AS DECIMAL(12,2))) END), aggif(valid_tid(16,8,10,12,14) IN (8, 10, 12, 14, 16), CASE valid_tid(16,8,10,12,14) WHEN 8 THEN avg(CAST(cs_net_profit AS DECIMAL(12,2))) WHEN 10 THEN avg(CAST(cs_net_profit AS DECIMAL(12,2))) WHEN 12 THEN avg(CAST(cs_net_profit AS DECIMAL(12,2))) WHEN 14 THEN avg(CAST(cs_net_profit AS DECIMAL(12,2))) WHEN 16 THEN avg(CAST(cs_net_profit AS DECIMAL(12,2))) END), aggif(valid_tid(16,8,10,12,14) IN (8, 10, 12, 14, 16), CASE valid_tid(16,8,10,12,14) WHEN 8 THEN avg(CAST(c_birth_year AS DECIMAL(12,2))) WHEN 10 THEN avg(CAST(c_birth_year AS DECIMAL(12,2))) WHEN 12 THEN avg(CAST(c_birth_year AS DECIMAL(12,2))) WHEN 14 THEN avg(CAST(c_birth_year AS DECIMAL(12,2))) WHEN 16 THEN avg(CAST(c_birth_year AS DECIMAL(12,2))) END), aggif(valid_tid(16,8,10,12,14) IN (8, 10, 12, 14, 16), CASE valid_tid(16,8,10,12,14) WHEN 8 THEN avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) WHEN 10 THEN avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) WHEN 12 THEN avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) WHEN 14 THEN avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) WHEN 16 THEN avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) END) |
| | group by: CASE valid_tid(16,8,10,12,14) WHEN 8 THEN i_item_id WHEN 10 THEN i_item_id WHEN 12 THEN i_item_id WHEN 14 THEN i_item_id WHEN 16 THEN NULL END, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_country WHEN 10 THEN ca_country WHEN 12 THEN ca_country WHEN 14 THEN NULL WHEN 16 THEN NULL END, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_state WHEN 10 THEN ca_state WHEN 12 THEN NULL WHEN 14 THEN NULL WHEN 16 THEN NULL END, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_county WHEN 10 THEN NULL WHEN 12 THEN NULL WHEN 14 THEN NULL WHEN 16 THEN NULL END, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN 8 WHEN 10 THEN 10 WHEN 12 THEN 12 WHEN 14 THEN 14 WHEN 16 THEN 16 END |
| | row-size=108B cardinality=75.61K |
| | |
| 13:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: avg(CAST(cs_quantity AS DECIMAL(12,2))), avg(CAST(cs_list_price AS DECIMAL(12,2))), avg(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg(CAST(cs_sales_price AS DECIMAL(12,2))), avg(CAST(cs_net_profit AS DECIMAL(12,2))), avg(CAST(c_birth_year AS DECIMAL(12,2))), avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) |
| | group by: i_item_id, ca_country, ca_state, ca_county |
| | Class 1 |
| | output: avg(CAST(cs_quantity AS DECIMAL(12,2))), avg(CAST(cs_list_price AS DECIMAL(12,2))), avg(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg(CAST(cs_sales_price AS DECIMAL(12,2))), avg(CAST(cs_net_profit AS DECIMAL(12,2))), avg(CAST(c_birth_year AS DECIMAL(12,2))), avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) |
| | group by: i_item_id, ca_country, ca_state, NULL |
| | Class 2 |
| | output: avg(CAST(cs_quantity AS DECIMAL(12,2))), avg(CAST(cs_list_price AS DECIMAL(12,2))), avg(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg(CAST(cs_sales_price AS DECIMAL(12,2))), avg(CAST(cs_net_profit AS DECIMAL(12,2))), avg(CAST(c_birth_year AS DECIMAL(12,2))), avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) |
| | group by: i_item_id, ca_country, NULL, NULL |
| | Class 3 |
| | output: avg(CAST(cs_quantity AS DECIMAL(12,2))), avg(CAST(cs_list_price AS DECIMAL(12,2))), avg(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg(CAST(cs_sales_price AS DECIMAL(12,2))), avg(CAST(cs_net_profit AS DECIMAL(12,2))), avg(CAST(c_birth_year AS DECIMAL(12,2))), avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) |
| | group by: i_item_id, NULL, NULL, NULL |
| | Class 4 |
| | output: avg(CAST(cs_quantity AS DECIMAL(12,2))), avg(CAST(cs_list_price AS DECIMAL(12,2))), avg(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg(CAST(cs_sales_price AS DECIMAL(12,2))), avg(CAST(cs_net_profit AS DECIMAL(12,2))), avg(CAST(c_birth_year AS DECIMAL(12,2))), avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) |
| | group by: NULL, NULL, NULL, NULL |
| | row-size=641B cardinality=75.61K |
| | |
| 12:HASH JOIN [INNER JOIN] |
| | hash predicates: cs_item_sk = i_item_sk |
| | runtime filters: RF000 <- i_item_sk |
| | row-size=220B cardinality=28.95K |
| | |
| |--06:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=36B cardinality=18.00K |
| | |
| 11:HASH JOIN [INNER JOIN] |
| | hash predicates: cd2.cd_demo_sk = c_current_cdemo_sk |
| | runtime filters: RF002 <- c_current_cdemo_sk |
| | row-size=184B cardinality=28.95K |
| | |
| |--10:HASH JOIN [INNER JOIN] |
| | | hash predicates: cd1.cd_demo_sk = cs_bill_cdemo_sk |
| | | runtime filters: RF004 <- cs_bill_cdemo_sk |
| | | row-size=180B cardinality=28.95K |
| | | |
| | |--09:HASH JOIN [INNER JOIN] |
| | | | hash predicates: c_current_addr_sk = ca_address_sk |
| | | | runtime filters: RF006 <- ca_address_sk |
| | | | row-size=137B cardinality=28.95K |
| | | | |
| | | |--04:SCAN HDFS [tpcds.customer_address] |
| | | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | | predicates: ca_state IN ('ND', 'WI', 'AL', 'NC', 'OK', 'MS', 'TN') |
| | | | row-size=69B cardinality=6.86K |
| | | | |
| | | 08:HASH JOIN [INNER JOIN] |
| | | | hash predicates: cs_bill_customer_sk = c_customer_sk |
| | | | runtime filters: RF008 <- c_customer_sk |
| | | | row-size=68B cardinality=181.77K |
| | | | |
| | | |--03:SCAN HDFS [tpcds.customer] |
| | | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | | predicates: c_birth_month IN (9, 5, 12, 4, 1, 10) |
| | | | runtime filters: RF006 -> c_current_addr_sk |
| | | | row-size=20B cardinality=50.00K |
| | | | |
| | | 07:HASH JOIN [INNER JOIN] |
| | | | hash predicates: cs_sold_date_sk = d_date_sk |
| | | | runtime filters: RF010 <- d_date_sk |
| | | | row-size=48B cardinality=294.63K |
| | | | |
| | | |--05:SCAN HDFS [tpcds.date_dim] |
| | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | predicates: d_year = 2001 |
| | | | row-size=8B cardinality=373 |
| | | | |
| | | 00:SCAN HDFS [tpcds.catalog_sales] |
| | | HDFS partitions=1/1 files=1 size=282.20MB |
| | | runtime filters: RF000 -> cs_item_sk, RF008 -> cs_bill_customer_sk, RF010 -> cs_sold_date_sk |
| | | row-size=40B cardinality=1.44M |
| | | |
| | 01:SCAN HDFS [tpcds.customer_demographics cd1] |
| | HDFS partitions=1/1 files=1 size=76.92MB |
| | predicates: cd1.cd_gender = 'M', cd1.cd_education_status = 'College' |
| | runtime filters: RF004 -> cd1.cd_demo_sk |
| | row-size=43B cardinality=194.03K |
| | |
| 02:SCAN HDFS [tpcds.customer_demographics cd2] |
| HDFS partitions=1/1 files=1 size=76.92MB |
| runtime filters: RF002 -> cd2.cd_demo_sk |
| row-size=4B cardinality=1.92M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=228.94MB Threads=18 |
| Per-Host Resource Estimates: Memory=911MB |
| PLAN-ROOT SINK |
| | |
| 26:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_country WHEN 10 THEN ca_country WHEN 12 THEN ca_country WHEN 14 THEN NULL WHEN 16 THEN NULL END ASC, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_state WHEN 10 THEN ca_state WHEN 12 THEN NULL WHEN 14 THEN NULL WHEN 16 THEN NULL END ASC, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_county WHEN 10 THEN NULL WHEN 12 THEN NULL WHEN 14 THEN NULL WHEN 16 THEN NULL END ASC, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN i_item_id WHEN 10 THEN i_item_id WHEN 12 THEN i_item_id WHEN 14 THEN i_item_id WHEN 16 THEN NULL END ASC |
| | limit: 100 |
| | |
| 15:TOP-N [LIMIT=100] |
| | order by: CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_country WHEN 10 THEN ca_country WHEN 12 THEN ca_country WHEN 14 THEN NULL WHEN 16 THEN NULL END ASC, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_state WHEN 10 THEN ca_state WHEN 12 THEN NULL WHEN 14 THEN NULL WHEN 16 THEN NULL END ASC, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_county WHEN 10 THEN NULL WHEN 12 THEN NULL WHEN 14 THEN NULL WHEN 16 THEN NULL END ASC, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN i_item_id WHEN 10 THEN i_item_id WHEN 12 THEN i_item_id WHEN 14 THEN i_item_id WHEN 16 THEN NULL END ASC |
| | row-size=104B cardinality=100 |
| | |
| 14:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(16,8,10,12,14) IN (8, 10, 12, 14, 16), CASE valid_tid(16,8,10,12,14) WHEN 8 THEN avg(CAST(cs_quantity AS DECIMAL(12,2))) WHEN 10 THEN avg(CAST(cs_quantity AS DECIMAL(12,2))) WHEN 12 THEN avg(CAST(cs_quantity AS DECIMAL(12,2))) WHEN 14 THEN avg(CAST(cs_quantity AS DECIMAL(12,2))) WHEN 16 THEN avg(CAST(cs_quantity AS DECIMAL(12,2))) END), aggif(valid_tid(16,8,10,12,14) IN (8, 10, 12, 14, 16), CASE valid_tid(16,8,10,12,14) WHEN 8 THEN avg(CAST(cs_list_price AS DECIMAL(12,2))) WHEN 10 THEN avg(CAST(cs_list_price AS DECIMAL(12,2))) WHEN 12 THEN avg(CAST(cs_list_price AS DECIMAL(12,2))) WHEN 14 THEN avg(CAST(cs_list_price AS DECIMAL(12,2))) WHEN 16 THEN avg(CAST(cs_list_price AS DECIMAL(12,2))) END), aggif(valid_tid(16,8,10,12,14) IN (8, 10, 12, 14, 16), CASE valid_tid(16,8,10,12,14) WHEN 8 THEN avg(CAST(cs_coupon_amt AS DECIMAL(12,2))) WHEN 10 THEN avg(CAST(cs_coupon_amt AS DECIMAL(12,2))) WHEN 12 THEN avg(CAST(cs_coupon_amt AS DECIMAL(12,2))) WHEN 14 THEN avg(CAST(cs_coupon_amt AS DECIMAL(12,2))) WHEN 16 THEN avg(CAST(cs_coupon_amt AS DECIMAL(12,2))) END), aggif(valid_tid(16,8,10,12,14) IN (8, 10, 12, 14, 16), CASE valid_tid(16,8,10,12,14) WHEN 8 THEN avg(CAST(cs_sales_price AS DECIMAL(12,2))) WHEN 10 THEN avg(CAST(cs_sales_price AS DECIMAL(12,2))) WHEN 12 THEN avg(CAST(cs_sales_price AS DECIMAL(12,2))) WHEN 14 THEN avg(CAST(cs_sales_price AS DECIMAL(12,2))) WHEN 16 THEN avg(CAST(cs_sales_price AS DECIMAL(12,2))) END), aggif(valid_tid(16,8,10,12,14) IN (8, 10, 12, 14, 16), CASE valid_tid(16,8,10,12,14) WHEN 8 THEN avg(CAST(cs_net_profit AS DECIMAL(12,2))) WHEN 10 THEN avg(CAST(cs_net_profit AS DECIMAL(12,2))) WHEN 12 THEN avg(CAST(cs_net_profit AS DECIMAL(12,2))) WHEN 14 THEN avg(CAST(cs_net_profit AS DECIMAL(12,2))) WHEN 16 THEN avg(CAST(cs_net_profit AS DECIMAL(12,2))) END), aggif(valid_tid(16,8,10,12,14) IN (8, 10, 12, 14, 16), CASE valid_tid(16,8,10,12,14) WHEN 8 THEN avg(CAST(c_birth_year AS DECIMAL(12,2))) WHEN 10 THEN avg(CAST(c_birth_year AS DECIMAL(12,2))) WHEN 12 THEN avg(CAST(c_birth_year AS DECIMAL(12,2))) WHEN 14 THEN avg(CAST(c_birth_year AS DECIMAL(12,2))) WHEN 16 THEN avg(CAST(c_birth_year AS DECIMAL(12,2))) END), aggif(valid_tid(16,8,10,12,14) IN (8, 10, 12, 14, 16), CASE valid_tid(16,8,10,12,14) WHEN 8 THEN avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) WHEN 10 THEN avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) WHEN 12 THEN avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) WHEN 14 THEN avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) WHEN 16 THEN avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) END) |
| | group by: CASE valid_tid(16,8,10,12,14) WHEN 8 THEN i_item_id WHEN 10 THEN i_item_id WHEN 12 THEN i_item_id WHEN 14 THEN i_item_id WHEN 16 THEN NULL END, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_country WHEN 10 THEN ca_country WHEN 12 THEN ca_country WHEN 14 THEN NULL WHEN 16 THEN NULL END, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_state WHEN 10 THEN ca_state WHEN 12 THEN NULL WHEN 14 THEN NULL WHEN 16 THEN NULL END, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN ca_county WHEN 10 THEN NULL WHEN 12 THEN NULL WHEN 14 THEN NULL WHEN 16 THEN NULL END, CASE valid_tid(16,8,10,12,14) WHEN 8 THEN 8 WHEN 10 THEN 10 WHEN 12 THEN 12 WHEN 14 THEN 14 WHEN 16 THEN 16 END |
| | row-size=108B cardinality=75.61K |
| | |
| 25:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: avg:merge(CAST(cs_quantity AS DECIMAL(12,2))), avg:merge(CAST(cs_list_price AS DECIMAL(12,2))), avg:merge(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg:merge(CAST(cs_sales_price AS DECIMAL(12,2))), avg:merge(CAST(cs_net_profit AS DECIMAL(12,2))), avg:merge(CAST(c_birth_year AS DECIMAL(12,2))), avg:merge(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) |
| | group by: i_item_id, ca_country, ca_state, ca_county |
| | Class 1 |
| | output: avg:merge(CAST(cs_quantity AS DECIMAL(12,2))), avg:merge(CAST(cs_list_price AS DECIMAL(12,2))), avg:merge(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg:merge(CAST(cs_sales_price AS DECIMAL(12,2))), avg:merge(CAST(cs_net_profit AS DECIMAL(12,2))), avg:merge(CAST(c_birth_year AS DECIMAL(12,2))), avg:merge(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) |
| | group by: i_item_id, ca_country, ca_state, NULL |
| | Class 2 |
| | output: avg:merge(CAST(cs_quantity AS DECIMAL(12,2))), avg:merge(CAST(cs_list_price AS DECIMAL(12,2))), avg:merge(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg:merge(CAST(cs_sales_price AS DECIMAL(12,2))), avg:merge(CAST(cs_net_profit AS DECIMAL(12,2))), avg:merge(CAST(c_birth_year AS DECIMAL(12,2))), avg:merge(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) |
| | group by: i_item_id, ca_country, NULL, NULL |
| | Class 3 |
| | output: avg:merge(CAST(cs_quantity AS DECIMAL(12,2))), avg:merge(CAST(cs_list_price AS DECIMAL(12,2))), avg:merge(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg:merge(CAST(cs_sales_price AS DECIMAL(12,2))), avg:merge(CAST(cs_net_profit AS DECIMAL(12,2))), avg:merge(CAST(c_birth_year AS DECIMAL(12,2))), avg:merge(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) |
| | group by: i_item_id, NULL, NULL, NULL |
| | Class 4 |
| | output: avg:merge(CAST(cs_quantity AS DECIMAL(12,2))), avg:merge(CAST(cs_list_price AS DECIMAL(12,2))), avg:merge(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg:merge(CAST(cs_sales_price AS DECIMAL(12,2))), avg:merge(CAST(cs_net_profit AS DECIMAL(12,2))), avg:merge(CAST(c_birth_year AS DECIMAL(12,2))), avg:merge(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) |
| | group by: NULL, NULL, NULL, NULL |
| | row-size=641B cardinality=75.61K |
| | |
| 24:EXCHANGE [HASH(CASE valid_tid(7,9,11,13,15) WHEN 7 THEN murmur_hash(i_item_id) WHEN 9 THEN murmur_hash(i_item_id) WHEN 11 THEN murmur_hash(i_item_id) WHEN 13 THEN murmur_hash(i_item_id) WHEN 15 THEN murmur_hash(NULL) END,CASE valid_tid(7,9,11,13,15) WHEN 7 THEN murmur_hash(ca_country) WHEN 9 THEN murmur_hash(ca_country) WHEN 11 THEN murmur_hash(ca_country) WHEN 13 THEN murmur_hash(NULL) WHEN 15 THEN murmur_hash(NULL) END,CASE valid_tid(7,9,11,13,15) WHEN 7 THEN murmur_hash(ca_state) WHEN 9 THEN murmur_hash(ca_state) WHEN 11 THEN murmur_hash(NULL) WHEN 13 THEN murmur_hash(NULL) WHEN 15 THEN murmur_hash(NULL) END,CASE valid_tid(7,9,11,13,15) WHEN 7 THEN murmur_hash(ca_county) WHEN 9 THEN murmur_hash(NULL) WHEN 11 THEN murmur_hash(NULL) WHEN 13 THEN murmur_hash(NULL) WHEN 15 THEN murmur_hash(NULL) END)] |
| | |
| 13:AGGREGATE [STREAMING] |
| | Class 0 |
| | output: avg(CAST(cs_quantity AS DECIMAL(12,2))), avg(CAST(cs_list_price AS DECIMAL(12,2))), avg(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg(CAST(cs_sales_price AS DECIMAL(12,2))), avg(CAST(cs_net_profit AS DECIMAL(12,2))), avg(CAST(c_birth_year AS DECIMAL(12,2))), avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) |
| | group by: i_item_id, ca_country, ca_state, ca_county |
| | Class 1 |
| | output: avg(CAST(cs_quantity AS DECIMAL(12,2))), avg(CAST(cs_list_price AS DECIMAL(12,2))), avg(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg(CAST(cs_sales_price AS DECIMAL(12,2))), avg(CAST(cs_net_profit AS DECIMAL(12,2))), avg(CAST(c_birth_year AS DECIMAL(12,2))), avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) |
| | group by: i_item_id, ca_country, ca_state, NULL |
| | Class 2 |
| | output: avg(CAST(cs_quantity AS DECIMAL(12,2))), avg(CAST(cs_list_price AS DECIMAL(12,2))), avg(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg(CAST(cs_sales_price AS DECIMAL(12,2))), avg(CAST(cs_net_profit AS DECIMAL(12,2))), avg(CAST(c_birth_year AS DECIMAL(12,2))), avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) |
| | group by: i_item_id, ca_country, NULL, NULL |
| | Class 3 |
| | output: avg(CAST(cs_quantity AS DECIMAL(12,2))), avg(CAST(cs_list_price AS DECIMAL(12,2))), avg(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg(CAST(cs_sales_price AS DECIMAL(12,2))), avg(CAST(cs_net_profit AS DECIMAL(12,2))), avg(CAST(c_birth_year AS DECIMAL(12,2))), avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) |
| | group by: i_item_id, NULL, NULL, NULL |
| | Class 4 |
| | output: avg(CAST(cs_quantity AS DECIMAL(12,2))), avg(CAST(cs_list_price AS DECIMAL(12,2))), avg(CAST(cs_coupon_amt AS DECIMAL(12,2))), avg(CAST(cs_sales_price AS DECIMAL(12,2))), avg(CAST(cs_net_profit AS DECIMAL(12,2))), avg(CAST(c_birth_year AS DECIMAL(12,2))), avg(CAST(cd1.cd_dep_count AS DECIMAL(12,2))) |
| | group by: NULL, NULL, NULL, NULL |
| | row-size=641B cardinality=75.61K |
| | |
| 12:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: cs_item_sk = i_item_sk |
| | runtime filters: RF000 <- i_item_sk |
| | row-size=220B cardinality=28.95K |
| | |
| |--23:EXCHANGE [BROADCAST] |
| | | |
| | 06:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=36B cardinality=18.00K |
| | |
| 11:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: c_current_cdemo_sk = cd2.cd_demo_sk |
| | runtime filters: RF002 <- cd2.cd_demo_sk |
| | row-size=184B cardinality=28.95K |
| | |
| |--22:EXCHANGE [HASH(cd2.cd_demo_sk)] |
| | | |
| | 02:SCAN HDFS [tpcds.customer_demographics cd2] |
| | HDFS partitions=1/1 files=1 size=76.92MB |
| | row-size=4B cardinality=1.92M |
| | |
| 21:EXCHANGE [HASH(c_current_cdemo_sk)] |
| | |
| 10:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: cs_bill_cdemo_sk = cd1.cd_demo_sk |
| | runtime filters: RF004 <- cd1.cd_demo_sk |
| | row-size=180B cardinality=28.95K |
| | |
| |--20:EXCHANGE [HASH(cd1.cd_demo_sk)] |
| | | |
| | 01:SCAN HDFS [tpcds.customer_demographics cd1] |
| | HDFS partitions=1/1 files=1 size=76.92MB |
| | predicates: cd1.cd_gender = 'M', cd1.cd_education_status = 'College' |
| | row-size=43B cardinality=194.03K |
| | |
| 19:EXCHANGE [HASH(cs_bill_cdemo_sk)] |
| | |
| 09:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: c_current_addr_sk = ca_address_sk |
| | runtime filters: RF006 <- ca_address_sk |
| | row-size=137B cardinality=28.95K |
| | |
| |--18:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | predicates: ca_state IN ('ND', 'WI', 'AL', 'NC', 'OK', 'MS', 'TN') |
| | row-size=69B cardinality=6.86K |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: cs_bill_customer_sk = c_customer_sk |
| | runtime filters: RF008 <- c_customer_sk |
| | row-size=68B cardinality=181.77K |
| | |
| |--17:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | predicates: c_birth_month IN (9, 5, 12, 4, 1, 10) |
| | runtime filters: RF002 -> c_current_cdemo_sk, RF006 -> c_current_addr_sk |
| | row-size=20B cardinality=50.00K |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: cs_sold_date_sk = d_date_sk |
| | runtime filters: RF010 <- d_date_sk |
| | row-size=48B cardinality=294.63K |
| | |
| |--16:EXCHANGE [BROADCAST] |
| | | |
| | 05:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 2001 |
| | row-size=8B cardinality=373 |
| | |
| 00:SCAN HDFS [tpcds.catalog_sales] |
| HDFS partitions=1/1 files=1 size=282.20MB |
| runtime filters: RF000 -> cs_item_sk, RF004 -> cs_bill_cdemo_sk, RF008 -> cs_bill_customer_sk, RF010 -> cs_sold_date_sk |
| row-size=40B cardinality=1.44M |
| ==== |
| # TPCDS-Q22 |
| select i_product_name |
| ,i_brand |
| ,i_class |
| ,i_category |
| ,avg(inv_quantity_on_hand) qoh |
| from inventory |
| ,date_dim |
| ,item |
| ,warehouse |
| where inv_date_sk=d_date_sk |
| and inv_item_sk=i_item_sk |
| and inv_warehouse_sk = w_warehouse_sk |
| and d_month_seq between 1212 and 1212 + 11 |
| group by rollup(i_product_name |
| ,i_brand |
| ,i_class |
| ,i_category) |
| order by qoh, i_product_name, i_brand, i_class, i_category |
| limit 100; |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=149.44MB Threads=5 |
| Per-Host Resource Estimates: Memory=17.43GB |
| PLAN-ROOT SINK |
| | |
| 09:TOP-N [LIMIT=100] |
| | order by: aggif(valid_tid(5,7,9,11,13) IN (5, 7, 9, 11, 13), CASE valid_tid(5,7,9,11,13) WHEN 5 THEN avg(inv_quantity_on_hand) WHEN 7 THEN avg(inv_quantity_on_hand) WHEN 9 THEN avg(inv_quantity_on_hand) WHEN 11 THEN avg(inv_quantity_on_hand) WHEN 13 THEN avg(inv_quantity_on_hand) END) ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_product_name WHEN 7 THEN i_product_name WHEN 9 THEN i_product_name WHEN 11 THEN i_product_name WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_brand WHEN 7 THEN i_brand WHEN 9 THEN i_brand WHEN 11 THEN NULL WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_class WHEN 7 THEN i_class WHEN 9 THEN NULL WHEN 11 THEN NULL WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_category WHEN 7 THEN NULL WHEN 9 THEN NULL WHEN 11 THEN NULL WHEN 13 THEN NULL END ASC |
| | row-size=56B cardinality=100 |
| | |
| 08:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(5,7,9,11,13) IN (5, 7, 9, 11, 13), CASE valid_tid(5,7,9,11,13) WHEN 5 THEN avg(inv_quantity_on_hand) WHEN 7 THEN avg(inv_quantity_on_hand) WHEN 9 THEN avg(inv_quantity_on_hand) WHEN 11 THEN avg(inv_quantity_on_hand) WHEN 13 THEN avg(inv_quantity_on_hand) END) |
| | group by: CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_product_name WHEN 7 THEN i_product_name WHEN 9 THEN i_product_name WHEN 11 THEN i_product_name WHEN 13 THEN NULL END, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_brand WHEN 7 THEN i_brand WHEN 9 THEN i_brand WHEN 11 THEN NULL WHEN 13 THEN NULL END, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_class WHEN 7 THEN i_class WHEN 9 THEN NULL WHEN 11 THEN NULL WHEN 13 THEN NULL END, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_category WHEN 7 THEN NULL WHEN 9 THEN NULL WHEN 11 THEN NULL WHEN 13 THEN NULL END, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN 5 WHEN 7 THEN 7 WHEN 9 THEN 9 WHEN 11 THEN 11 WHEN 13 THEN 13 END |
| | row-size=60B cardinality=35.25M |
| | |
| 07:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: avg(inv_quantity_on_hand) |
| | group by: i_product_name, i_brand, i_class, i_category |
| | Class 1 |
| | output: avg(inv_quantity_on_hand) |
| | group by: i_product_name, i_brand, i_class, NULL |
| | Class 2 |
| | output: avg(inv_quantity_on_hand) |
| | group by: i_product_name, i_brand, NULL, NULL |
| | Class 3 |
| | output: avg(inv_quantity_on_hand) |
| | group by: i_product_name, NULL, NULL, NULL |
| | Class 4 |
| | output: avg(inv_quantity_on_hand) |
| | group by: NULL, NULL, NULL, NULL |
| | row-size=422B cardinality=35.25M |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: inv_warehouse_sk = w_warehouse_sk |
| | runtime filters: RF000 <- w_warehouse_sk |
| | row-size=136B cardinality=11.74M |
| | |
| |--03:SCAN HDFS [tpcds.warehouse] |
| | HDFS partitions=1/1 files=1 size=585B |
| | row-size=4B cardinality=5 |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: inv_item_sk = i_item_sk |
| | runtime filters: RF002 <- i_item_sk |
| | row-size=132B cardinality=11.74M |
| | |
| |--02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=104B cardinality=18.00K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: inv_date_sk = d_date_sk |
| | runtime filters: RF004 <- d_date_sk |
| | row-size=28B cardinality=11.74M |
| | |
| |--01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq <= 1223, d_month_seq >= 1212 |
| | row-size=8B cardinality=7.30K |
| | |
| 00:SCAN HDFS [tpcds.inventory] |
| HDFS partitions=1/1 files=1 size=225.47MB |
| runtime filters: RF000 -> inv_warehouse_sk, RF002 -> inv_item_sk, RF004 -> inv_date_sk |
| row-size=20B cardinality=11.74M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=293.20MB Threads=10 |
| Per-Host Resource Estimates: Memory=41.64GB |
| PLAN-ROOT SINK |
| | |
| 15:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: aggif(valid_tid(5,7,9,11,13) IN (5, 7, 9, 11, 13), CASE valid_tid(5,7,9,11,13) WHEN 5 THEN avg(inv_quantity_on_hand) WHEN 7 THEN avg(inv_quantity_on_hand) WHEN 9 THEN avg(inv_quantity_on_hand) WHEN 11 THEN avg(inv_quantity_on_hand) WHEN 13 THEN avg(inv_quantity_on_hand) END) ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_product_name WHEN 7 THEN i_product_name WHEN 9 THEN i_product_name WHEN 11 THEN i_product_name WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_brand WHEN 7 THEN i_brand WHEN 9 THEN i_brand WHEN 11 THEN NULL WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_class WHEN 7 THEN i_class WHEN 9 THEN NULL WHEN 11 THEN NULL WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_category WHEN 7 THEN NULL WHEN 9 THEN NULL WHEN 11 THEN NULL WHEN 13 THEN NULL END ASC |
| | limit: 100 |
| | |
| 09:TOP-N [LIMIT=100] |
| | order by: aggif(valid_tid(5,7,9,11,13) IN (5, 7, 9, 11, 13), CASE valid_tid(5,7,9,11,13) WHEN 5 THEN avg(inv_quantity_on_hand) WHEN 7 THEN avg(inv_quantity_on_hand) WHEN 9 THEN avg(inv_quantity_on_hand) WHEN 11 THEN avg(inv_quantity_on_hand) WHEN 13 THEN avg(inv_quantity_on_hand) END) ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_product_name WHEN 7 THEN i_product_name WHEN 9 THEN i_product_name WHEN 11 THEN i_product_name WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_brand WHEN 7 THEN i_brand WHEN 9 THEN i_brand WHEN 11 THEN NULL WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_class WHEN 7 THEN i_class WHEN 9 THEN NULL WHEN 11 THEN NULL WHEN 13 THEN NULL END ASC, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_category WHEN 7 THEN NULL WHEN 9 THEN NULL WHEN 11 THEN NULL WHEN 13 THEN NULL END ASC |
| | row-size=56B cardinality=100 |
| | |
| 08:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(5,7,9,11,13) IN (5, 7, 9, 11, 13), CASE valid_tid(5,7,9,11,13) WHEN 5 THEN avg(inv_quantity_on_hand) WHEN 7 THEN avg(inv_quantity_on_hand) WHEN 9 THEN avg(inv_quantity_on_hand) WHEN 11 THEN avg(inv_quantity_on_hand) WHEN 13 THEN avg(inv_quantity_on_hand) END) |
| | group by: CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_product_name WHEN 7 THEN i_product_name WHEN 9 THEN i_product_name WHEN 11 THEN i_product_name WHEN 13 THEN NULL END, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_brand WHEN 7 THEN i_brand WHEN 9 THEN i_brand WHEN 11 THEN NULL WHEN 13 THEN NULL END, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_class WHEN 7 THEN i_class WHEN 9 THEN NULL WHEN 11 THEN NULL WHEN 13 THEN NULL END, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN i_category WHEN 7 THEN NULL WHEN 9 THEN NULL WHEN 11 THEN NULL WHEN 13 THEN NULL END, CASE valid_tid(5,7,9,11,13) WHEN 5 THEN 5 WHEN 7 THEN 7 WHEN 9 THEN 9 WHEN 11 THEN 11 WHEN 13 THEN 13 END |
| | row-size=60B cardinality=35.25M |
| | |
| 14:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: avg:merge(inv_quantity_on_hand) |
| | group by: i_product_name, i_brand, i_class, i_category |
| | Class 1 |
| | output: avg:merge(inv_quantity_on_hand) |
| | group by: i_product_name, i_brand, i_class, NULL |
| | Class 2 |
| | output: avg:merge(inv_quantity_on_hand) |
| | group by: i_product_name, i_brand, NULL, NULL |
| | Class 3 |
| | output: avg:merge(inv_quantity_on_hand) |
| | group by: i_product_name, NULL, NULL, NULL |
| | Class 4 |
| | output: avg:merge(inv_quantity_on_hand) |
| | group by: NULL, NULL, NULL, NULL |
| | row-size=422B cardinality=35.25M |
| | |
| 13:EXCHANGE [HASH(CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 10 THEN murmur_hash(i_product_name) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_class) WHEN 6 THEN murmur_hash(i_class) WHEN 8 THEN murmur_hash(NULL) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,6,8,10,12) WHEN 4 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(NULL) WHEN 8 THEN murmur_hash(NULL) WHEN 10 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END)] |
| | |
| 07:AGGREGATE [STREAMING] |
| | Class 0 |
| | output: avg(inv_quantity_on_hand) |
| | group by: i_product_name, i_brand, i_class, i_category |
| | Class 1 |
| | output: avg(inv_quantity_on_hand) |
| | group by: i_product_name, i_brand, i_class, NULL |
| | Class 2 |
| | output: avg(inv_quantity_on_hand) |
| | group by: i_product_name, i_brand, NULL, NULL |
| | Class 3 |
| | output: avg(inv_quantity_on_hand) |
| | group by: i_product_name, NULL, NULL, NULL |
| | Class 4 |
| | output: avg(inv_quantity_on_hand) |
| | group by: NULL, NULL, NULL, NULL |
| | row-size=422B cardinality=35.25M |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: inv_warehouse_sk = w_warehouse_sk |
| | runtime filters: RF000 <- w_warehouse_sk |
| | row-size=136B cardinality=11.74M |
| | |
| |--12:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.warehouse] |
| | HDFS partitions=1/1 files=1 size=585B |
| | row-size=4B cardinality=5 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: inv_item_sk = i_item_sk |
| | runtime filters: RF002 <- i_item_sk |
| | row-size=132B cardinality=11.74M |
| | |
| |--11:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=104B cardinality=18.00K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: inv_date_sk = d_date_sk |
| | runtime filters: RF004 <- d_date_sk |
| | row-size=28B cardinality=11.74M |
| | |
| |--10:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq <= 1223, d_month_seq >= 1212 |
| | row-size=8B cardinality=7.30K |
| | |
| 00:SCAN HDFS [tpcds.inventory] |
| HDFS partitions=1/1 files=1 size=225.47MB |
| runtime filters: RF000 -> inv_warehouse_sk, RF002 -> inv_item_sk, RF004 -> inv_date_sk |
| row-size=20B cardinality=11.74M |
| ==== |
| # TPCDS-Q67 |
| select * |
| from (select i_category |
| ,i_class |
| ,i_brand |
| ,i_product_name |
| ,d_year |
| ,d_qoy |
| ,d_moy |
| ,s_store_id |
| ,sumsales |
| ,rank() over (partition by i_category order by sumsales desc) rk |
| from (select i_category |
| ,i_class |
| ,i_brand |
| ,i_product_name |
| ,d_year |
| ,d_qoy |
| ,d_moy |
| ,s_store_id |
| ,sum(coalesce(ss_sales_price*ss_quantity,0)) sumsales |
| from store_sales |
| ,date_dim |
| ,store |
| ,item |
| where ss_sold_date_sk=d_date_sk |
| and ss_item_sk=i_item_sk |
| and ss_store_sk = s_store_sk |
| and d_month_seq between 1212 and 1212+11 |
| group by rollup(i_category, i_class, i_brand, i_product_name, d_year, d_qoy, d_moy,s_store_id))dw1) dw2 |
| where rk <= 100 |
| order by i_category |
| ,i_class |
| ,i_brand |
| ,i_product_name |
| ,d_year |
| ,d_qoy |
| ,d_moy |
| ,s_store_id |
| ,sumsales |
| ,rk |
| limit 100; |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=251.75MB Threads=5 |
| Per-Host Resource Estimates: Memory=18.41GB |
| PLAN-ROOT SINK |
| | |
| 12:TOP-N [LIMIT=100] |
| | order by: i_category ASC, i_class ASC, i_brand ASC, i_product_name ASC, d_year ASC, d_qoy ASC, d_moy ASC, s_store_id ASC, sumsales ASC, rk ASC |
| | row-size=96B cardinality=100 |
| | |
| 11:SELECT |
| | predicates: rank() <= 100 |
| | row-size=100B cardinality=100 |
| | |
| 10:ANALYTIC |
| | functions: rank() |
| | partition by: i_category |
| | order by: aggif(valid_tid(4,5,6,7,8,9,10,11,12) IN (4, 5, 6, 7, 8, 9, 10, 11, 12), CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 5 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 6 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 7 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 8 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 9 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 10 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 11 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 12 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) END) DESC |
| | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | row-size=100B cardinality=100 |
| | |
| 09:TOP-N [LIMIT=100] |
| | order by: CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN i_category WHEN 7 THEN i_category WHEN 8 THEN i_category WHEN 9 THEN i_category WHEN 10 THEN i_category WHEN 11 THEN i_category WHEN 12 THEN NULL END ASC NULLS LAST, aggif(valid_tid(4,5,6,7,8,9,10,11,12) IN (4, 5, 6, 7, 8, 9, 10, 11, 12), CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 5 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 6 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 7 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 8 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 9 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 10 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 11 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 12 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) END) DESC |
| | row-size=92B cardinality=100 |
| | |
| 08:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(4,5,6,7,8,9,10,11,12) IN (4, 5, 6, 7, 8, 9, 10, 11, 12), CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 5 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 6 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 7 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 8 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 9 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 10 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 11 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 12 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) END) |
| | group by: CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN i_category WHEN 7 THEN i_category WHEN 8 THEN i_category WHEN 9 THEN i_category WHEN 10 THEN i_category WHEN 11 THEN i_category WHEN 12 THEN NULL END, CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_class WHEN 5 THEN i_class WHEN 6 THEN i_class WHEN 7 THEN i_class WHEN 8 THEN i_class WHEN 9 THEN i_class WHEN 10 THEN i_class WHEN 11 THEN NULL WHEN 12 THEN NULL END, CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_brand WHEN 5 THEN i_brand WHEN 6 THEN i_brand WHEN 7 THEN i_brand WHEN 8 THEN i_brand WHEN 9 THEN i_brand WHEN 10 THEN NULL WHEN 11 THEN NULL WHEN 12 THEN NULL END, CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_product_name WHEN 5 THEN i_product_name WHEN 6 THEN i_product_name WHEN 7 THEN i_product_name WHEN 8 THEN i_product_name WHEN 9 THEN NULL WHEN 10 THEN NULL WHEN 11 THEN NULL WHEN 12 THEN NULL END, CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN d_year WHEN 5 THEN d_year WHEN 6 THEN d_year WHEN 7 THEN d_year WHEN 8 THEN NULL WHEN 9 THEN NULL WHEN 10 THEN NULL WHEN 11 THEN NULL WHEN 12 THEN NULL END, CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN d_qoy WHEN 5 THEN d_qoy WHEN 6 THEN d_qoy WHEN 7 THEN NULL WHEN 8 THEN NULL WHEN 9 THEN NULL WHEN 10 THEN NULL WHEN 11 THEN NULL WHEN 12 THEN NULL END, CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN d_moy WHEN 5 THEN d_moy WHEN 6 THEN NULL WHEN 7 THEN NULL WHEN 8 THEN NULL WHEN 9 THEN NULL WHEN 10 THEN NULL WHEN 11 THEN NULL WHEN 12 THEN NULL END, CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN s_store_id WHEN 5 THEN NULL WHEN 6 THEN NULL WHEN 7 THEN NULL WHEN 8 THEN NULL WHEN 9 THEN NULL WHEN 10 THEN NULL WHEN 11 THEN NULL WHEN 12 THEN NULL END, CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN 4 WHEN 5 THEN 5 WHEN 6 THEN 6 WHEN 7 THEN 7 WHEN 8 THEN 8 WHEN 9 THEN 9 WHEN 10 THEN 10 WHEN 11 THEN 11 WHEN 12 THEN 12 END |
| | row-size=92B cardinality=15.09M |
| | |
| 07:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, i_product_name, d_year, d_qoy, d_moy, s_store_id |
| | Class 1 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, i_product_name, d_year, d_qoy, d_moy, NULL |
| | Class 2 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, i_product_name, d_year, d_qoy, NULL, NULL |
| | Class 3 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, i_product_name, d_year, NULL, NULL, NULL |
| | Class 4 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, i_product_name, NULL, NULL, NULL, NULL |
| | Class 5 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, NULL, NULL, NULL, NULL, NULL |
| | Class 6 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, NULL, NULL, NULL, NULL, NULL, NULL |
| | Class 7 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, NULL, NULL, NULL, NULL, NULL, NULL, NULL |
| | Class 8 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL |
| | row-size=1.07KB cardinality=15.09M |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF000 <- i_item_sk |
| | row-size=180B cardinality=2.88M |
| | |
| |--03:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=104B cardinality=18.00K |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF002 <- s_store_sk |
| | row-size=76B cardinality=2.88M |
| | |
| |--02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=32B cardinality=12 |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF004 <- d_date_sk |
| | row-size=44B cardinality=2.88M |
| | |
| |--01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq <= 1223, d_month_seq >= 1212 |
| | row-size=20B cardinality=7.30K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_item_sk, RF002 -> ss_store_sk, RF004 -> ss_sold_date_sk |
| row-size=24B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=493.51MB Threads=11 |
| Per-Host Resource Estimates: Memory=53.04GB |
| PLAN-ROOT SINK |
| | |
| 20:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: i_category ASC, i_class ASC, i_brand ASC, i_product_name ASC, d_year ASC, d_qoy ASC, d_moy ASC, s_store_id ASC, sumsales ASC, rk ASC |
| | limit: 100 |
| | |
| 12:TOP-N [LIMIT=100] |
| | order by: i_category ASC, i_class ASC, i_brand ASC, i_product_name ASC, d_year ASC, d_qoy ASC, d_moy ASC, s_store_id ASC, sumsales ASC, rk ASC |
| | row-size=96B cardinality=100 |
| | |
| 11:SELECT |
| | predicates: rank() <= 100 |
| | row-size=100B cardinality=100 |
| | |
| 10:ANALYTIC |
| | functions: rank() |
| | partition by: i_category |
| | order by: aggif(valid_tid(4,5,6,7,8,9,10,11,12) IN (4, 5, 6, 7, 8, 9, 10, 11, 12), CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 5 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 6 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 7 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 8 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 9 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 10 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 11 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 12 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) END) DESC |
| | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | row-size=100B cardinality=100 |
| | |
| 19:TOP-N [LIMIT=100] |
| | order by: CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN i_category WHEN 7 THEN i_category WHEN 8 THEN i_category WHEN 9 THEN i_category WHEN 10 THEN i_category WHEN 11 THEN i_category WHEN 12 THEN NULL END ASC NULLS LAST, aggif(valid_tid(4,5,6,7,8,9,10,11,12) IN (4, 5, 6, 7, 8, 9, 10, 11, 12), CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 5 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 6 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 7 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 8 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 9 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 10 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 11 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 12 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) END) DESC |
| | row-size=92B cardinality=100 |
| | |
| 18:EXCHANGE [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN i_category WHEN 7 THEN i_category WHEN 8 THEN i_category WHEN 9 THEN i_category WHEN 10 THEN i_category WHEN 11 THEN i_category WHEN 12 THEN NULL END)] |
| | |
| 09:TOP-N [LIMIT=100] |
| | order by: CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN i_category WHEN 7 THEN i_category WHEN 8 THEN i_category WHEN 9 THEN i_category WHEN 10 THEN i_category WHEN 11 THEN i_category WHEN 12 THEN NULL END ASC NULLS LAST, aggif(valid_tid(4,5,6,7,8,9,10,11,12) IN (4, 5, 6, 7, 8, 9, 10, 11, 12), CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 5 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 6 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 7 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 8 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 9 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 10 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 11 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 12 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) END) DESC |
| | row-size=92B cardinality=100 |
| | |
| 08:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(4,5,6,7,8,9,10,11,12) IN (4, 5, 6, 7, 8, 9, 10, 11, 12), CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 5 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 6 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 7 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 8 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 9 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 10 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 11 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) WHEN 12 THEN sum(coalesce(ss_sales_price * ss_quantity, 0)) END) |
| | group by: CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN i_category WHEN 7 THEN i_category WHEN 8 THEN i_category WHEN 9 THEN i_category WHEN 10 THEN i_category WHEN 11 THEN i_category WHEN 12 THEN NULL END, CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_class WHEN 5 THEN i_class WHEN 6 THEN i_class WHEN 7 THEN i_class WHEN 8 THEN i_class WHEN 9 THEN i_class WHEN 10 THEN i_class WHEN 11 THEN NULL WHEN 12 THEN NULL END, CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_brand WHEN 5 THEN i_brand WHEN 6 THEN i_brand WHEN 7 THEN i_brand WHEN 8 THEN i_brand WHEN 9 THEN i_brand WHEN 10 THEN NULL WHEN 11 THEN NULL WHEN 12 THEN NULL END, CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN i_product_name WHEN 5 THEN i_product_name WHEN 6 THEN i_product_name WHEN 7 THEN i_product_name WHEN 8 THEN i_product_name WHEN 9 THEN NULL WHEN 10 THEN NULL WHEN 11 THEN NULL WHEN 12 THEN NULL END, CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN d_year WHEN 5 THEN d_year WHEN 6 THEN d_year WHEN 7 THEN d_year WHEN 8 THEN NULL WHEN 9 THEN NULL WHEN 10 THEN NULL WHEN 11 THEN NULL WHEN 12 THEN NULL END, CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN d_qoy WHEN 5 THEN d_qoy WHEN 6 THEN d_qoy WHEN 7 THEN NULL WHEN 8 THEN NULL WHEN 9 THEN NULL WHEN 10 THEN NULL WHEN 11 THEN NULL WHEN 12 THEN NULL END, CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN d_moy WHEN 5 THEN d_moy WHEN 6 THEN NULL WHEN 7 THEN NULL WHEN 8 THEN NULL WHEN 9 THEN NULL WHEN 10 THEN NULL WHEN 11 THEN NULL WHEN 12 THEN NULL END, CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN s_store_id WHEN 5 THEN NULL WHEN 6 THEN NULL WHEN 7 THEN NULL WHEN 8 THEN NULL WHEN 9 THEN NULL WHEN 10 THEN NULL WHEN 11 THEN NULL WHEN 12 THEN NULL END, CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN 4 WHEN 5 THEN 5 WHEN 6 THEN 6 WHEN 7 THEN 7 WHEN 8 THEN 8 WHEN 9 THEN 9 WHEN 10 THEN 10 WHEN 11 THEN 11 WHEN 12 THEN 12 END |
| | row-size=92B cardinality=15.09M |
| | |
| 17:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, i_product_name, d_year, d_qoy, d_moy, s_store_id |
| | Class 1 |
| | output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, i_product_name, d_year, d_qoy, d_moy, NULL |
| | Class 2 |
| | output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, i_product_name, d_year, d_qoy, NULL, NULL |
| | Class 3 |
| | output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, i_product_name, d_year, NULL, NULL, NULL |
| | Class 4 |
| | output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, i_product_name, NULL, NULL, NULL, NULL |
| | Class 5 |
| | output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, NULL, NULL, NULL, NULL, NULL |
| | Class 6 |
| | output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, NULL, NULL, NULL, NULL, NULL, NULL |
| | Class 7 |
| | output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, NULL, NULL, NULL, NULL, NULL, NULL, NULL |
| | Class 8 |
| | output: sum:merge(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL |
| | row-size=1.07KB cardinality=15.09M |
| | |
| 16:EXCHANGE [HASH(CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(i_category) WHEN 7 THEN murmur_hash(i_category) WHEN 8 THEN murmur_hash(i_category) WHEN 9 THEN murmur_hash(i_category) WHEN 10 THEN murmur_hash(i_category) WHEN 11 THEN murmur_hash(i_category) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(i_class) WHEN 6 THEN murmur_hash(i_class) WHEN 7 THEN murmur_hash(i_class) WHEN 8 THEN murmur_hash(i_class) WHEN 9 THEN murmur_hash(i_class) WHEN 10 THEN murmur_hash(i_class) WHEN 11 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_brand) WHEN 5 THEN murmur_hash(i_brand) WHEN 6 THEN murmur_hash(i_brand) WHEN 7 THEN murmur_hash(i_brand) WHEN 8 THEN murmur_hash(i_brand) WHEN 9 THEN murmur_hash(i_brand) WHEN 10 THEN murmur_hash(NULL) WHEN 11 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(i_product_name) WHEN 5 THEN murmur_hash(i_product_name) WHEN 6 THEN murmur_hash(i_product_name) WHEN 7 THEN murmur_hash(i_product_name) WHEN 8 THEN murmur_hash(i_product_name) WHEN 9 THEN murmur_hash(NULL) WHEN 10 THEN murmur_hash(NULL) WHEN 11 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(d_year) WHEN 5 THEN murmur_hash(d_year) WHEN 6 THEN murmur_hash(d_year) WHEN 7 THEN murmur_hash(d_year) WHEN 8 THEN murmur_hash(NULL) WHEN 9 THEN murmur_hash(NULL) WHEN 10 THEN murmur_hash(NULL) WHEN 11 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(d_qoy) WHEN 5 THEN murmur_hash(d_qoy) WHEN 6 THEN murmur_hash(d_qoy) WHEN 7 THEN murmur_hash(NULL) WHEN 8 THEN murmur_hash(NULL) WHEN 9 THEN murmur_hash(NULL) WHEN 10 THEN murmur_hash(NULL) WHEN 11 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(d_moy) WHEN 5 THEN murmur_hash(d_moy) WHEN 6 THEN murmur_hash(NULL) WHEN 7 THEN murmur_hash(NULL) WHEN 8 THEN murmur_hash(NULL) WHEN 9 THEN murmur_hash(NULL) WHEN 10 THEN murmur_hash(NULL) WHEN 11 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6,7,8,9,10,11,12) WHEN 4 THEN murmur_hash(s_store_id) WHEN 5 THEN murmur_hash(NULL) WHEN 6 THEN murmur_hash(NULL) WHEN 7 THEN murmur_hash(NULL) WHEN 8 THEN murmur_hash(NULL) WHEN 9 THEN murmur_hash(NULL) WHEN 10 THEN murmur_hash(NULL) WHEN 11 THEN murmur_hash(NULL) WHEN 12 THEN murmur_hash(NULL) END)] |
| | |
| 07:AGGREGATE [STREAMING] |
| | Class 0 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, i_product_name, d_year, d_qoy, d_moy, s_store_id |
| | Class 1 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, i_product_name, d_year, d_qoy, d_moy, NULL |
| | Class 2 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, i_product_name, d_year, d_qoy, NULL, NULL |
| | Class 3 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, i_product_name, d_year, NULL, NULL, NULL |
| | Class 4 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, i_product_name, NULL, NULL, NULL, NULL |
| | Class 5 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, i_brand, NULL, NULL, NULL, NULL, NULL |
| | Class 6 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, i_class, NULL, NULL, NULL, NULL, NULL, NULL |
| | Class 7 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: i_category, NULL, NULL, NULL, NULL, NULL, NULL, NULL |
| | Class 8 |
| | output: sum(coalesce(ss_sales_price * ss_quantity, 0)) |
| | group by: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL |
| | row-size=1.07KB cardinality=15.09M |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF000 <- i_item_sk |
| | row-size=180B cardinality=2.88M |
| | |
| |--15:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=104B cardinality=18.00K |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF002 <- s_store_sk |
| | row-size=76B cardinality=2.88M |
| | |
| |--14:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=32B cardinality=12 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF004 <- d_date_sk |
| | row-size=44B cardinality=2.88M |
| | |
| |--13:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq <= 1223, d_month_seq >= 1212 |
| | row-size=20B cardinality=7.30K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_item_sk, RF002 -> ss_store_sk, RF004 -> ss_sold_date_sk |
| row-size=24B cardinality=2.88M |
| ==== |
| # TPCDS-Q5 |
| with ssr as |
| (select s_store_id, |
| sum(sales_price) as sales, |
| sum(profit) as profit, |
| sum(return_amt) as `returns`, |
| sum(net_loss) as profit_loss |
| from |
| ( select ss_store_sk as store_sk, |
| ss_sold_date_sk as date_sk, |
| ss_ext_sales_price as sales_price, |
| ss_net_profit as profit, |
| cast(0 as decimal(7,2)) as return_amt, |
| cast(0 as decimal(7,2)) as net_loss |
| from store_sales |
| union all |
| select sr_store_sk as store_sk, |
| sr_returned_date_sk as date_sk, |
| cast(0 as decimal(7,2)) as sales_price, |
| cast(0 as decimal(7,2)) as profit, |
| sr_return_amt as return_amt, |
| sr_net_loss as net_loss |
| from store_returns |
| ) salesreturns, |
| date_dim, |
| store |
| where date_sk = d_date_sk |
| and d_date between cast('1998-08-04' as date) |
| and (cast('1998-08-04' as date) + INTERVAL 14 days) |
| and store_sk = s_store_sk |
| group by s_store_id) |
| , |
| csr as |
| (select cp_catalog_page_id, |
| sum(sales_price) as sales, |
| sum(profit) as profit, |
| sum(return_amt) as `returns`, |
| sum(net_loss) as profit_loss |
| from |
| ( select cs_catalog_page_sk as page_sk, |
| cs_sold_date_sk as date_sk, |
| cs_ext_sales_price as sales_price, |
| cs_net_profit as profit, |
| cast(0 as decimal(7,2)) as return_amt, |
| cast(0 as decimal(7,2)) as net_loss |
| from catalog_sales |
| union all |
| select cr_catalog_page_sk as page_sk, |
| cr_returned_date_sk as date_sk, |
| cast(0 as decimal(7,2)) as sales_price, |
| cast(0 as decimal(7,2)) as profit, |
| cr_return_amount as return_amt, |
| cr_net_loss as net_loss |
| from catalog_returns |
| ) salesreturns, |
| date_dim, |
| catalog_page |
| where date_sk = d_date_sk |
| and d_date between cast('1998-08-04' as date) |
| and (cast('1998-08-04' as date) + INTERVAL 14 days) |
| and page_sk = cp_catalog_page_sk |
| group by cp_catalog_page_id) |
| , |
| wsr as |
| (select web_site_id, |
| sum(sales_price) as sales, |
| sum(profit) as profit, |
| sum(return_amt) as `returns`, |
| sum(net_loss) as profit_loss |
| from |
| ( select ws_web_site_sk as wsr_web_site_sk, |
| ws_sold_date_sk as date_sk, |
| ws_ext_sales_price as sales_price, |
| ws_net_profit as profit, |
| cast(0 as decimal(7,2)) as return_amt, |
| cast(0 as decimal(7,2)) as net_loss |
| from web_sales |
| union all |
| select ws_web_site_sk as wsr_web_site_sk, |
| wr_returned_date_sk as date_sk, |
| cast(0 as decimal(7,2)) as sales_price, |
| cast(0 as decimal(7,2)) as profit, |
| wr_return_amt as return_amt, |
| wr_net_loss as net_loss |
| from web_returns left outer join web_sales on |
| ( wr_item_sk = ws_item_sk |
| and wr_order_number = ws_order_number) |
| ) salesreturns, |
| date_dim, |
| web_site |
| where date_sk = d_date_sk |
| and d_date between cast('1998-08-04' as date) |
| and (cast('1998-08-04' as date) + INTERVAL 14 days) |
| and wsr_web_site_sk = web_site_sk |
| group by web_site_id) |
| select channel |
| , id |
| , sum(sales) as sales |
| , sum(`returns`) as `returns` |
| , sum(profit) as profit |
| from |
| (select 'store channel' as channel |
| , 'store' || s_store_id as id |
| , sales |
| , `returns` |
| , (profit - profit_loss) as profit |
| from ssr |
| union all |
| select 'catalog channel' as channel |
| , 'catalog_page' || cp_catalog_page_id as id |
| , sales |
| , `returns` |
| , (profit - profit_loss) as profit |
| from csr |
| union all |
| select 'web channel' as channel |
| , 'web_site' || web_site_id as id |
| , sales |
| , `returns` |
| , (profit - profit_loss) as profit |
| from wsr |
| ) x |
| group by rollup (channel, id) |
| order by channel |
| ,id |
| limit 100; |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=47.39MB Threads=5 |
| Per-Host Resource Estimates: Memory=333MB |
| PLAN-ROOT SINK |
| | |
| 29:TOP-N [LIMIT=100] |
| | order by: CASE valid_tid(27,28,29) WHEN 27 THEN channel WHEN 28 THEN channel WHEN 29 THEN NULL END ASC, CASE valid_tid(27,28,29) WHEN 27 THEN id WHEN 28 THEN NULL WHEN 29 THEN NULL END ASC |
| | row-size=72B cardinality=100 |
| | |
| 28:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(27,28,29) IN (27, 28, 29), CASE valid_tid(27,28,29) WHEN 27 THEN sum(sales) WHEN 28 THEN sum(sales) WHEN 29 THEN sum(sales) END), aggif(valid_tid(27,28,29) IN (27, 28, 29), CASE valid_tid(27,28,29) WHEN 27 THEN sum(`returns`) WHEN 28 THEN sum(`returns`) WHEN 29 THEN sum(`returns`) END), aggif(valid_tid(27,28,29) IN (27, 28, 29), CASE valid_tid(27,28,29) WHEN 27 THEN sum(profit) WHEN 28 THEN sum(profit) WHEN 29 THEN sum(profit) END) |
| | group by: CASE valid_tid(27,28,29) WHEN 27 THEN channel WHEN 28 THEN channel WHEN 29 THEN NULL END, CASE valid_tid(27,28,29) WHEN 27 THEN id WHEN 28 THEN NULL WHEN 29 THEN NULL END, CASE valid_tid(27,28,29) WHEN 27 THEN 27 WHEN 28 THEN 28 WHEN 29 THEN 29 END |
| | row-size=76B cardinality=11.56K |
| | |
| 27:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: channel, id |
| | Class 1 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: channel, NULL |
| | Class 2 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: NULL, NULL |
| | row-size=216B cardinality=11.56K |
| | |
| 00:UNION |
| | row-size=72B cardinality=11.56K |
| | |
| |--26:AGGREGATE [FINALIZE] |
| | | output: sum(sales_price), sum(profit), sum(return_amt), sum(net_loss) |
| | | group by: web_site_id |
| | | row-size=92B cardinality=15 |
| | | |
| | 25:HASH JOIN [INNER JOIN] |
| | | hash predicates: wsr_web_site_sk = web_site_sk |
| | | runtime filters: RF008 <- web_site_sk |
| | | row-size=82B cardinality=791.15K |
| | | |
| | |--23:SCAN HDFS [tpcds.web_site] |
| | | HDFS partitions=1/1 files=1 size=8.57KB |
| | | row-size=32B cardinality=30 |
| | | |
| | 24:HASH JOIN [INNER JOIN] |
| | | hash predicates: date_sk = d_date_sk |
| | | runtime filters: RF010 <- d_date_sk |
| | | row-size=50B cardinality=791.15K |
| | | |
| | |--22:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_date <= DATE '1998-08-18', d_date >= DATE '1998-08-04' |
| | | row-size=26B cardinality=7.30K |
| | | |
| | 17:UNION |
| | | row-size=24B cardinality=791.15K |
| | | |
| | |--21:HASH JOIN [RIGHT OUTER JOIN] |
| | | | hash predicates: ws_item_sk = wr_item_sk, ws_order_number = wr_order_number |
| | | | runtime filters: RF012 <- wr_item_sk, RF013 <- wr_order_number |
| | | | row-size=48B cardinality=71.76K |
| | | | |
| | | |--19:SCAN HDFS [tpcds.web_returns] |
| | | | HDFS partitions=1/1 files=1 size=9.35MB |
| | | | runtime filters: RF010 -> tpcds.web_returns.wr_returned_date_sk |
| | | | row-size=28B cardinality=71.76K |
| | | | |
| | | 20:SCAN HDFS [tpcds.web_sales] |
| | | HDFS partitions=1/1 files=1 size=140.07MB |
| | | runtime filters: RF008 -> tpcds.web_sales.ws_web_site_sk, RF012 -> ws_item_sk, RF013 -> ws_order_number |
| | | row-size=20B cardinality=719.38K |
| | | |
| | 18:SCAN HDFS [tpcds.web_sales] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | runtime filters: RF008 -> tpcds.web_sales.ws_web_site_sk, RF010 -> tpcds.web_sales.ws_sold_date_sk |
| | row-size=16B cardinality=719.38K |
| | |
| |--16:AGGREGATE [FINALIZE] |
| | | output: sum(sales_price), sum(profit), sum(return_amt), sum(net_loss) |
| | | group by: cp_catalog_page_id |
| | | row-size=92B cardinality=11.54K |
| | | |
| | 15:HASH JOIN [INNER JOIN] |
| | | hash predicates: page_sk = cp_catalog_page_sk |
| | | runtime filters: RF004 <- cp_catalog_page_sk |
| | | row-size=82B cardinality=1.59M |
| | | |
| | |--13:SCAN HDFS [tpcds.catalog_page] |
| | | HDFS partitions=1/1 files=1 size=1.56MB |
| | | row-size=32B cardinality=11.72K |
| | | |
| | 14:HASH JOIN [INNER JOIN] |
| | | hash predicates: date_sk = d_date_sk |
| | | runtime filters: RF006 <- d_date_sk |
| | | row-size=50B cardinality=1.59M |
| | | |
| | |--12:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_date <= DATE '1998-08-18', d_date >= DATE '1998-08-04' |
| | | row-size=26B cardinality=7.30K |
| | | |
| | 09:UNION |
| | | row-size=24B cardinality=1.59M |
| | | |
| | |--11:SCAN HDFS [tpcds.catalog_returns] |
| | | HDFS partitions=1/1 files=1 size=20.39MB |
| | | runtime filters: RF004 -> tpcds.catalog_returns.cr_catalog_page_sk, RF006 -> tpcds.catalog_returns.cr_returned_date_sk |
| | | row-size=16B cardinality=144.07K |
| | | |
| | 10:SCAN HDFS [tpcds.catalog_sales] |
| | HDFS partitions=1/1 files=1 size=282.20MB |
| | runtime filters: RF004 -> tpcds.catalog_sales.cs_catalog_page_sk, RF006 -> tpcds.catalog_sales.cs_sold_date_sk |
| | row-size=16B cardinality=1.44M |
| | |
| 08:AGGREGATE [FINALIZE] |
| | output: sum(sales_price), sum(profit), sum(return_amt), sum(net_loss) |
| | group by: s_store_id |
| | row-size=92B cardinality=6 |
| | |
| 07:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=82B cardinality=3.17M |
| | |
| |--05:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=32B cardinality=12 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: date_sk = d_date_sk |
| | runtime filters: RF002 <- d_date_sk |
| | row-size=50B cardinality=3.17M |
| | |
| |--04:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_date <= DATE '1998-08-18', d_date >= DATE '1998-08-04' |
| | row-size=26B cardinality=7.30K |
| | |
| 01:UNION |
| | row-size=24B cardinality=3.17M |
| | |
| |--03:SCAN HDFS [tpcds.store_returns] |
| | HDFS partitions=1/1 files=1 size=31.19MB |
| | runtime filters: RF000 -> tpcds.store_returns.sr_store_sk, RF002 -> tpcds.store_returns.sr_returned_date_sk |
| | row-size=16B cardinality=287.51K |
| | |
| 02:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> tpcds.store_sales.ss_store_sk, RF002 -> tpcds.store_sales.ss_sold_date_sk |
| row-size=16B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=114.27MB Threads=25 |
| Per-Host Resource Estimates: Memory=1.02GB |
| PLAN-ROOT SINK |
| | |
| 46:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: CASE valid_tid(27,28,29) WHEN 27 THEN channel WHEN 28 THEN channel WHEN 29 THEN NULL END ASC, CASE valid_tid(27,28,29) WHEN 27 THEN id WHEN 28 THEN NULL WHEN 29 THEN NULL END ASC |
| | limit: 100 |
| | |
| 29:TOP-N [LIMIT=100] |
| | order by: CASE valid_tid(27,28,29) WHEN 27 THEN channel WHEN 28 THEN channel WHEN 29 THEN NULL END ASC, CASE valid_tid(27,28,29) WHEN 27 THEN id WHEN 28 THEN NULL WHEN 29 THEN NULL END ASC |
| | row-size=72B cardinality=100 |
| | |
| 28:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(27,28,29) IN (27, 28, 29), CASE valid_tid(27,28,29) WHEN 27 THEN sum(sales) WHEN 28 THEN sum(sales) WHEN 29 THEN sum(sales) END), aggif(valid_tid(27,28,29) IN (27, 28, 29), CASE valid_tid(27,28,29) WHEN 27 THEN sum(`returns`) WHEN 28 THEN sum(`returns`) WHEN 29 THEN sum(`returns`) END), aggif(valid_tid(27,28,29) IN (27, 28, 29), CASE valid_tid(27,28,29) WHEN 27 THEN sum(profit) WHEN 28 THEN sum(profit) WHEN 29 THEN sum(profit) END) |
| | group by: CASE valid_tid(27,28,29) WHEN 27 THEN channel WHEN 28 THEN channel WHEN 29 THEN NULL END, CASE valid_tid(27,28,29) WHEN 27 THEN id WHEN 28 THEN NULL WHEN 29 THEN NULL END, CASE valid_tid(27,28,29) WHEN 27 THEN 27 WHEN 28 THEN 28 WHEN 29 THEN 29 END |
| | row-size=76B cardinality=11.56K |
| | |
| 45:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: sum:merge(sales), sum:merge(`returns`), sum:merge(profit) |
| | group by: channel, id |
| | Class 1 |
| | output: sum:merge(sales), sum:merge(`returns`), sum:merge(profit) |
| | group by: channel, NULL |
| | Class 2 |
| | output: sum:merge(sales), sum:merge(`returns`), sum:merge(profit) |
| | group by: NULL, NULL |
| | row-size=216B cardinality=11.56K |
| | |
| 44:EXCHANGE [HASH(CASE valid_tid(27,28,29) WHEN 27 THEN murmur_hash(channel) WHEN 28 THEN murmur_hash(channel) WHEN 29 THEN murmur_hash(NULL) END,CASE valid_tid(27,28,29) WHEN 27 THEN murmur_hash(id) WHEN 28 THEN murmur_hash(NULL) WHEN 29 THEN murmur_hash(NULL) END)] |
| | |
| 27:AGGREGATE [STREAMING] |
| | Class 0 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: channel, id |
| | Class 1 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: channel, NULL |
| | Class 2 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: NULL, NULL |
| | row-size=216B cardinality=11.56K |
| | |
| 00:UNION |
| | row-size=72B cardinality=11.56K |
| | |
| |--43:AGGREGATE [FINALIZE] |
| | | output: sum:merge(sales_price), sum:merge(profit), sum:merge(return_amt), sum:merge(net_loss) |
| | | group by: web_site_id |
| | | row-size=92B cardinality=15 |
| | | |
| | 42:EXCHANGE [HASH(web_site_id)] |
| | | |
| | 26:AGGREGATE [STREAMING] |
| | | output: sum(sales_price), sum(profit), sum(return_amt), sum(net_loss) |
| | | group by: web_site_id |
| | | row-size=92B cardinality=15 |
| | | |
| | 25:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: wsr_web_site_sk = web_site_sk |
| | | runtime filters: RF008 <- web_site_sk |
| | | row-size=82B cardinality=791.15K |
| | | |
| | |--41:EXCHANGE [BROADCAST] |
| | | | |
| | | 23:SCAN HDFS [tpcds.web_site] |
| | | HDFS partitions=1/1 files=1 size=8.57KB |
| | | row-size=32B cardinality=30 |
| | | |
| | 24:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: date_sk = d_date_sk |
| | | runtime filters: RF010 <- d_date_sk |
| | | row-size=50B cardinality=791.15K |
| | | |
| | |--40:EXCHANGE [BROADCAST] |
| | | | |
| | | 22:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_date <= DATE '1998-08-18', d_date >= DATE '1998-08-04' |
| | | row-size=26B cardinality=7.30K |
| | | |
| | 17:UNION |
| | | row-size=24B cardinality=791.15K |
| | | |
| | |--21:HASH JOIN [RIGHT OUTER JOIN, PARTITIONED] |
| | | | hash predicates: ws_item_sk = wr_item_sk, ws_order_number = wr_order_number |
| | | | runtime filters: RF012 <- wr_item_sk, RF013 <- wr_order_number |
| | | | row-size=48B cardinality=71.76K |
| | | | |
| | | |--39:EXCHANGE [HASH(wr_item_sk,wr_order_number)] |
| | | | | |
| | | | 19:SCAN HDFS [tpcds.web_returns] |
| | | | HDFS partitions=1/1 files=1 size=9.35MB |
| | | | runtime filters: RF010 -> tpcds.web_returns.wr_returned_date_sk |
| | | | row-size=28B cardinality=71.76K |
| | | | |
| | | 38:EXCHANGE [HASH(ws_item_sk,ws_order_number)] |
| | | | |
| | | 20:SCAN HDFS [tpcds.web_sales] |
| | | HDFS partitions=1/1 files=1 size=140.07MB |
| | | runtime filters: RF008 -> tpcds.web_sales.ws_web_site_sk, RF012 -> ws_item_sk, RF013 -> ws_order_number |
| | | row-size=20B cardinality=719.38K |
| | | |
| | 18:SCAN HDFS [tpcds.web_sales] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | runtime filters: RF008 -> tpcds.web_sales.ws_web_site_sk, RF010 -> tpcds.web_sales.ws_sold_date_sk |
| | row-size=16B cardinality=719.38K |
| | |
| |--37:AGGREGATE [FINALIZE] |
| | | output: sum:merge(sales_price), sum:merge(profit), sum:merge(return_amt), sum:merge(net_loss) |
| | | group by: cp_catalog_page_id |
| | | row-size=92B cardinality=11.54K |
| | | |
| | 36:EXCHANGE [HASH(cp_catalog_page_id)] |
| | | |
| | 16:AGGREGATE [STREAMING] |
| | | output: sum(sales_price), sum(profit), sum(return_amt), sum(net_loss) |
| | | group by: cp_catalog_page_id |
| | | row-size=92B cardinality=11.54K |
| | | |
| | 15:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: page_sk = cp_catalog_page_sk |
| | | runtime filters: RF004 <- cp_catalog_page_sk |
| | | row-size=82B cardinality=1.59M |
| | | |
| | |--35:EXCHANGE [BROADCAST] |
| | | | |
| | | 13:SCAN HDFS [tpcds.catalog_page] |
| | | HDFS partitions=1/1 files=1 size=1.56MB |
| | | row-size=32B cardinality=11.72K |
| | | |
| | 14:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: date_sk = d_date_sk |
| | | runtime filters: RF006 <- d_date_sk |
| | | row-size=50B cardinality=1.59M |
| | | |
| | |--34:EXCHANGE [BROADCAST] |
| | | | |
| | | 12:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_date <= DATE '1998-08-18', d_date >= DATE '1998-08-04' |
| | | row-size=26B cardinality=7.30K |
| | | |
| | 09:UNION |
| | | row-size=24B cardinality=1.59M |
| | | |
| | |--11:SCAN HDFS [tpcds.catalog_returns] |
| | | HDFS partitions=1/1 files=1 size=20.39MB |
| | | runtime filters: RF004 -> tpcds.catalog_returns.cr_catalog_page_sk, RF006 -> tpcds.catalog_returns.cr_returned_date_sk |
| | | row-size=16B cardinality=144.07K |
| | | |
| | 10:SCAN HDFS [tpcds.catalog_sales] |
| | HDFS partitions=1/1 files=1 size=282.20MB |
| | runtime filters: RF004 -> tpcds.catalog_sales.cs_catalog_page_sk, RF006 -> tpcds.catalog_sales.cs_sold_date_sk |
| | row-size=16B cardinality=1.44M |
| | |
| 33:AGGREGATE [FINALIZE] |
| | output: sum:merge(sales_price), sum:merge(profit), sum:merge(return_amt), sum:merge(net_loss) |
| | group by: s_store_id |
| | row-size=92B cardinality=6 |
| | |
| 32:EXCHANGE [HASH(s_store_id)] |
| | |
| 08:AGGREGATE [STREAMING] |
| | output: sum(sales_price), sum(profit), sum(return_amt), sum(net_loss) |
| | group by: s_store_id |
| | row-size=92B cardinality=6 |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=82B cardinality=3.17M |
| | |
| |--31:EXCHANGE [BROADCAST] |
| | | |
| | 05:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=32B cardinality=12 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: date_sk = d_date_sk |
| | runtime filters: RF002 <- d_date_sk |
| | row-size=50B cardinality=3.17M |
| | |
| |--30:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_date <= DATE '1998-08-18', d_date >= DATE '1998-08-04' |
| | row-size=26B cardinality=7.30K |
| | |
| 01:UNION |
| | row-size=24B cardinality=3.17M |
| | |
| |--03:SCAN HDFS [tpcds.store_returns] |
| | HDFS partitions=1/1 files=1 size=31.19MB |
| | runtime filters: RF000 -> tpcds.store_returns.sr_store_sk, RF002 -> tpcds.store_returns.sr_returned_date_sk |
| | row-size=16B cardinality=287.51K |
| | |
| 02:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> tpcds.store_sales.ss_store_sk, RF002 -> tpcds.store_sales.ss_sold_date_sk |
| row-size=16B cardinality=2.88M |
| ==== |
| # TPCDS-Q77 |
| with ss as |
| (select s_store_sk, |
| sum(ss_ext_sales_price) as sales, |
| sum(ss_net_profit) as profit |
| from store_sales, |
| date_dim, |
| store |
| where ss_sold_date_sk = d_date_sk |
| and d_date between cast('1998-08-04' as date) |
| and (cast('1998-08-04' as date) + interval 30 days) |
| and ss_store_sk = s_store_sk |
| group by s_store_sk) |
| , |
| sr as |
| (select s_store_sk, |
| sum(sr_return_amt) as `returns`, |
| sum(sr_net_loss) as profit_loss |
| from store_returns, |
| date_dim, |
| store |
| where sr_returned_date_sk = d_date_sk |
| and d_date between cast('1998-08-04' as date) |
| and (cast('1998-08-04' as date) + interval 30 days) |
| and sr_store_sk = s_store_sk |
| group by s_store_sk), |
| cs as |
| (select cs_call_center_sk, |
| sum(cs_ext_sales_price) as sales, |
| sum(cs_net_profit) as profit |
| from catalog_sales, |
| date_dim |
| where cs_sold_date_sk = d_date_sk |
| and d_date between cast('1998-08-04' as date) |
| and (cast('1998-08-04' as date) + interval 30 days) |
| group by cs_call_center_sk |
| ), |
| cr as |
| (select |
| sum(cr_return_amount) as `returns`, |
| sum(cr_net_loss) as profit_loss |
| from catalog_returns, |
| date_dim |
| where cr_returned_date_sk = d_date_sk |
| and d_date between cast('1998-08-04' as date) |
| and (cast('1998-08-04' as date) + interval 30 days) |
| ), |
| ws as |
| ( select wp_web_page_sk, |
| sum(ws_ext_sales_price) as sales, |
| sum(ws_net_profit) as profit |
| from web_sales, |
| date_dim, |
| web_page |
| where ws_sold_date_sk = d_date_sk |
| and d_date between cast('1998-08-04' as date) |
| and (cast('1998-08-04' as date) + interval 30 days) |
| and ws_web_page_sk = wp_web_page_sk |
| group by wp_web_page_sk), |
| wr as |
| (select wp_web_page_sk, |
| sum(wr_return_amt) as `returns`, |
| sum(wr_net_loss) as profit_loss |
| from web_returns, |
| date_dim, |
| web_page |
| where wr_returned_date_sk = d_date_sk |
| and d_date between cast('1998-08-04' as date) |
| and (cast('1998-08-04' as date) + interval 30 days) |
| and wr_web_page_sk = wp_web_page_sk |
| group by wp_web_page_sk) |
| select channel |
| , id |
| , sum(sales) as sales |
| , sum(`returns`) as `returns` |
| , sum(profit) as profit |
| from |
| (select 'store channel' as channel |
| , ss.s_store_sk as id |
| , sales |
| , coalesce(`returns`, 0) as `returns` |
| , (profit - coalesce(profit_loss,0)) as profit |
| from ss left join sr |
| on ss.s_store_sk = sr.s_store_sk |
| union all |
| select 'catalog channel' as channel |
| , cs_call_center_sk as id |
| , sales |
| , `returns` |
| , (profit - profit_loss) as profit |
| from cs |
| , cr |
| union all |
| select 'web channel' as channel |
| , ws.wp_web_page_sk as id |
| , sales |
| , coalesce(`returns`, 0) `returns` |
| , (profit - coalesce(profit_loss,0)) as profit |
| from ws left join wr |
| on ws.wp_web_page_sk = wr.wp_web_page_sk |
| ) x |
| group by rollup (channel, id) |
| order by channel |
| ,id |
| ,sales desc |
| limit 100; |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=55.58MB Threads=7 |
| Per-Host Resource Estimates: Memory=416MB |
| PLAN-ROOT SINK |
| | |
| 38:TOP-N [LIMIT=100] |
| | order by: CASE valid_tid(32,30,31) WHEN 30 THEN channel WHEN 31 THEN channel WHEN 32 THEN NULL END ASC, CASE valid_tid(32,30,31) WHEN 30 THEN id WHEN 31 THEN NULL WHEN 32 THEN NULL END ASC, aggif(valid_tid(32,30,31) IN (30, 31, 32), CASE valid_tid(32,30,31) WHEN 30 THEN sum(sales) WHEN 31 THEN sum(sales) WHEN 32 THEN sum(sales) END) DESC |
| | row-size=64B cardinality=82 |
| | |
| 37:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(32,30,31) IN (30, 31, 32), CASE valid_tid(32,30,31) WHEN 30 THEN sum(sales) WHEN 31 THEN sum(sales) WHEN 32 THEN sum(sales) END), aggif(valid_tid(32,30,31) IN (30, 31, 32), CASE valid_tid(32,30,31) WHEN 30 THEN sum(`returns`) WHEN 31 THEN sum(`returns`) WHEN 32 THEN sum(`returns`) END), aggif(valid_tid(32,30,31) IN (30, 31, 32), CASE valid_tid(32,30,31) WHEN 30 THEN sum(profit) WHEN 31 THEN sum(profit) WHEN 32 THEN sum(profit) END) |
| | group by: CASE valid_tid(32,30,31) WHEN 30 THEN channel WHEN 31 THEN channel WHEN 32 THEN NULL END, CASE valid_tid(32,30,31) WHEN 30 THEN id WHEN 31 THEN NULL WHEN 32 THEN NULL END, CASE valid_tid(32,30,31) WHEN 30 THEN 30 WHEN 31 THEN 31 WHEN 32 THEN 32 END |
| | row-size=68B cardinality=82 |
| | |
| 36:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: channel, id |
| | Class 1 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: channel, NULL |
| | Class 2 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: NULL, NULL |
| | row-size=192B cardinality=82 |
| | |
| 00:UNION |
| | row-size=64B cardinality=78 |
| | |
| |--35:HASH JOIN [LEFT OUTER JOIN] |
| | | hash predicates: wp_web_page_sk = wp_web_page_sk |
| | | row-size=72B cardinality=60 |
| | | |
| | |--34:AGGREGATE [FINALIZE] |
| | | | output: sum(wr_return_amt), sum(wr_net_loss) |
| | | | group by: wp_web_page_sk |
| | | | row-size=36B cardinality=60 |
| | | | |
| | | 33:HASH JOIN [INNER JOIN] |
| | | | hash predicates: wr_web_page_sk = wp_web_page_sk |
| | | | runtime filters: RF016 <- wp_web_page_sk |
| | | | row-size=46B cardinality=71.76K |
| | | | |
| | | |--31:SCAN HDFS [tpcds.web_page] |
| | | | HDFS partitions=1/1 files=1 size=5.64KB |
| | | | row-size=4B cardinality=60 |
| | | | |
| | | 32:HASH JOIN [INNER JOIN] |
| | | | hash predicates: wr_returned_date_sk = d_date_sk |
| | | | runtime filters: RF018 <- d_date_sk |
| | | | row-size=42B cardinality=71.76K |
| | | | |
| | | |--30:SCAN HDFS [tpcds.date_dim] |
| | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | | | row-size=26B cardinality=7.30K |
| | | | |
| | | 29:SCAN HDFS [tpcds.web_returns] |
| | | HDFS partitions=1/1 files=1 size=9.35MB |
| | | runtime filters: RF016 -> wr_web_page_sk, RF018 -> wr_returned_date_sk |
| | | row-size=16B cardinality=71.76K |
| | | |
| | 28:AGGREGATE [FINALIZE] |
| | | output: sum(ws_ext_sales_price), sum(ws_net_profit) |
| | | group by: wp_web_page_sk |
| | | row-size=36B cardinality=60 |
| | | |
| | 27:HASH JOIN [INNER JOIN] |
| | | hash predicates: ws_web_page_sk = wp_web_page_sk |
| | | runtime filters: RF012 <- wp_web_page_sk |
| | | row-size=46B cardinality=719.38K |
| | | |
| | |--25:SCAN HDFS [tpcds.web_page] |
| | | HDFS partitions=1/1 files=1 size=5.64KB |
| | | row-size=4B cardinality=60 |
| | | |
| | 26:HASH JOIN [INNER JOIN] |
| | | hash predicates: ws_sold_date_sk = d_date_sk |
| | | runtime filters: RF014 <- d_date_sk |
| | | row-size=42B cardinality=719.38K |
| | | |
| | |--24:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | | row-size=26B cardinality=7.30K |
| | | |
| | 23:SCAN HDFS [tpcds.web_sales] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | runtime filters: RF012 -> ws_web_page_sk, RF014 -> ws_sold_date_sk |
| | row-size=16B cardinality=719.38K |
| | |
| |--22:NESTED LOOP JOIN [CROSS JOIN] |
| | | row-size=68B cardinality=6 |
| | | |
| | |--21:AGGREGATE [FINALIZE] |
| | | | output: sum(cr_return_amount), sum(cr_net_loss) |
| | | | row-size=32B cardinality=1 |
| | | | |
| | | 20:HASH JOIN [INNER JOIN] |
| | | | hash predicates: cr_returned_date_sk = d_date_sk |
| | | | runtime filters: RF010 <- d_date_sk |
| | | | row-size=38B cardinality=144.07K |
| | | | |
| | | |--19:SCAN HDFS [tpcds.date_dim] |
| | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | | | row-size=26B cardinality=7.30K |
| | | | |
| | | 18:SCAN HDFS [tpcds.catalog_returns] |
| | | HDFS partitions=1/1 files=1 size=20.39MB |
| | | runtime filters: RF010 -> cr_returned_date_sk |
| | | row-size=12B cardinality=144.07K |
| | | |
| | 17:AGGREGATE [FINALIZE] |
| | | output: sum(cs_ext_sales_price), sum(cs_net_profit) |
| | | group by: cs_call_center_sk |
| | | row-size=36B cardinality=6 |
| | | |
| | 16:HASH JOIN [INNER JOIN] |
| | | hash predicates: cs_sold_date_sk = d_date_sk |
| | | runtime filters: RF008 <- d_date_sk |
| | | row-size=42B cardinality=1.44M |
| | | |
| | |--15:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | | row-size=26B cardinality=7.30K |
| | | |
| | 14:SCAN HDFS [tpcds.catalog_sales] |
| | HDFS partitions=1/1 files=1 size=282.20MB |
| | runtime filters: RF008 -> cs_sold_date_sk |
| | row-size=16B cardinality=1.44M |
| | |
| 13:HASH JOIN [LEFT OUTER JOIN] |
| | hash predicates: s_store_sk = s_store_sk |
| | row-size=72B cardinality=12 |
| | |
| |--12:AGGREGATE [FINALIZE] |
| | | output: sum(sr_return_amt), sum(sr_net_loss) |
| | | group by: s_store_sk |
| | | row-size=36B cardinality=12 |
| | | |
| | 11:HASH JOIN [INNER JOIN] |
| | | hash predicates: sr_store_sk = s_store_sk |
| | | runtime filters: RF004 <- s_store_sk |
| | | row-size=46B cardinality=287.51K |
| | | |
| | |--09:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | row-size=4B cardinality=12 |
| | | |
| | 10:HASH JOIN [INNER JOIN] |
| | | hash predicates: sr_returned_date_sk = d_date_sk |
| | | runtime filters: RF006 <- d_date_sk |
| | | row-size=42B cardinality=287.51K |
| | | |
| | |--08:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | | row-size=26B cardinality=7.30K |
| | | |
| | 07:SCAN HDFS [tpcds.store_returns] |
| | HDFS partitions=1/1 files=1 size=31.19MB |
| | runtime filters: RF004 -> sr_store_sk, RF006 -> sr_returned_date_sk |
| | row-size=16B cardinality=287.51K |
| | |
| 06:AGGREGATE [FINALIZE] |
| | output: sum(ss_ext_sales_price), sum(ss_net_profit) |
| | group by: s_store_sk |
| | row-size=36B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=46B cardinality=2.88M |
| | |
| |--03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=4B cardinality=12 |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF002 <- d_date_sk |
| | row-size=42B cardinality=2.88M |
| | |
| |--02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | row-size=26B cardinality=7.30K |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_sold_date_sk |
| row-size=16B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=154.97MB Threads=36 |
| Per-Host Resource Estimates: Memory=1.23GB |
| PLAN-ROOT SINK |
| | |
| 64:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: CASE valid_tid(32,30,31) WHEN 30 THEN channel WHEN 31 THEN channel WHEN 32 THEN NULL END ASC, CASE valid_tid(32,30,31) WHEN 30 THEN id WHEN 31 THEN NULL WHEN 32 THEN NULL END ASC, aggif(valid_tid(32,30,31) IN (30, 31, 32), CASE valid_tid(32,30,31) WHEN 30 THEN sum(sales) WHEN 31 THEN sum(sales) WHEN 32 THEN sum(sales) END) DESC |
| | limit: 100 |
| | |
| 38:TOP-N [LIMIT=100] |
| | order by: CASE valid_tid(32,30,31) WHEN 30 THEN channel WHEN 31 THEN channel WHEN 32 THEN NULL END ASC, CASE valid_tid(32,30,31) WHEN 30 THEN id WHEN 31 THEN NULL WHEN 32 THEN NULL END ASC, aggif(valid_tid(32,30,31) IN (30, 31, 32), CASE valid_tid(32,30,31) WHEN 30 THEN sum(sales) WHEN 31 THEN sum(sales) WHEN 32 THEN sum(sales) END) DESC |
| | row-size=64B cardinality=82 |
| | |
| 37:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(32,30,31) IN (30, 31, 32), CASE valid_tid(32,30,31) WHEN 30 THEN sum(sales) WHEN 31 THEN sum(sales) WHEN 32 THEN sum(sales) END), aggif(valid_tid(32,30,31) IN (30, 31, 32), CASE valid_tid(32,30,31) WHEN 30 THEN sum(`returns`) WHEN 31 THEN sum(`returns`) WHEN 32 THEN sum(`returns`) END), aggif(valid_tid(32,30,31) IN (30, 31, 32), CASE valid_tid(32,30,31) WHEN 30 THEN sum(profit) WHEN 31 THEN sum(profit) WHEN 32 THEN sum(profit) END) |
| | group by: CASE valid_tid(32,30,31) WHEN 30 THEN channel WHEN 31 THEN channel WHEN 32 THEN NULL END, CASE valid_tid(32,30,31) WHEN 30 THEN id WHEN 31 THEN NULL WHEN 32 THEN NULL END, CASE valid_tid(32,30,31) WHEN 30 THEN 30 WHEN 31 THEN 31 WHEN 32 THEN 32 END |
| | row-size=68B cardinality=82 |
| | |
| 63:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: sum:merge(sales), sum:merge(`returns`), sum:merge(profit) |
| | group by: channel, id |
| | Class 1 |
| | output: sum:merge(sales), sum:merge(`returns`), sum:merge(profit) |
| | group by: channel, NULL |
| | Class 2 |
| | output: sum:merge(sales), sum:merge(`returns`), sum:merge(profit) |
| | group by: NULL, NULL |
| | row-size=192B cardinality=82 |
| | |
| 62:EXCHANGE [HASH(CASE valid_tid(32,30,31) WHEN 30 THEN murmur_hash(channel) WHEN 31 THEN murmur_hash(channel) WHEN 32 THEN murmur_hash(NULL) END,CASE valid_tid(32,30,31) WHEN 30 THEN murmur_hash(id) WHEN 31 THEN murmur_hash(NULL) WHEN 32 THEN murmur_hash(NULL) END)] |
| | |
| 36:AGGREGATE [STREAMING] |
| | Class 0 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: channel, id |
| | Class 1 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: channel, NULL |
| | Class 2 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: NULL, NULL |
| | row-size=192B cardinality=82 |
| | |
| 00:UNION |
| | row-size=64B cardinality=78 |
| | |
| |--35:HASH JOIN [LEFT OUTER JOIN, PARTITIONED] |
| | | hash predicates: wp_web_page_sk = wp_web_page_sk |
| | | row-size=72B cardinality=60 |
| | | |
| | |--61:AGGREGATE [FINALIZE] |
| | | | output: sum:merge(wr_return_amt), sum:merge(wr_net_loss) |
| | | | group by: wp_web_page_sk |
| | | | row-size=36B cardinality=60 |
| | | | |
| | | 60:EXCHANGE [HASH(wp_web_page_sk)] |
| | | | |
| | | 34:AGGREGATE [STREAMING] |
| | | | output: sum(wr_return_amt), sum(wr_net_loss) |
| | | | group by: wp_web_page_sk |
| | | | row-size=36B cardinality=60 |
| | | | |
| | | 33:HASH JOIN [INNER JOIN, BROADCAST] |
| | | | hash predicates: wr_web_page_sk = wp_web_page_sk |
| | | | runtime filters: RF016 <- wp_web_page_sk |
| | | | row-size=46B cardinality=71.76K |
| | | | |
| | | |--59:EXCHANGE [BROADCAST] |
| | | | | |
| | | | 31:SCAN HDFS [tpcds.web_page] |
| | | | HDFS partitions=1/1 files=1 size=5.64KB |
| | | | row-size=4B cardinality=60 |
| | | | |
| | | 32:HASH JOIN [INNER JOIN, BROADCAST] |
| | | | hash predicates: wr_returned_date_sk = d_date_sk |
| | | | runtime filters: RF018 <- d_date_sk |
| | | | row-size=42B cardinality=71.76K |
| | | | |
| | | |--58:EXCHANGE [BROADCAST] |
| | | | | |
| | | | 30:SCAN HDFS [tpcds.date_dim] |
| | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | | | row-size=26B cardinality=7.30K |
| | | | |
| | | 29:SCAN HDFS [tpcds.web_returns] |
| | | HDFS partitions=1/1 files=1 size=9.35MB |
| | | runtime filters: RF016 -> wr_web_page_sk, RF018 -> wr_returned_date_sk |
| | | row-size=16B cardinality=71.76K |
| | | |
| | 57:AGGREGATE [FINALIZE] |
| | | output: sum:merge(ws_ext_sales_price), sum:merge(ws_net_profit) |
| | | group by: wp_web_page_sk |
| | | row-size=36B cardinality=60 |
| | | |
| | 56:EXCHANGE [HASH(wp_web_page_sk)] |
| | | |
| | 28:AGGREGATE [STREAMING] |
| | | output: sum(ws_ext_sales_price), sum(ws_net_profit) |
| | | group by: wp_web_page_sk |
| | | row-size=36B cardinality=60 |
| | | |
| | 27:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ws_web_page_sk = wp_web_page_sk |
| | | runtime filters: RF012 <- wp_web_page_sk |
| | | row-size=46B cardinality=719.38K |
| | | |
| | |--55:EXCHANGE [BROADCAST] |
| | | | |
| | | 25:SCAN HDFS [tpcds.web_page] |
| | | HDFS partitions=1/1 files=1 size=5.64KB |
| | | row-size=4B cardinality=60 |
| | | |
| | 26:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ws_sold_date_sk = d_date_sk |
| | | runtime filters: RF014 <- d_date_sk |
| | | row-size=42B cardinality=719.38K |
| | | |
| | |--54:EXCHANGE [BROADCAST] |
| | | | |
| | | 24:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | | row-size=26B cardinality=7.30K |
| | | |
| | 23:SCAN HDFS [tpcds.web_sales] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | runtime filters: RF012 -> ws_web_page_sk, RF014 -> ws_sold_date_sk |
| | row-size=16B cardinality=719.38K |
| | |
| |--22:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | | row-size=68B cardinality=6 |
| | | |
| | |--53:EXCHANGE [BROADCAST] |
| | | | |
| | | 52:AGGREGATE [FINALIZE] |
| | | | output: sum:merge(cr_return_amount), sum:merge(cr_net_loss) |
| | | | row-size=32B cardinality=1 |
| | | | |
| | | 51:EXCHANGE [UNPARTITIONED] |
| | | | |
| | | 21:AGGREGATE |
| | | | output: sum(cr_return_amount), sum(cr_net_loss) |
| | | | row-size=32B cardinality=1 |
| | | | |
| | | 20:HASH JOIN [INNER JOIN, BROADCAST] |
| | | | hash predicates: cr_returned_date_sk = d_date_sk |
| | | | runtime filters: RF010 <- d_date_sk |
| | | | row-size=38B cardinality=144.07K |
| | | | |
| | | |--50:EXCHANGE [BROADCAST] |
| | | | | |
| | | | 19:SCAN HDFS [tpcds.date_dim] |
| | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | | | row-size=26B cardinality=7.30K |
| | | | |
| | | 18:SCAN HDFS [tpcds.catalog_returns] |
| | | HDFS partitions=1/1 files=1 size=20.39MB |
| | | runtime filters: RF010 -> cr_returned_date_sk |
| | | row-size=12B cardinality=144.07K |
| | | |
| | 49:AGGREGATE [FINALIZE] |
| | | output: sum:merge(cs_ext_sales_price), sum:merge(cs_net_profit) |
| | | group by: cs_call_center_sk |
| | | row-size=36B cardinality=6 |
| | | |
| | 48:EXCHANGE [HASH(cs_call_center_sk)] |
| | | |
| | 17:AGGREGATE [STREAMING] |
| | | output: sum(cs_ext_sales_price), sum(cs_net_profit) |
| | | group by: cs_call_center_sk |
| | | row-size=36B cardinality=6 |
| | | |
| | 16:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: cs_sold_date_sk = d_date_sk |
| | | runtime filters: RF008 <- d_date_sk |
| | | row-size=42B cardinality=1.44M |
| | | |
| | |--47:EXCHANGE [BROADCAST] |
| | | | |
| | | 15:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | | row-size=26B cardinality=7.30K |
| | | |
| | 14:SCAN HDFS [tpcds.catalog_sales] |
| | HDFS partitions=1/1 files=1 size=282.20MB |
| | runtime filters: RF008 -> cs_sold_date_sk |
| | row-size=16B cardinality=1.44M |
| | |
| 13:HASH JOIN [LEFT OUTER JOIN, PARTITIONED] |
| | hash predicates: s_store_sk = s_store_sk |
| | row-size=72B cardinality=12 |
| | |
| |--46:AGGREGATE [FINALIZE] |
| | | output: sum:merge(sr_return_amt), sum:merge(sr_net_loss) |
| | | group by: s_store_sk |
| | | row-size=36B cardinality=12 |
| | | |
| | 45:EXCHANGE [HASH(s_store_sk)] |
| | | |
| | 12:AGGREGATE [STREAMING] |
| | | output: sum(sr_return_amt), sum(sr_net_loss) |
| | | group by: s_store_sk |
| | | row-size=36B cardinality=12 |
| | | |
| | 11:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: sr_store_sk = s_store_sk |
| | | runtime filters: RF004 <- s_store_sk |
| | | row-size=46B cardinality=287.51K |
| | | |
| | |--44:EXCHANGE [BROADCAST] |
| | | | |
| | | 09:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | row-size=4B cardinality=12 |
| | | |
| | 10:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: sr_returned_date_sk = d_date_sk |
| | | runtime filters: RF006 <- d_date_sk |
| | | row-size=42B cardinality=287.51K |
| | | |
| | |--43:EXCHANGE [BROADCAST] |
| | | | |
| | | 08:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | | row-size=26B cardinality=7.30K |
| | | |
| | 07:SCAN HDFS [tpcds.store_returns] |
| | HDFS partitions=1/1 files=1 size=31.19MB |
| | runtime filters: RF004 -> sr_store_sk, RF006 -> sr_returned_date_sk |
| | row-size=16B cardinality=287.51K |
| | |
| 42:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price), sum:merge(ss_net_profit) |
| | group by: s_store_sk |
| | row-size=36B cardinality=12 |
| | |
| 41:EXCHANGE [HASH(s_store_sk)] |
| | |
| 06:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price), sum(ss_net_profit) |
| | group by: s_store_sk |
| | row-size=36B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=46B cardinality=2.88M |
| | |
| |--40:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=4B cardinality=12 |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF002 <- d_date_sk |
| | row-size=42B cardinality=2.88M |
| | |
| |--39:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | row-size=26B cardinality=7.30K |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_sold_date_sk |
| row-size=16B cardinality=2.88M |
| ==== |
| # TPCDS-Q70 |
| select |
| sum(ss_net_profit) as total_sum |
| ,s_state |
| ,s_county |
| ,grouping(s_state)+grouping(s_county) as lochierarchy |
| ,rank() over ( |
| partition by grouping(s_state)+grouping(s_county), |
| case when grouping(s_county) = 0 then s_state end |
| order by sum(ss_net_profit) desc) as rank_within_parent |
| from |
| store_sales |
| ,date_dim d1 |
| ,store |
| where |
| d1.d_month_seq between 1212 and 1212+11 |
| and d1.d_date_sk = ss_sold_date_sk |
| and s_store_sk = ss_store_sk |
| and s_state in |
| ( select s_state |
| from (select s_state as s_state, |
| rank() over ( partition by s_state order by sum(ss_net_profit) desc) as ranking |
| from store_sales, store, date_dim |
| where d_month_seq between 1212 and 1212+11 |
| and d_date_sk = ss_sold_date_sk |
| and s_store_sk = ss_store_sk |
| group by s_state |
| ) tmp1 |
| where ranking <= 5 |
| ) |
| group by rollup(s_state,s_county) |
| order by |
| lochierarchy desc |
| -- Modified from original because Impala does not allow aliases within order by |
| -- expressions, except at the top level. |
| ,case when grouping(s_state)+grouping(s_county) = 0 then s_state end |
| ,rank_within_parent |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=52.77MB Threads=7 |
| Per-Host Resource Estimates: Memory=437MB |
| PLAN-ROOT SINK |
| | |
| 19:TOP-N [LIMIT=100] |
| | order by: aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 0 WHEN 13 THEN 1 END) + aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END) DESC, CASE WHEN aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 0 WHEN 13 THEN 1 END) + aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END) = 0 THEN CASE valid_tid(11,12,13) WHEN 11 THEN s_state WHEN 12 THEN s_state WHEN 13 THEN NULL END END ASC, rank() ASC |
| | row-size=50B cardinality=3 |
| | |
| 18:ANALYTIC |
| | functions: rank() |
| | partition by: aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 0 WHEN 13 THEN 1 END) + aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END), CASE WHEN aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END) = 0 THEN CASE valid_tid(11,12,13) WHEN 11 THEN s_state WHEN 12 THEN s_state WHEN 13 THEN NULL END END |
| | order by: aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN sum(ss_net_profit) WHEN 12 THEN sum(ss_net_profit) WHEN 13 THEN sum(ss_net_profit) END) DESC |
| | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | row-size=54B cardinality=3 |
| | |
| 17:SORT |
| | order by: aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 0 WHEN 13 THEN 1 END) + aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END) ASC NULLS LAST, CASE WHEN aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END) = 0 THEN CASE valid_tid(11,12,13) WHEN 11 THEN s_state WHEN 12 THEN s_state WHEN 13 THEN NULL END END ASC NULLS LAST, aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN sum(ss_net_profit) WHEN 12 THEN sum(ss_net_profit) WHEN 13 THEN sum(ss_net_profit) END) DESC |
| | row-size=46B cardinality=3 |
| | |
| 16:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN sum(ss_net_profit) WHEN 12 THEN sum(ss_net_profit) WHEN 13 THEN sum(ss_net_profit) END), aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 0 WHEN 13 THEN 1 END), aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END) |
| | group by: CASE valid_tid(11,12,13) WHEN 11 THEN s_state WHEN 12 THEN s_state WHEN 13 THEN NULL END, CASE valid_tid(11,12,13) WHEN 11 THEN s_county WHEN 12 THEN NULL WHEN 13 THEN NULL END, CASE valid_tid(11,12,13) WHEN 11 THEN 11 WHEN 12 THEN 12 WHEN 13 THEN 13 END |
| | row-size=46B cardinality=3 |
| | |
| 15:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: sum(ss_net_profit) |
| | group by: s_state, s_county |
| | Class 1 |
| | output: sum(ss_net_profit) |
| | group by: s_state, NULL |
| | Class 2 |
| | output: sum(ss_net_profit) |
| | group by: NULL, NULL |
| | row-size=141B cardinality=3 |
| | |
| 14:HASH JOIN [LEFT SEMI JOIN] |
| | hash predicates: s_state = s_state |
| | runtime filters: RF000 <- s_state |
| | row-size=67B cardinality=2.88M |
| | |
| |--11:SELECT |
| | | predicates: rank() <= 5 |
| | | row-size=38B cardinality=1 |
| | | |
| | 10:ANALYTIC |
| | | functions: rank() |
| | | partition by: s_state |
| | | order by: sum(ss_net_profit) DESC |
| | | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | | row-size=38B cardinality=1 |
| | | |
| | 09:SORT |
| | | order by: s_state ASC NULLS LAST, sum(ss_net_profit) DESC |
| | | row-size=30B cardinality=1 |
| | | |
| | 08:AGGREGATE [FINALIZE] |
| | | output: sum(ss_net_profit) |
| | | group by: s_state |
| | | row-size=30B cardinality=1 |
| | | |
| | 07:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | runtime filters: RF006 <- d_date_sk |
| | | row-size=38B cardinality=2.88M |
| | | |
| | |--05:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_month_seq <= 1223, d_month_seq >= 1212 |
| | | row-size=8B cardinality=7.30K |
| | | |
| | 06:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | runtime filters: RF008 <- s_store_sk |
| | | row-size=30B cardinality=2.88M |
| | | |
| | |--04:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | row-size=18B cardinality=12 |
| | | |
| | 03:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF006 -> ss_sold_date_sk, RF008 -> ss_store_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 13:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF002 <- s_store_sk |
| | row-size=67B cardinality=2.88M |
| | |
| |--02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | runtime filters: RF000 -> s_state |
| | row-size=47B cardinality=12 |
| | |
| 12:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d1.d_date_sk |
| | runtime filters: RF004 <- d1.d_date_sk |
| | row-size=20B cardinality=2.88M |
| | |
| |--01:SCAN HDFS [tpcds.date_dim d1] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d1.d_month_seq <= 1223, d1.d_month_seq >= 1212 |
| | row-size=8B cardinality=7.30K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF002 -> ss_store_sk, RF004 -> ss_sold_date_sk |
| row-size=12B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=97.39MB Threads=16 |
| Per-Host Resource Estimates: Memory=554MB |
| PLAN-ROOT SINK |
| | |
| 30:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 0 WHEN 13 THEN 1 END) + aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END) DESC, CASE WHEN aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 0 WHEN 13 THEN 1 END) + aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END) = 0 THEN CASE valid_tid(11,12,13) WHEN 11 THEN s_state WHEN 12 THEN s_state WHEN 13 THEN NULL END END ASC, rank() ASC |
| | limit: 100 |
| | |
| 19:TOP-N [LIMIT=100] |
| | order by: aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 0 WHEN 13 THEN 1 END) + aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END) DESC, CASE WHEN aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 0 WHEN 13 THEN 1 END) + aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END) = 0 THEN CASE valid_tid(11,12,13) WHEN 11 THEN s_state WHEN 12 THEN s_state WHEN 13 THEN NULL END END ASC, rank() ASC |
| | row-size=50B cardinality=3 |
| | |
| 18:ANALYTIC |
| | functions: rank() |
| | partition by: aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 0 WHEN 13 THEN 1 END) + aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END), CASE WHEN aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END) = 0 THEN CASE valid_tid(11,12,13) WHEN 11 THEN s_state WHEN 12 THEN s_state WHEN 13 THEN NULL END END |
| | order by: aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN sum(ss_net_profit) WHEN 12 THEN sum(ss_net_profit) WHEN 13 THEN sum(ss_net_profit) END) DESC |
| | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | row-size=54B cardinality=3 |
| | |
| 17:SORT |
| | order by: aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 0 WHEN 13 THEN 1 END) + aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END) ASC NULLS LAST, CASE WHEN aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END) = 0 THEN CASE valid_tid(11,12,13) WHEN 11 THEN s_state WHEN 12 THEN s_state WHEN 13 THEN NULL END END ASC NULLS LAST, aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN sum(ss_net_profit) WHEN 12 THEN sum(ss_net_profit) WHEN 13 THEN sum(ss_net_profit) END) DESC |
| | row-size=46B cardinality=3 |
| | |
| 29:EXCHANGE [HASH(aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 0 WHEN 13 THEN 1 END) + aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END),CASE WHEN aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END) = 0 THEN CASE valid_tid(11,12,13) WHEN 11 THEN s_state WHEN 12 THEN s_state WHEN 13 THEN NULL END END)] |
| | |
| 16:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN sum(ss_net_profit) WHEN 12 THEN sum(ss_net_profit) WHEN 13 THEN sum(ss_net_profit) END), aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 0 WHEN 13 THEN 1 END), aggif(valid_tid(11,12,13) IN (11, 12, 13), CASE valid_tid(11,12,13) WHEN 11 THEN 0 WHEN 12 THEN 1 WHEN 13 THEN 1 END) |
| | group by: CASE valid_tid(11,12,13) WHEN 11 THEN s_state WHEN 12 THEN s_state WHEN 13 THEN NULL END, CASE valid_tid(11,12,13) WHEN 11 THEN s_county WHEN 12 THEN NULL WHEN 13 THEN NULL END, CASE valid_tid(11,12,13) WHEN 11 THEN 11 WHEN 12 THEN 12 WHEN 13 THEN 13 END |
| | row-size=46B cardinality=3 |
| | |
| 28:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: sum:merge(ss_net_profit) |
| | group by: s_state, s_county |
| | Class 1 |
| | output: sum:merge(ss_net_profit) |
| | group by: s_state, NULL |
| | Class 2 |
| | output: sum:merge(ss_net_profit) |
| | group by: NULL, NULL |
| | row-size=141B cardinality=3 |
| | |
| 27:EXCHANGE [HASH(CASE valid_tid(11,12,13) WHEN 11 THEN murmur_hash(s_state) WHEN 12 THEN murmur_hash(s_state) WHEN 13 THEN murmur_hash(NULL) END,CASE valid_tid(11,12,13) WHEN 11 THEN murmur_hash(s_county) WHEN 12 THEN murmur_hash(NULL) WHEN 13 THEN murmur_hash(NULL) END)] |
| | |
| 15:AGGREGATE [STREAMING] |
| | Class 0 |
| | output: sum(ss_net_profit) |
| | group by: s_state, s_county |
| | Class 1 |
| | output: sum(ss_net_profit) |
| | group by: s_state, NULL |
| | Class 2 |
| | output: sum(ss_net_profit) |
| | group by: NULL, NULL |
| | row-size=141B cardinality=3 |
| | |
| 14:HASH JOIN [LEFT SEMI JOIN, BROADCAST] |
| | hash predicates: s_state = s_state |
| | runtime filters: RF000 <- s_state |
| | row-size=67B cardinality=2.88M |
| | |
| |--26:EXCHANGE [BROADCAST] |
| | | |
| | 11:SELECT |
| | | predicates: rank() <= 5 |
| | | row-size=38B cardinality=1 |
| | | |
| | 10:ANALYTIC |
| | | functions: rank() |
| | | partition by: s_state |
| | | order by: sum(ss_net_profit) DESC |
| | | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | | row-size=38B cardinality=1 |
| | | |
| | 09:SORT |
| | | order by: s_state ASC NULLS LAST, sum(ss_net_profit) DESC |
| | | row-size=30B cardinality=1 |
| | | |
| | 25:AGGREGATE [FINALIZE] |
| | | output: sum:merge(ss_net_profit) |
| | | group by: s_state |
| | | row-size=30B cardinality=1 |
| | | |
| | 24:EXCHANGE [HASH(s_state)] |
| | | |
| | 08:AGGREGATE [STREAMING] |
| | | output: sum(ss_net_profit) |
| | | group by: s_state |
| | | row-size=30B cardinality=1 |
| | | |
| | 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | runtime filters: RF006 <- d_date_sk |
| | | row-size=38B cardinality=2.88M |
| | | |
| | |--23:EXCHANGE [BROADCAST] |
| | | | |
| | | 05:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_month_seq <= 1223, d_month_seq >= 1212 |
| | | row-size=8B cardinality=7.30K |
| | | |
| | 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_store_sk = s_store_sk |
| | | runtime filters: RF008 <- s_store_sk |
| | | row-size=30B cardinality=2.88M |
| | | |
| | |--22:EXCHANGE [BROADCAST] |
| | | | |
| | | 04:SCAN HDFS [tpcds.store] |
| | | HDFS partitions=1/1 files=1 size=3.08KB |
| | | row-size=18B cardinality=12 |
| | | |
| | 03:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF006 -> ss_sold_date_sk, RF008 -> ss_store_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 13:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF002 <- s_store_sk |
| | row-size=67B cardinality=2.88M |
| | |
| |--21:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | runtime filters: RF000 -> s_state |
| | row-size=47B cardinality=12 |
| | |
| 12:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d1.d_date_sk |
| | runtime filters: RF004 <- d1.d_date_sk |
| | row-size=20B cardinality=2.88M |
| | |
| |--20:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim d1] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d1.d_month_seq <= 1223, d1.d_month_seq >= 1212 |
| | row-size=8B cardinality=7.30K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF002 -> ss_store_sk, RF004 -> ss_sold_date_sk |
| row-size=12B cardinality=2.88M |
| ==== |
| # TPCDS-Q80 |
| with ssr as |
| (select s_store_id as store_id, |
| sum(ss_ext_sales_price) as sales, |
| sum(coalesce(sr_return_amt, 0)) as `returns`, |
| sum(ss_net_profit - coalesce(sr_net_loss, 0)) as profit |
| from store_sales left outer join store_returns on |
| (ss_item_sk = sr_item_sk and ss_ticket_number = sr_ticket_number), |
| date_dim, |
| store, |
| item, |
| promotion |
| where ss_sold_date_sk = d_date_sk |
| and d_date between cast('1998-08-04' as date) |
| and (cast('1998-08-04' as date) + interval 30 days) |
| and ss_store_sk = s_store_sk |
| and ss_item_sk = i_item_sk |
| and i_current_price > 50 |
| and ss_promo_sk = p_promo_sk |
| and p_channel_tv = 'N' |
| group by s_store_id) |
| , |
| csr as |
| (select cp_catalog_page_id as catalog_page_id, |
| sum(cs_ext_sales_price) as sales, |
| sum(coalesce(cr_return_amount, 0)) as `returns`, |
| sum(cs_net_profit - coalesce(cr_net_loss, 0)) as profit |
| from catalog_sales left outer join catalog_returns on |
| (cs_item_sk = cr_item_sk and cs_order_number = cr_order_number), |
| date_dim, |
| catalog_page, |
| item, |
| promotion |
| where cs_sold_date_sk = d_date_sk |
| and d_date between cast('1998-08-04' as date) |
| and (cast('1998-08-04' as date) + interval 30 days) |
| and cs_catalog_page_sk = cp_catalog_page_sk |
| and cs_item_sk = i_item_sk |
| and i_current_price > 50 |
| and cs_promo_sk = p_promo_sk |
| and p_channel_tv = 'N' |
| group by cp_catalog_page_id) |
| , |
| wsr as |
| (select web_site_id, |
| sum(ws_ext_sales_price) as sales, |
| sum(coalesce(wr_return_amt, 0)) as `returns`, |
| sum(ws_net_profit - coalesce(wr_net_loss, 0)) as profit |
| from web_sales left outer join web_returns on |
| (ws_item_sk = wr_item_sk and ws_order_number = wr_order_number), |
| date_dim, |
| web_site, |
| item, |
| promotion |
| where ws_sold_date_sk = d_date_sk |
| and d_date between cast('1998-08-04' as date) |
| and (cast('1998-08-04' as date) + interval 30 days) |
| and ws_web_site_sk = web_site_sk |
| and ws_item_sk = i_item_sk |
| and i_current_price > 50 |
| and ws_promo_sk = p_promo_sk |
| and p_channel_tv = 'N' |
| group by web_site_id) |
| select channel |
| , id |
| , sum(sales) as sales |
| , sum(`returns`) as `returns` |
| , sum(profit) as profit |
| from |
| (select 'store channel' as channel |
| , 'store' || store_id as id |
| , sales |
| , `returns` |
| , profit |
| from ssr |
| union all |
| select 'catalog channel' as channel |
| , 'catalog_page' || catalog_page_id as id |
| , sales |
| , `returns` |
| , profit |
| from csr |
| union all |
| select 'web channel' as channel |
| , 'web_site' || web_site_id as id |
| , sales |
| , `returns` |
| , profit |
| from wsr |
| ) x |
| group by rollup (channel, id) |
| order by channel |
| ,id |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=66.95MB Threads=7 |
| Per-Host Resource Estimates: Memory=436MB |
| PLAN-ROOT SINK |
| | |
| 39:TOP-N [LIMIT=100] |
| | order by: CASE valid_tid(26,27,28) WHEN 26 THEN channel WHEN 27 THEN channel WHEN 28 THEN NULL END ASC, CASE valid_tid(26,27,28) WHEN 26 THEN id WHEN 27 THEN NULL WHEN 28 THEN NULL END ASC |
| | row-size=72B cardinality=100 |
| | |
| 38:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(26,27,28) IN (26, 27, 28), CASE valid_tid(26,27,28) WHEN 26 THEN sum(sales) WHEN 27 THEN sum(sales) WHEN 28 THEN sum(sales) END), aggif(valid_tid(26,27,28) IN (26, 27, 28), CASE valid_tid(26,27,28) WHEN 26 THEN sum(`returns`) WHEN 27 THEN sum(`returns`) WHEN 28 THEN sum(`returns`) END), aggif(valid_tid(26,27,28) IN (26, 27, 28), CASE valid_tid(26,27,28) WHEN 26 THEN sum(profit) WHEN 27 THEN sum(profit) WHEN 28 THEN sum(profit) END) |
| | group by: CASE valid_tid(26,27,28) WHEN 26 THEN channel WHEN 27 THEN channel WHEN 28 THEN NULL END, CASE valid_tid(26,27,28) WHEN 26 THEN id WHEN 27 THEN NULL WHEN 28 THEN NULL END, CASE valid_tid(26,27,28) WHEN 26 THEN 26 WHEN 27 THEN 27 WHEN 28 THEN 28 END |
| | row-size=76B cardinality=11.56K |
| | |
| 37:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: channel, id |
| | Class 1 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: channel, NULL |
| | Class 2 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: NULL, NULL |
| | row-size=216B cardinality=11.56K |
| | |
| 00:UNION |
| | row-size=72B cardinality=11.56K |
| | |
| |--36:AGGREGATE [FINALIZE] |
| | | output: sum(ws_ext_sales_price), sum(coalesce(wr_return_amt, 0)), sum(ws_net_profit - coalesce(wr_net_loss, 0)) |
| | | group by: web_site_id |
| | | row-size=76B cardinality=15 |
| | | |
| | 35:HASH JOIN [INNER JOIN] |
| | | hash predicates: ws_web_site_sk = web_site_sk |
| | | row-size=147B cardinality=71.46K |
| | | |
| | |--28:SCAN HDFS [tpcds.web_site] |
| | | HDFS partitions=1/1 files=1 size=8.57KB |
| | | row-size=32B cardinality=30 |
| | | |
| | 34:HASH JOIN [INNER JOIN] |
| | | hash predicates: ws_sold_date_sk = d_date_sk |
| | | row-size=115B cardinality=71.46K |
| | | |
| | |--27:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | | row-size=26B cardinality=7.30K |
| | | |
| | 33:HASH JOIN [INNER JOIN] |
| | | hash predicates: ws_promo_sk = p_promo_sk |
| | | runtime filters: RF020 <- p_promo_sk |
| | | row-size=89B cardinality=71.46K |
| | | |
| | |--30:SCAN HDFS [tpcds.promotion] |
| | | HDFS partitions=1/1 files=1 size=36.36KB |
| | | predicates: p_channel_tv = 'N' |
| | | row-size=17B cardinality=300 |
| | | |
| | 32:HASH JOIN [INNER JOIN] |
| | | hash predicates: ws_item_sk = i_item_sk |
| | | runtime filters: RF022 <- i_item_sk |
| | | row-size=72B cardinality=71.94K |
| | | |
| | |--29:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | predicates: i_current_price > 50 |
| | | row-size=12B cardinality=1.80K |
| | | |
| | 31:HASH JOIN [LEFT OUTER JOIN] |
| | | hash predicates: ws_item_sk = wr_item_sk, ws_order_number = wr_order_number |
| | | row-size=60B cardinality=719.38K |
| | | |
| | |--26:SCAN HDFS [tpcds.web_returns] |
| | | HDFS partitions=1/1 files=1 size=9.35MB |
| | | runtime filters: RF022 -> tpcds.web_returns.wr_item_sk |
| | | row-size=24B cardinality=71.76K |
| | | |
| | 25:SCAN HDFS [tpcds.web_sales] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | runtime filters: RF022 -> ws_item_sk, RF020 -> ws_promo_sk |
| | row-size=36B cardinality=719.38K |
| | |
| |--24:AGGREGATE [FINALIZE] |
| | | output: sum(cs_ext_sales_price), sum(coalesce(cr_return_amount, 0)), sum(cs_net_profit - coalesce(cr_net_loss, 0)) |
| | | group by: cp_catalog_page_id |
| | | row-size=76B cardinality=11.54K |
| | | |
| | 23:HASH JOIN [INNER JOIN] |
| | | hash predicates: cs_catalog_page_sk = cp_catalog_page_sk |
| | | runtime filters: RF008 <- cp_catalog_page_sk |
| | | row-size=147B cardinality=143.20K |
| | | |
| | |--16:SCAN HDFS [tpcds.catalog_page] |
| | | HDFS partitions=1/1 files=1 size=1.56MB |
| | | row-size=32B cardinality=11.72K |
| | | |
| | 22:HASH JOIN [INNER JOIN] |
| | | hash predicates: cs_sold_date_sk = d_date_sk |
| | | runtime filters: RF010 <- d_date_sk |
| | | row-size=115B cardinality=143.20K |
| | | |
| | |--15:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | | row-size=26B cardinality=7.30K |
| | | |
| | 21:HASH JOIN [INNER JOIN] |
| | | hash predicates: cs_promo_sk = p_promo_sk |
| | | runtime filters: RF012 <- p_promo_sk |
| | | row-size=89B cardinality=143.20K |
| | | |
| | |--18:SCAN HDFS [tpcds.promotion] |
| | | HDFS partitions=1/1 files=1 size=36.36KB |
| | | predicates: p_channel_tv = 'N' |
| | | row-size=17B cardinality=300 |
| | | |
| | 20:HASH JOIN [INNER JOIN] |
| | | hash predicates: cs_item_sk = i_item_sk |
| | | runtime filters: RF014 <- i_item_sk |
| | | row-size=72B cardinality=144.16K |
| | | |
| | |--17:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | predicates: i_current_price > 50 |
| | | row-size=12B cardinality=1.80K |
| | | |
| | 19:HASH JOIN [LEFT OUTER JOIN] |
| | | hash predicates: cs_item_sk = cr_item_sk, cs_order_number = cr_order_number |
| | | row-size=60B cardinality=1.44M |
| | | |
| | |--14:SCAN HDFS [tpcds.catalog_returns] |
| | | HDFS partitions=1/1 files=1 size=20.39MB |
| | | runtime filters: RF014 -> tpcds.catalog_returns.cr_item_sk |
| | | row-size=24B cardinality=144.07K |
| | | |
| | 13:SCAN HDFS [tpcds.catalog_sales] |
| | HDFS partitions=1/1 files=1 size=282.20MB |
| | runtime filters: RF014 -> cs_item_sk, RF012 -> cs_promo_sk, RF008 -> cs_catalog_page_sk, RF010 -> cs_sold_date_sk |
| | row-size=36B cardinality=1.44M |
| | |
| 12:AGGREGATE [FINALIZE] |
| | output: sum(ss_ext_sales_price), sum(coalesce(sr_return_amt, 0)), sum(ss_net_profit - coalesce(sr_net_loss, 0)) |
| | group by: s_store_id |
| | row-size=76B cardinality=6 |
| | |
| 11:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=147B cardinality=286.13K |
| | |
| |--04:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=32B cardinality=12 |
| | |
| 10:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF002 <- d_date_sk |
| | row-size=115B cardinality=286.13K |
| | |
| |--03:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | row-size=26B cardinality=7.30K |
| | |
| 09:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_promo_sk = p_promo_sk |
| | runtime filters: RF004 <- p_promo_sk |
| | row-size=89B cardinality=286.13K |
| | |
| |--06:SCAN HDFS [tpcds.promotion] |
| | HDFS partitions=1/1 files=1 size=36.36KB |
| | predicates: p_channel_tv = 'N' |
| | row-size=17B cardinality=300 |
| | |
| 08:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF006 <- i_item_sk |
| | row-size=72B cardinality=288.04K |
| | |
| |--05:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_current_price > 50 |
| | row-size=12B cardinality=1.80K |
| | |
| 07:HASH JOIN [LEFT OUTER JOIN] |
| | hash predicates: ss_item_sk = sr_item_sk, ss_ticket_number = sr_ticket_number |
| | row-size=60B cardinality=2.88M |
| | |
| |--02:SCAN HDFS [tpcds.store_returns] |
| | HDFS partitions=1/1 files=1 size=31.19MB |
| | runtime filters: RF006 -> tpcds.store_returns.sr_item_sk |
| | row-size=24B cardinality=287.51K |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF006 -> ss_item_sk, RF004 -> ss_promo_sk, RF000 -> ss_store_sk, RF002 -> ss_sold_date_sk |
| row-size=36B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=174.21MB Threads=39 |
| Per-Host Resource Estimates: Memory=1.23GB |
| PLAN-ROOT SINK |
| | |
| 63:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: CASE valid_tid(26,27,28) WHEN 26 THEN channel WHEN 27 THEN channel WHEN 28 THEN NULL END ASC, CASE valid_tid(26,27,28) WHEN 26 THEN id WHEN 27 THEN NULL WHEN 28 THEN NULL END ASC |
| | limit: 100 |
| | |
| 39:TOP-N [LIMIT=100] |
| | order by: CASE valid_tid(26,27,28) WHEN 26 THEN channel WHEN 27 THEN channel WHEN 28 THEN NULL END ASC, CASE valid_tid(26,27,28) WHEN 26 THEN id WHEN 27 THEN NULL WHEN 28 THEN NULL END ASC |
| | row-size=72B cardinality=100 |
| | |
| 38:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(26,27,28) IN (26, 27, 28), CASE valid_tid(26,27,28) WHEN 26 THEN sum(sales) WHEN 27 THEN sum(sales) WHEN 28 THEN sum(sales) END), aggif(valid_tid(26,27,28) IN (26, 27, 28), CASE valid_tid(26,27,28) WHEN 26 THEN sum(`returns`) WHEN 27 THEN sum(`returns`) WHEN 28 THEN sum(`returns`) END), aggif(valid_tid(26,27,28) IN (26, 27, 28), CASE valid_tid(26,27,28) WHEN 26 THEN sum(profit) WHEN 27 THEN sum(profit) WHEN 28 THEN sum(profit) END) |
| | group by: CASE valid_tid(26,27,28) WHEN 26 THEN channel WHEN 27 THEN channel WHEN 28 THEN NULL END, CASE valid_tid(26,27,28) WHEN 26 THEN id WHEN 27 THEN NULL WHEN 28 THEN NULL END, CASE valid_tid(26,27,28) WHEN 26 THEN 26 WHEN 27 THEN 27 WHEN 28 THEN 28 END |
| | row-size=76B cardinality=11.56K |
| | |
| 62:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: sum:merge(sales), sum:merge(`returns`), sum:merge(profit) |
| | group by: channel, id |
| | Class 1 |
| | output: sum:merge(sales), sum:merge(`returns`), sum:merge(profit) |
| | group by: channel, NULL |
| | Class 2 |
| | output: sum:merge(sales), sum:merge(`returns`), sum:merge(profit) |
| | group by: NULL, NULL |
| | row-size=216B cardinality=11.56K |
| | |
| 61:EXCHANGE [HASH(CASE valid_tid(26,27,28) WHEN 26 THEN murmur_hash(channel) WHEN 27 THEN murmur_hash(channel) WHEN 28 THEN murmur_hash(NULL) END,CASE valid_tid(26,27,28) WHEN 26 THEN murmur_hash(id) WHEN 27 THEN murmur_hash(NULL) WHEN 28 THEN murmur_hash(NULL) END)] |
| | |
| 37:AGGREGATE [STREAMING] |
| | Class 0 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: channel, id |
| | Class 1 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: channel, NULL |
| | Class 2 |
| | output: sum(sales), sum(returns), sum(profit) |
| | group by: NULL, NULL |
| | row-size=216B cardinality=11.56K |
| | |
| 00:UNION |
| | row-size=72B cardinality=11.56K |
| | |
| |--60:AGGREGATE [FINALIZE] |
| | | output: sum:merge(ws_ext_sales_price), sum:merge(coalesce(wr_return_amt, 0)), sum:merge(ws_net_profit - coalesce(wr_net_loss, 0)) |
| | | group by: web_site_id |
| | | row-size=76B cardinality=15 |
| | | |
| | 59:EXCHANGE [HASH(web_site_id)] |
| | | |
| | 36:AGGREGATE [STREAMING] |
| | | output: sum(ws_ext_sales_price), sum(coalesce(wr_return_amt, 0)), sum(ws_net_profit - coalesce(wr_net_loss, 0)) |
| | | group by: web_site_id |
| | | row-size=76B cardinality=15 |
| | | |
| | 35:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ws_web_site_sk = web_site_sk |
| | | row-size=147B cardinality=71.46K |
| | | |
| | |--58:EXCHANGE [BROADCAST] |
| | | | |
| | | 28:SCAN HDFS [tpcds.web_site] |
| | | HDFS partitions=1/1 files=1 size=8.57KB |
| | | row-size=32B cardinality=30 |
| | | |
| | 34:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ws_sold_date_sk = d_date_sk |
| | | row-size=115B cardinality=71.46K |
| | | |
| | |--57:EXCHANGE [BROADCAST] |
| | | | |
| | | 27:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | | row-size=26B cardinality=7.30K |
| | | |
| | 33:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ws_promo_sk = p_promo_sk |
| | | runtime filters: RF020 <- p_promo_sk |
| | | row-size=89B cardinality=71.46K |
| | | |
| | |--56:EXCHANGE [BROADCAST] |
| | | | |
| | | 30:SCAN HDFS [tpcds.promotion] |
| | | HDFS partitions=1/1 files=1 size=36.36KB |
| | | predicates: p_channel_tv = 'N' |
| | | row-size=17B cardinality=300 |
| | | |
| | 32:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ws_item_sk = i_item_sk |
| | | runtime filters: RF022 <- i_item_sk |
| | | row-size=72B cardinality=71.94K |
| | | |
| | |--55:EXCHANGE [BROADCAST] |
| | | | |
| | | 29:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | predicates: i_current_price > 50 |
| | | row-size=12B cardinality=1.80K |
| | | |
| | 31:HASH JOIN [LEFT OUTER JOIN, BROADCAST] |
| | | hash predicates: ws_item_sk = wr_item_sk, ws_order_number = wr_order_number |
| | | row-size=60B cardinality=719.38K |
| | | |
| | |--54:EXCHANGE [BROADCAST] |
| | | | |
| | | 26:SCAN HDFS [tpcds.web_returns] |
| | | HDFS partitions=1/1 files=1 size=9.35MB |
| | | runtime filters: RF022 -> tpcds.web_returns.wr_item_sk |
| | | row-size=24B cardinality=71.76K |
| | | |
| | 25:SCAN HDFS [tpcds.web_sales] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | runtime filters: RF022 -> ws_item_sk, RF020 -> ws_promo_sk |
| | row-size=36B cardinality=719.38K |
| | |
| |--53:AGGREGATE [FINALIZE] |
| | | output: sum:merge(cs_ext_sales_price), sum:merge(coalesce(cr_return_amount, 0)), sum:merge(cs_net_profit - coalesce(cr_net_loss, 0)) |
| | | group by: cp_catalog_page_id |
| | | row-size=76B cardinality=11.54K |
| | | |
| | 52:EXCHANGE [HASH(cp_catalog_page_id)] |
| | | |
| | 24:AGGREGATE [STREAMING] |
| | | output: sum(cs_ext_sales_price), sum(coalesce(cr_return_amount, 0)), sum(cs_net_profit - coalesce(cr_net_loss, 0)) |
| | | group by: cp_catalog_page_id |
| | | row-size=76B cardinality=11.54K |
| | | |
| | 23:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: cs_catalog_page_sk = cp_catalog_page_sk |
| | | runtime filters: RF008 <- cp_catalog_page_sk |
| | | row-size=147B cardinality=143.20K |
| | | |
| | |--51:EXCHANGE [BROADCAST] |
| | | | |
| | | 16:SCAN HDFS [tpcds.catalog_page] |
| | | HDFS partitions=1/1 files=1 size=1.56MB |
| | | row-size=32B cardinality=11.72K |
| | | |
| | 22:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: cs_sold_date_sk = d_date_sk |
| | | runtime filters: RF010 <- d_date_sk |
| | | row-size=115B cardinality=143.20K |
| | | |
| | |--50:EXCHANGE [BROADCAST] |
| | | | |
| | | 15:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | | row-size=26B cardinality=7.30K |
| | | |
| | 21:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: cs_promo_sk = p_promo_sk |
| | | runtime filters: RF012 <- p_promo_sk |
| | | row-size=89B cardinality=143.20K |
| | | |
| | |--49:EXCHANGE [BROADCAST] |
| | | | |
| | | 18:SCAN HDFS [tpcds.promotion] |
| | | HDFS partitions=1/1 files=1 size=36.36KB |
| | | predicates: p_channel_tv = 'N' |
| | | row-size=17B cardinality=300 |
| | | |
| | 20:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: cs_item_sk = i_item_sk |
| | | runtime filters: RF014 <- i_item_sk |
| | | row-size=72B cardinality=144.16K |
| | | |
| | |--48:EXCHANGE [BROADCAST] |
| | | | |
| | | 17:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | predicates: i_current_price > 50 |
| | | row-size=12B cardinality=1.80K |
| | | |
| | 19:HASH JOIN [LEFT OUTER JOIN, BROADCAST] |
| | | hash predicates: cs_item_sk = cr_item_sk, cs_order_number = cr_order_number |
| | | row-size=60B cardinality=1.44M |
| | | |
| | |--47:EXCHANGE [BROADCAST] |
| | | | |
| | | 14:SCAN HDFS [tpcds.catalog_returns] |
| | | HDFS partitions=1/1 files=1 size=20.39MB |
| | | runtime filters: RF014 -> tpcds.catalog_returns.cr_item_sk |
| | | row-size=24B cardinality=144.07K |
| | | |
| | 13:SCAN HDFS [tpcds.catalog_sales] |
| | HDFS partitions=1/1 files=1 size=282.20MB |
| | runtime filters: RF014 -> cs_item_sk, RF012 -> cs_promo_sk, RF008 -> cs_catalog_page_sk, RF010 -> cs_sold_date_sk |
| | row-size=36B cardinality=1.44M |
| | |
| 46:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price), sum:merge(coalesce(sr_return_amt, 0)), sum:merge(ss_net_profit - coalesce(sr_net_loss, 0)) |
| | group by: s_store_id |
| | row-size=76B cardinality=6 |
| | |
| 45:EXCHANGE [HASH(s_store_id)] |
| | |
| 12:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price), sum(coalesce(sr_return_amt, 0)), sum(ss_net_profit - coalesce(sr_net_loss, 0)) |
| | group by: s_store_id |
| | row-size=76B cardinality=6 |
| | |
| 11:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=147B cardinality=286.13K |
| | |
| |--44:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | row-size=32B cardinality=12 |
| | |
| 10:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF002 <- d_date_sk |
| | row-size=115B cardinality=286.13K |
| | |
| |--43:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_date <= DATE '1998-09-03', d_date >= DATE '1998-08-04' |
| | row-size=26B cardinality=7.30K |
| | |
| 09:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_promo_sk = p_promo_sk |
| | runtime filters: RF004 <- p_promo_sk |
| | row-size=89B cardinality=286.13K |
| | |
| |--42:EXCHANGE [BROADCAST] |
| | | |
| | 06:SCAN HDFS [tpcds.promotion] |
| | HDFS partitions=1/1 files=1 size=36.36KB |
| | predicates: p_channel_tv = 'N' |
| | row-size=17B cardinality=300 |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF006 <- i_item_sk |
| | row-size=72B cardinality=288.04K |
| | |
| |--41:EXCHANGE [BROADCAST] |
| | | |
| | 05:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_current_price > 50 |
| | row-size=12B cardinality=1.80K |
| | |
| 07:HASH JOIN [LEFT OUTER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = sr_item_sk, ss_ticket_number = sr_ticket_number |
| | row-size=60B cardinality=2.88M |
| | |
| |--40:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.store_returns] |
| | HDFS partitions=1/1 files=1 size=31.19MB |
| | runtime filters: RF006 -> tpcds.store_returns.sr_item_sk |
| | row-size=24B cardinality=287.51K |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF006 -> ss_item_sk, RF004 -> ss_promo_sk, RF000 -> ss_store_sk, RF002 -> ss_sold_date_sk |
| row-size=36B cardinality=2.88M |
| ==== |
| # TPCDS-Q86 |
| select |
| sum(ws_net_paid) as total_sum |
| ,i_category |
| ,i_class |
| ,grouping(i_category)+grouping(i_class) as lochierarchy |
| ,rank() over ( |
| partition by grouping(i_category)+grouping(i_class), |
| case when grouping(i_class) = 0 then i_category end |
| order by sum(ws_net_paid) desc) as rank_within_parent |
| from |
| web_sales |
| ,date_dim d1 |
| ,item |
| where |
| d1.d_month_seq between 1212 and 1212+11 |
| and d1.d_date_sk = ws_sold_date_sk |
| and i_item_sk = ws_item_sk |
| group by rollup(i_category,i_class) |
| order by |
| lochierarchy desc, |
| -- Modified from original because Impala does not allow aliases within order by |
| -- expressions, except at the top level. |
| case when grouping(i_category)+grouping(i_class) = 0 then i_category end, |
| rank_within_parent |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=33.88MB Threads=4 |
| Per-Host Resource Estimates: Memory=250MB |
| PLAN-ROOT SINK |
| | |
| 09:TOP-N [LIMIT=100] |
| | order by: aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 0 WHEN 5 THEN 1 END) + aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END) DESC, CASE WHEN aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 0 WHEN 5 THEN 1 END) + aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END) = 0 THEN CASE valid_tid(3,4,5) WHEN 3 THEN i_category WHEN 4 THEN i_category WHEN 5 THEN NULL END END ASC, rank() ASC |
| | row-size=50B cardinality=100 |
| | |
| 08:ANALYTIC |
| | functions: rank() |
| | partition by: aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 0 WHEN 5 THEN 1 END) + aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END), CASE WHEN aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END) = 0 THEN CASE valid_tid(3,4,5) WHEN 3 THEN i_category WHEN 4 THEN i_category WHEN 5 THEN NULL END END |
| | order by: aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN sum(ws_net_paid) WHEN 4 THEN sum(ws_net_paid) WHEN 5 THEN sum(ws_net_paid) END) DESC |
| | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | row-size=54B cardinality=1.00K |
| | |
| 07:SORT |
| | order by: aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 0 WHEN 5 THEN 1 END) + aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END) ASC NULLS LAST, CASE WHEN aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END) = 0 THEN CASE valid_tid(3,4,5) WHEN 3 THEN i_category WHEN 4 THEN i_category WHEN 5 THEN NULL END END ASC NULLS LAST, aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN sum(ws_net_paid) WHEN 4 THEN sum(ws_net_paid) WHEN 5 THEN sum(ws_net_paid) END) DESC |
| | row-size=46B cardinality=1.00K |
| | |
| 06:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN sum(ws_net_paid) WHEN 4 THEN sum(ws_net_paid) WHEN 5 THEN sum(ws_net_paid) END), aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 0 WHEN 5 THEN 1 END), aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END) |
| | group by: CASE valid_tid(3,4,5) WHEN 3 THEN i_category WHEN 4 THEN i_category WHEN 5 THEN NULL END, CASE valid_tid(3,4,5) WHEN 3 THEN i_class WHEN 4 THEN NULL WHEN 5 THEN NULL END, CASE valid_tid(3,4,5) WHEN 3 THEN 3 WHEN 4 THEN 4 WHEN 5 THEN 5 END |
| | row-size=46B cardinality=1.00K |
| | |
| 05:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: sum(ws_net_paid) |
| | group by: i_category, i_class |
| | Class 1 |
| | output: sum(ws_net_paid) |
| | group by: i_category, NULL |
| | Class 2 |
| | output: sum(ws_net_paid) |
| | group by: NULL, NULL |
| | row-size=140B cardinality=1.00K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: ws_item_sk = i_item_sk |
| | runtime filters: RF000 <- i_item_sk |
| | row-size=70B cardinality=719.38K |
| | |
| |--02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=46B cardinality=18.00K |
| | |
| 03:HASH JOIN [INNER JOIN] |
| | hash predicates: ws_sold_date_sk = d1.d_date_sk |
| | runtime filters: RF002 <- d1.d_date_sk |
| | row-size=24B cardinality=719.38K |
| | |
| |--01:SCAN HDFS [tpcds.date_dim d1] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d1.d_month_seq <= 1223, d1.d_month_seq >= 1212 |
| | row-size=8B cardinality=7.30K |
| | |
| 00:SCAN HDFS [tpcds.web_sales] |
| HDFS partitions=1/1 files=1 size=140.07MB |
| runtime filters: RF000 -> ws_item_sk, RF002 -> ws_sold_date_sk |
| row-size=16B cardinality=719.38K |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=59.62MB Threads=9 |
| Per-Host Resource Estimates: Memory=333MB |
| PLAN-ROOT SINK |
| | |
| 15:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 0 WHEN 5 THEN 1 END) + aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END) DESC, CASE WHEN aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 0 WHEN 5 THEN 1 END) + aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END) = 0 THEN CASE valid_tid(3,4,5) WHEN 3 THEN i_category WHEN 4 THEN i_category WHEN 5 THEN NULL END END ASC, rank() ASC |
| | limit: 100 |
| | |
| 09:TOP-N [LIMIT=100] |
| | order by: aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 0 WHEN 5 THEN 1 END) + aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END) DESC, CASE WHEN aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 0 WHEN 5 THEN 1 END) + aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END) = 0 THEN CASE valid_tid(3,4,5) WHEN 3 THEN i_category WHEN 4 THEN i_category WHEN 5 THEN NULL END END ASC, rank() ASC |
| | row-size=50B cardinality=100 |
| | |
| 08:ANALYTIC |
| | functions: rank() |
| | partition by: aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 0 WHEN 5 THEN 1 END) + aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END), CASE WHEN aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END) = 0 THEN CASE valid_tid(3,4,5) WHEN 3 THEN i_category WHEN 4 THEN i_category WHEN 5 THEN NULL END END |
| | order by: aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN sum(ws_net_paid) WHEN 4 THEN sum(ws_net_paid) WHEN 5 THEN sum(ws_net_paid) END) DESC |
| | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | row-size=54B cardinality=1.00K |
| | |
| 07:SORT |
| | order by: aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 0 WHEN 5 THEN 1 END) + aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END) ASC NULLS LAST, CASE WHEN aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END) = 0 THEN CASE valid_tid(3,4,5) WHEN 3 THEN i_category WHEN 4 THEN i_category WHEN 5 THEN NULL END END ASC NULLS LAST, aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN sum(ws_net_paid) WHEN 4 THEN sum(ws_net_paid) WHEN 5 THEN sum(ws_net_paid) END) DESC |
| | row-size=46B cardinality=1.00K |
| | |
| 14:EXCHANGE [HASH(aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 0 WHEN 5 THEN 1 END) + aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END),CASE WHEN aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END) = 0 THEN CASE valid_tid(3,4,5) WHEN 3 THEN i_category WHEN 4 THEN i_category WHEN 5 THEN NULL END END)] |
| | |
| 06:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN sum(ws_net_paid) WHEN 4 THEN sum(ws_net_paid) WHEN 5 THEN sum(ws_net_paid) END), aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 0 WHEN 5 THEN 1 END), aggif(valid_tid(3,4,5) IN (3, 4, 5), CASE valid_tid(3,4,5) WHEN 3 THEN 0 WHEN 4 THEN 1 WHEN 5 THEN 1 END) |
| | group by: CASE valid_tid(3,4,5) WHEN 3 THEN i_category WHEN 4 THEN i_category WHEN 5 THEN NULL END, CASE valid_tid(3,4,5) WHEN 3 THEN i_class WHEN 4 THEN NULL WHEN 5 THEN NULL END, CASE valid_tid(3,4,5) WHEN 3 THEN 3 WHEN 4 THEN 4 WHEN 5 THEN 5 END |
| | row-size=46B cardinality=1.00K |
| | |
| 13:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: sum:merge(ws_net_paid) |
| | group by: i_category, i_class |
| | Class 1 |
| | output: sum:merge(ws_net_paid) |
| | group by: i_category, NULL |
| | Class 2 |
| | output: sum:merge(ws_net_paid) |
| | group by: NULL, NULL |
| | row-size=140B cardinality=1.00K |
| | |
| 12:EXCHANGE [HASH(CASE valid_tid(3,4,5) WHEN 3 THEN murmur_hash(i_category) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(NULL) END,CASE valid_tid(3,4,5) WHEN 3 THEN murmur_hash(i_class) WHEN 4 THEN murmur_hash(NULL) WHEN 5 THEN murmur_hash(NULL) END)] |
| | |
| 05:AGGREGATE [STREAMING] |
| | Class 0 |
| | output: sum(ws_net_paid) |
| | group by: i_category, i_class |
| | Class 1 |
| | output: sum(ws_net_paid) |
| | group by: i_category, NULL |
| | Class 2 |
| | output: sum(ws_net_paid) |
| | group by: NULL, NULL |
| | row-size=140B cardinality=1.00K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ws_item_sk = i_item_sk |
| | runtime filters: RF000 <- i_item_sk |
| | row-size=70B cardinality=719.38K |
| | |
| |--11:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=46B cardinality=18.00K |
| | |
| 03:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ws_sold_date_sk = d1.d_date_sk |
| | runtime filters: RF002 <- d1.d_date_sk |
| | row-size=24B cardinality=719.38K |
| | |
| |--10:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim d1] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d1.d_month_seq <= 1223, d1.d_month_seq >= 1212 |
| | row-size=8B cardinality=7.30K |
| | |
| 00:SCAN HDFS [tpcds.web_sales] |
| HDFS partitions=1/1 files=1 size=140.07MB |
| runtime filters: RF000 -> ws_item_sk, RF002 -> ws_sold_date_sk |
| row-size=16B cardinality=719.38K |
| ==== |
| # TPCDS-Q27 |
| select i_item_id, |
| s_state, grouping(s_state) g_state, |
| avg(ss_quantity) agg1, |
| avg(ss_list_price) agg2, |
| avg(ss_coupon_amt) agg3, |
| avg(ss_sales_price) agg4 |
| from store_sales, customer_demographics, date_dim, store, item |
| where ss_sold_date_sk = d_date_sk and |
| ss_item_sk = i_item_sk and |
| ss_store_sk = s_store_sk and |
| ss_cdemo_sk = cd_demo_sk and |
| cd_gender = 'M' and |
| cd_marital_status = 'S' and |
| cd_education_status = 'College' and |
| d_year = 2002 and |
| s_state in ('TN') |
| group by rollup (i_item_id, s_state) |
| order by i_item_id |
| ,s_state |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=50.32MB Threads=6 |
| Per-Host Resource Estimates: Memory=434MB |
| PLAN-ROOT SINK |
| | |
| 11:TOP-N [LIMIT=100] |
| | order by: CASE valid_tid(6,8,10) WHEN 6 THEN i_item_id WHEN 8 THEN i_item_id WHEN 10 THEN NULL END ASC, CASE valid_tid(6,8,10) WHEN 6 THEN s_state WHEN 8 THEN NULL WHEN 10 THEN NULL END ASC |
| | row-size=57B cardinality=100 |
| | |
| 10:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(6,8,10) IN (6, 8, 10), CASE valid_tid(6,8,10) WHEN 6 THEN 0 WHEN 8 THEN 1 WHEN 10 THEN 1 END), aggif(valid_tid(6,8,10) IN (6, 8, 10), CASE valid_tid(6,8,10) WHEN 6 THEN avg(ss_quantity) WHEN 8 THEN avg(ss_quantity) WHEN 10 THEN avg(ss_quantity) END), aggif(valid_tid(6,8,10) IN (6, 8, 10), CASE valid_tid(6,8,10) WHEN 6 THEN avg(ss_list_price) WHEN 8 THEN avg(ss_list_price) WHEN 10 THEN avg(ss_list_price) END), aggif(valid_tid(6,8,10) IN (6, 8, 10), CASE valid_tid(6,8,10) WHEN 6 THEN avg(ss_coupon_amt) WHEN 8 THEN avg(ss_coupon_amt) WHEN 10 THEN avg(ss_coupon_amt) END), aggif(valid_tid(6,8,10) IN (6, 8, 10), CASE valid_tid(6,8,10) WHEN 6 THEN avg(ss_sales_price) WHEN 8 THEN avg(ss_sales_price) WHEN 10 THEN avg(ss_sales_price) END) |
| | group by: CASE valid_tid(6,8,10) WHEN 6 THEN i_item_id WHEN 8 THEN i_item_id WHEN 10 THEN NULL END, CASE valid_tid(6,8,10) WHEN 6 THEN s_state WHEN 8 THEN NULL WHEN 10 THEN NULL END, CASE valid_tid(6,8,10) WHEN 6 THEN 6 WHEN 8 THEN 8 WHEN 10 THEN 10 END |
| | row-size=61B cardinality=17.71K |
| | |
| 09:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: avg(ss_quantity), avg(ss_list_price), avg(ss_coupon_amt), avg(ss_sales_price) |
| | group by: i_item_id, s_state |
| | Class 1 |
| | output: avg(ss_quantity), avg(ss_list_price), avg(ss_coupon_amt), avg(ss_sales_price) |
| | group by: i_item_id, NULL |
| | Class 2 |
| | output: avg(ss_quantity), avg(ss_list_price), avg(ss_coupon_amt), avg(ss_sales_price) |
| | group by: NULL, NULL |
| | row-size=202B cardinality=17.71K |
| | |
| 08:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF000 <- i_item_sk |
| | row-size=150B cardinality=263.34K |
| | |
| |--04:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=36B cardinality=18.00K |
| | |
| 07:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF002 <- s_store_sk |
| | row-size=114B cardinality=263.34K |
| | |
| |--03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: s_state IN ('TN') |
| | row-size=18B cardinality=12 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_cdemo_sk = cd_demo_sk |
| | runtime filters: RF004 <- cd_demo_sk |
| | row-size=96B cardinality=263.34K |
| | |
| |--01:SCAN HDFS [tpcds.customer_demographics] |
| | HDFS partitions=1/1 files=1 size=76.92MB |
| | predicates: cd_marital_status = 'S', cd_gender = 'M', cd_education_status = 'College' |
| | row-size=52B cardinality=97.40K |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF006 <- d_date_sk |
| | row-size=44B cardinality=589.03K |
| | |
| |--02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 2002 |
| | row-size=8B cardinality=373 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_item_sk, RF002 -> ss_store_sk, RF004 -> ss_cdemo_sk, RF006 -> ss_sold_date_sk |
| row-size=36B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=67.95MB Threads=12 |
| Per-Host Resource Estimates: Memory=510MB |
| PLAN-ROOT SINK |
| | |
| 18:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: CASE valid_tid(6,8,10) WHEN 6 THEN i_item_id WHEN 8 THEN i_item_id WHEN 10 THEN NULL END ASC, CASE valid_tid(6,8,10) WHEN 6 THEN s_state WHEN 8 THEN NULL WHEN 10 THEN NULL END ASC |
| | limit: 100 |
| | |
| 11:TOP-N [LIMIT=100] |
| | order by: CASE valid_tid(6,8,10) WHEN 6 THEN i_item_id WHEN 8 THEN i_item_id WHEN 10 THEN NULL END ASC, CASE valid_tid(6,8,10) WHEN 6 THEN s_state WHEN 8 THEN NULL WHEN 10 THEN NULL END ASC |
| | row-size=57B cardinality=100 |
| | |
| 10:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(6,8,10) IN (6, 8, 10), CASE valid_tid(6,8,10) WHEN 6 THEN 0 WHEN 8 THEN 1 WHEN 10 THEN 1 END), aggif(valid_tid(6,8,10) IN (6, 8, 10), CASE valid_tid(6,8,10) WHEN 6 THEN avg(ss_quantity) WHEN 8 THEN avg(ss_quantity) WHEN 10 THEN avg(ss_quantity) END), aggif(valid_tid(6,8,10) IN (6, 8, 10), CASE valid_tid(6,8,10) WHEN 6 THEN avg(ss_list_price) WHEN 8 THEN avg(ss_list_price) WHEN 10 THEN avg(ss_list_price) END), aggif(valid_tid(6,8,10) IN (6, 8, 10), CASE valid_tid(6,8,10) WHEN 6 THEN avg(ss_coupon_amt) WHEN 8 THEN avg(ss_coupon_amt) WHEN 10 THEN avg(ss_coupon_amt) END), aggif(valid_tid(6,8,10) IN (6, 8, 10), CASE valid_tid(6,8,10) WHEN 6 THEN avg(ss_sales_price) WHEN 8 THEN avg(ss_sales_price) WHEN 10 THEN avg(ss_sales_price) END) |
| | group by: CASE valid_tid(6,8,10) WHEN 6 THEN i_item_id WHEN 8 THEN i_item_id WHEN 10 THEN NULL END, CASE valid_tid(6,8,10) WHEN 6 THEN s_state WHEN 8 THEN NULL WHEN 10 THEN NULL END, CASE valid_tid(6,8,10) WHEN 6 THEN 6 WHEN 8 THEN 8 WHEN 10 THEN 10 END |
| | row-size=61B cardinality=17.71K |
| | |
| 17:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: avg:merge(ss_quantity), avg:merge(ss_list_price), avg:merge(ss_coupon_amt), avg:merge(ss_sales_price) |
| | group by: i_item_id, s_state |
| | Class 1 |
| | output: avg:merge(ss_quantity), avg:merge(ss_list_price), avg:merge(ss_coupon_amt), avg:merge(ss_sales_price) |
| | group by: i_item_id, NULL |
| | Class 2 |
| | output: avg:merge(ss_quantity), avg:merge(ss_list_price), avg:merge(ss_coupon_amt), avg:merge(ss_sales_price) |
| | group by: NULL, NULL |
| | row-size=202B cardinality=17.71K |
| | |
| 16:EXCHANGE [HASH(CASE valid_tid(5,7,9) WHEN 5 THEN murmur_hash(i_item_id) WHEN 7 THEN murmur_hash(i_item_id) WHEN 9 THEN murmur_hash(NULL) END,CASE valid_tid(5,7,9) WHEN 5 THEN murmur_hash(s_state) WHEN 7 THEN murmur_hash(NULL) WHEN 9 THEN murmur_hash(NULL) END)] |
| | |
| 09:AGGREGATE [STREAMING] |
| | Class 0 |
| | output: avg(ss_quantity), avg(ss_list_price), avg(ss_coupon_amt), avg(ss_sales_price) |
| | group by: i_item_id, s_state |
| | Class 1 |
| | output: avg(ss_quantity), avg(ss_list_price), avg(ss_coupon_amt), avg(ss_sales_price) |
| | group by: i_item_id, NULL |
| | Class 2 |
| | output: avg(ss_quantity), avg(ss_list_price), avg(ss_coupon_amt), avg(ss_sales_price) |
| | group by: NULL, NULL |
| | row-size=202B cardinality=17.71K |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF000 <- i_item_sk |
| | row-size=150B cardinality=263.34K |
| | |
| |--15:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=36B cardinality=18.00K |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF002 <- s_store_sk |
| | row-size=114B cardinality=263.34K |
| | |
| |--14:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: s_state IN ('TN') |
| | row-size=18B cardinality=12 |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_cdemo_sk = cd_demo_sk |
| | runtime filters: RF004 <- cd_demo_sk |
| | row-size=96B cardinality=263.34K |
| | |
| |--13:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.customer_demographics] |
| | HDFS partitions=1/1 files=1 size=76.92MB |
| | predicates: cd_marital_status = 'S', cd_gender = 'M', cd_education_status = 'College' |
| | row-size=52B cardinality=97.40K |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF006 <- d_date_sk |
| | row-size=44B cardinality=589.03K |
| | |
| |--12:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 2002 |
| | row-size=8B cardinality=373 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_item_sk, RF002 -> ss_store_sk, RF004 -> ss_cdemo_sk, RF006 -> ss_sold_date_sk |
| row-size=36B cardinality=2.88M |
| ==== |
| # TPCDS-Q36 |
| select |
| sum(ss_net_profit)/sum(ss_ext_sales_price) as gross_margin |
| ,i_category |
| ,i_class |
| ,grouping(i_category)+grouping(i_class) as lochierarchy |
| ,rank() over ( |
| partition by grouping(i_category)+grouping(i_class), |
| case when grouping(i_class) = 0 then i_category end |
| order by sum(ss_net_profit)/sum(ss_ext_sales_price) asc) as rank_within_parent |
| from |
| store_sales |
| ,date_dim d1 |
| ,item |
| ,store |
| where |
| d1.d_year = 2001 |
| and d1.d_date_sk = ss_sold_date_sk |
| and i_item_sk = ss_item_sk |
| and s_store_sk = ss_store_sk |
| and s_state in ('TN') |
| group by rollup(i_category,i_class) |
| order by |
| lochierarchy desc |
| -- Modified from original because Impala does not allow aliases within order by |
| -- expressions, except at the top level. |
| ,case when grouping(i_category)+grouping(i_class) = 0 then i_category end |
| ,rank_within_parent |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=36.82MB Threads=5 |
| Per-Host Resource Estimates: Memory=253MB |
| PLAN-ROOT SINK |
| | |
| 11:TOP-N [LIMIT=100] |
| | order by: aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 0 WHEN 6 THEN 1 END) + aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END) DESC, CASE WHEN aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 0 WHEN 6 THEN 1 END) + aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END) = 0 THEN CASE valid_tid(4,5,6) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN NULL END END ASC, rank() ASC |
| | row-size=66B cardinality=100 |
| | |
| 10:ANALYTIC |
| | functions: rank() |
| | partition by: aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 0 WHEN 6 THEN 1 END) + aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END), CASE WHEN aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END) = 0 THEN CASE valid_tid(4,5,6) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN NULL END END |
| | order by: aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN sum(ss_net_profit) WHEN 5 THEN sum(ss_net_profit) WHEN 6 THEN sum(ss_net_profit) END) / aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN sum(ss_ext_sales_price) WHEN 5 THEN sum(ss_ext_sales_price) WHEN 6 THEN sum(ss_ext_sales_price) END) ASC |
| | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | row-size=70B cardinality=1.00K |
| | |
| 09:SORT |
| | order by: aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 0 WHEN 6 THEN 1 END) + aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END) ASC NULLS LAST, CASE WHEN aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END) = 0 THEN CASE valid_tid(4,5,6) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN NULL END END ASC NULLS LAST, aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN sum(ss_net_profit) WHEN 5 THEN sum(ss_net_profit) WHEN 6 THEN sum(ss_net_profit) END) / aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN sum(ss_ext_sales_price) WHEN 5 THEN sum(ss_ext_sales_price) WHEN 6 THEN sum(ss_ext_sales_price) END) ASC |
| | row-size=62B cardinality=1.00K |
| | |
| 08:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN sum(ss_net_profit) WHEN 5 THEN sum(ss_net_profit) WHEN 6 THEN sum(ss_net_profit) END), aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN sum(ss_ext_sales_price) WHEN 5 THEN sum(ss_ext_sales_price) WHEN 6 THEN sum(ss_ext_sales_price) END), aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 0 WHEN 6 THEN 1 END), aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END) |
| | group by: CASE valid_tid(4,5,6) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN NULL END, CASE valid_tid(4,5,6) WHEN 4 THEN i_class WHEN 5 THEN NULL WHEN 6 THEN NULL END, CASE valid_tid(4,5,6) WHEN 4 THEN 4 WHEN 5 THEN 5 WHEN 6 THEN 6 END |
| | row-size=62B cardinality=1.00K |
| | |
| 07:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: sum(ss_net_profit), sum(ss_ext_sales_price) |
| | group by: i_category, i_class |
| | Class 1 |
| | output: sum(ss_net_profit), sum(ss_ext_sales_price) |
| | group by: i_category, NULL |
| | Class 2 |
| | output: sum(ss_net_profit), sum(ss_ext_sales_price) |
| | group by: NULL, NULL |
| | row-size=188B cardinality=1.00K |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=96B cardinality=589.03K |
| | |
| |--03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: s_state IN ('TN') |
| | row-size=18B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF002 <- i_item_sk |
| | row-size=78B cardinality=589.03K |
| | |
| |--02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=46B cardinality=18.00K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d1.d_date_sk |
| | runtime filters: RF004 <- d1.d_date_sk |
| | row-size=32B cardinality=589.03K |
| | |
| |--01:SCAN HDFS [tpcds.date_dim d1] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d1.d_year = 2001 |
| | row-size=8B cardinality=373 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_item_sk, RF004 -> ss_sold_date_sk |
| row-size=24B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=62.57MB Threads=11 |
| Per-Host Resource Estimates: Memory=336MB |
| PLAN-ROOT SINK |
| | |
| 18:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 0 WHEN 6 THEN 1 END) + aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END) DESC, CASE WHEN aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 0 WHEN 6 THEN 1 END) + aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END) = 0 THEN CASE valid_tid(4,5,6) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN NULL END END ASC, rank() ASC |
| | limit: 100 |
| | |
| 11:TOP-N [LIMIT=100] |
| | order by: aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 0 WHEN 6 THEN 1 END) + aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END) DESC, CASE WHEN aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 0 WHEN 6 THEN 1 END) + aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END) = 0 THEN CASE valid_tid(4,5,6) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN NULL END END ASC, rank() ASC |
| | row-size=66B cardinality=100 |
| | |
| 10:ANALYTIC |
| | functions: rank() |
| | partition by: aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 0 WHEN 6 THEN 1 END) + aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END), CASE WHEN aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END) = 0 THEN CASE valid_tid(4,5,6) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN NULL END END |
| | order by: aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN sum(ss_net_profit) WHEN 5 THEN sum(ss_net_profit) WHEN 6 THEN sum(ss_net_profit) END) / aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN sum(ss_ext_sales_price) WHEN 5 THEN sum(ss_ext_sales_price) WHEN 6 THEN sum(ss_ext_sales_price) END) ASC |
| | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW |
| | row-size=70B cardinality=1.00K |
| | |
| 09:SORT |
| | order by: aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 0 WHEN 6 THEN 1 END) + aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END) ASC NULLS LAST, CASE WHEN aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END) = 0 THEN CASE valid_tid(4,5,6) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN NULL END END ASC NULLS LAST, aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN sum(ss_net_profit) WHEN 5 THEN sum(ss_net_profit) WHEN 6 THEN sum(ss_net_profit) END) / aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN sum(ss_ext_sales_price) WHEN 5 THEN sum(ss_ext_sales_price) WHEN 6 THEN sum(ss_ext_sales_price) END) ASC |
| | row-size=62B cardinality=1.00K |
| | |
| 17:EXCHANGE [HASH(aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 0 WHEN 6 THEN 1 END) + aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END),CASE WHEN aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END) = 0 THEN CASE valid_tid(4,5,6) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN NULL END END)] |
| | |
| 08:AGGREGATE [FINALIZE] |
| | output: aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN sum(ss_net_profit) WHEN 5 THEN sum(ss_net_profit) WHEN 6 THEN sum(ss_net_profit) END), aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN sum(ss_ext_sales_price) WHEN 5 THEN sum(ss_ext_sales_price) WHEN 6 THEN sum(ss_ext_sales_price) END), aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 0 WHEN 6 THEN 1 END), aggif(valid_tid(4,5,6) IN (4, 5, 6), CASE valid_tid(4,5,6) WHEN 4 THEN 0 WHEN 5 THEN 1 WHEN 6 THEN 1 END) |
| | group by: CASE valid_tid(4,5,6) WHEN 4 THEN i_category WHEN 5 THEN i_category WHEN 6 THEN NULL END, CASE valid_tid(4,5,6) WHEN 4 THEN i_class WHEN 5 THEN NULL WHEN 6 THEN NULL END, CASE valid_tid(4,5,6) WHEN 4 THEN 4 WHEN 5 THEN 5 WHEN 6 THEN 6 END |
| | row-size=62B cardinality=1.00K |
| | |
| 16:AGGREGATE [FINALIZE] |
| | Class 0 |
| | output: sum:merge(ss_net_profit), sum:merge(ss_ext_sales_price) |
| | group by: i_category, i_class |
| | Class 1 |
| | output: sum:merge(ss_net_profit), sum:merge(ss_ext_sales_price) |
| | group by: i_category, NULL |
| | Class 2 |
| | output: sum:merge(ss_net_profit), sum:merge(ss_ext_sales_price) |
| | group by: NULL, NULL |
| | row-size=188B cardinality=1.00K |
| | |
| 15:EXCHANGE [HASH(CASE valid_tid(4,5,6) WHEN 4 THEN murmur_hash(i_category) WHEN 5 THEN murmur_hash(i_category) WHEN 6 THEN murmur_hash(NULL) END,CASE valid_tid(4,5,6) WHEN 4 THEN murmur_hash(i_class) WHEN 5 THEN murmur_hash(NULL) WHEN 6 THEN murmur_hash(NULL) END)] |
| | |
| 07:AGGREGATE [STREAMING] |
| | Class 0 |
| | output: sum(ss_net_profit), sum(ss_ext_sales_price) |
| | group by: i_category, i_class |
| | Class 1 |
| | output: sum(ss_net_profit), sum(ss_ext_sales_price) |
| | group by: i_category, NULL |
| | Class 2 |
| | output: sum(ss_net_profit), sum(ss_ext_sales_price) |
| | group by: NULL, NULL |
| | row-size=188B cardinality=1.00K |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_store_sk = s_store_sk |
| | runtime filters: RF000 <- s_store_sk |
| | row-size=96B cardinality=589.03K |
| | |
| |--14:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.store] |
| | HDFS partitions=1/1 files=1 size=3.08KB |
| | predicates: s_state IN ('TN') |
| | row-size=18B cardinality=12 |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF002 <- i_item_sk |
| | row-size=78B cardinality=589.03K |
| | |
| |--13:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | row-size=46B cardinality=18.00K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d1.d_date_sk |
| | runtime filters: RF004 <- d1.d_date_sk |
| | row-size=32B cardinality=589.03K |
| | |
| |--12:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim d1] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d1.d_year = 2001 |
| | row-size=8B cardinality=373 |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> ss_store_sk, RF002 -> ss_item_sk, RF004 -> ss_sold_date_sk |
| row-size=24B cardinality=2.88M |
| ==== |
| # TPCDS-Q38 |
| SELECT count(*) |
| FROM |
| (SELECT DISTINCT c_last_name, |
| c_first_name, |
| d_date |
| FROM store_sales, |
| date_dim, |
| customer |
| WHERE store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| AND store_sales.ss_customer_sk = customer.c_customer_sk |
| AND d_month_seq BETWEEN 1200 AND 1200 + 11 INTERSECT |
| SELECT DISTINCT c_last_name, |
| c_first_name, |
| d_date |
| FROM catalog_sales, |
| date_dim, |
| customer WHERE catalog_sales.cs_sold_date_sk = date_dim.d_date_sk |
| AND catalog_sales.cs_bill_customer_sk = customer.c_customer_sk |
| AND d_month_seq BETWEEN 1200 AND 1200 + 11 INTERSECT |
| SELECT DISTINCT c_last_name, |
| c_first_name, |
| d_date |
| FROM web_sales, |
| date_dim, |
| customer WHERE web_sales.ws_sold_date_sk = date_dim.d_date_sk |
| AND web_sales.ws_bill_customer_sk = customer.c_customer_sk |
| AND d_month_seq BETWEEN 1200 AND 1200 + 11 ) hot_cust |
| LIMIT 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=194.69MB Threads=10 |
| Per-Host Resource Estimates: Memory=861MB |
| PLAN-ROOT SINK |
| | |
| 20:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | limit: 100 |
| | row-size=8B cardinality=1 |
| | |
| 19:HASH JOIN [INNER JOIN] |
| | hash predicates: c_first_name IS NOT DISTINCT FROM c_first_name, c_last_name IS NOT DISTINCT FROM c_last_name, d_date IS NOT DISTINCT FROM d_date |
| | runtime filters: RF000 <- c_first_name, RF001 <- c_last_name, RF002 <- d_date |
| | row-size=174B cardinality=2.88M |
| | |
| |--17:AGGREGATE [FINALIZE] |
| | | group by: c_last_name, c_first_name, d_date |
| | | row-size=58B cardinality=719.38K |
| | | |
| | 16:HASH JOIN [INNER JOIN] |
| | | hash predicates: web_sales.ws_bill_customer_sk = customer.c_customer_sk |
| | | row-size=78B cardinality=719.38K |
| | | |
| | |--14:SCAN HDFS [tpcds.customer] |
| | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | row-size=40B cardinality=100.00K |
| | | |
| | 15:HASH JOIN [INNER JOIN] |
| | | hash predicates: web_sales.ws_sold_date_sk = date_dim.d_date_sk |
| | | row-size=38B cardinality=719.38K |
| | | |
| | |--13:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_month_seq <= 1211, d_month_seq >= 1200 |
| | | row-size=30B cardinality=7.30K |
| | | |
| | 12:SCAN HDFS [tpcds.web_sales] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | row-size=8B cardinality=719.38K |
| | |
| 18:HASH JOIN [INNER JOIN] |
| | hash predicates: c_first_name IS NOT DISTINCT FROM c_first_name, c_last_name IS NOT DISTINCT FROM c_last_name, d_date IS NOT DISTINCT FROM d_date |
| | runtime filters: RF006 <- c_first_name, RF007 <- c_last_name, RF008 <- d_date |
| | row-size=116B cardinality=2.88M |
| | |
| |--11:AGGREGATE [FINALIZE] |
| | | group by: c_last_name, c_first_name, d_date |
| | | row-size=58B cardinality=1.44M |
| | | |
| | 10:HASH JOIN [INNER JOIN] |
| | | hash predicates: catalog_sales.cs_bill_customer_sk = customer.c_customer_sk |
| | | runtime filters: RF016 <- customer.c_customer_sk |
| | | row-size=78B cardinality=1.44M |
| | | |
| | |--08:SCAN HDFS [tpcds.customer] |
| | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | row-size=40B cardinality=100.00K |
| | | |
| | 09:HASH JOIN [INNER JOIN] |
| | | hash predicates: catalog_sales.cs_sold_date_sk = date_dim.d_date_sk |
| | | runtime filters: RF018 <- date_dim.d_date_sk |
| | | row-size=38B cardinality=1.44M |
| | | |
| | |--07:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_month_seq <= 1211, d_month_seq >= 1200 |
| | | row-size=30B cardinality=7.30K |
| | | |
| | 06:SCAN HDFS [tpcds.catalog_sales] |
| | HDFS partitions=1/1 files=1 size=282.20MB |
| | runtime filters: RF016 -> catalog_sales.cs_bill_customer_sk, RF018 -> catalog_sales.cs_sold_date_sk |
| | row-size=8B cardinality=1.44M |
| | |
| 05:AGGREGATE [FINALIZE] |
| | group by: c_last_name, c_first_name, d_date |
| | row-size=58B cardinality=2.88M |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_customer_sk = customer.c_customer_sk |
| | runtime filters: RF012 <- customer.c_customer_sk |
| | row-size=78B cardinality=2.88M |
| | |
| |--02:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF000 -> tpcds.customer.c_first_name, RF001 -> tpcds.customer.c_last_name, RF006 -> tpcds.customer.c_first_name, RF007 -> tpcds.customer.c_last_name |
| | row-size=40B cardinality=100.00K |
| | |
| 03:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | runtime filters: RF014 <- date_dim.d_date_sk |
| | row-size=38B cardinality=2.88M |
| | |
| |--01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq <= 1211, d_month_seq >= 1200 |
| | runtime filters: RF002 -> tpcds.date_dim.d_date, RF008 -> tpcds.date_dim.d_date |
| | row-size=30B cardinality=7.30K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF012 -> store_sales.ss_customer_sk, RF014 -> store_sales.ss_sold_date_sk |
| row-size=8B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=363.06MB Threads=22 |
| Per-Host Resource Estimates: Memory=1.21GB |
| PLAN-ROOT SINK |
| | |
| 36:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | limit: 100 |
| | row-size=8B cardinality=1 |
| | |
| 35:EXCHANGE [UNPARTITIONED] |
| | |
| 20:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 19:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: c_first_name IS NOT DISTINCT FROM c_first_name, c_last_name IS NOT DISTINCT FROM c_last_name, d_date IS NOT DISTINCT FROM d_date |
| | runtime filters: RF000 <- c_first_name, RF001 <- c_last_name, RF002 <- d_date |
| | row-size=174B cardinality=2.88M |
| | |
| |--34:EXCHANGE [HASH(c_last_name,c_first_name,d_date)] |
| | | |
| | 33:AGGREGATE [FINALIZE] |
| | | group by: c_last_name, c_first_name, d_date |
| | | row-size=58B cardinality=719.38K |
| | | |
| | 32:EXCHANGE [HASH(c_last_name,c_first_name,d_date)] |
| | | |
| | 17:AGGREGATE [STREAMING] |
| | | group by: c_last_name, c_first_name, d_date |
| | | row-size=58B cardinality=719.38K |
| | | |
| | 16:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: web_sales.ws_bill_customer_sk = customer.c_customer_sk |
| | | row-size=78B cardinality=719.38K |
| | | |
| | |--31:EXCHANGE [BROADCAST] |
| | | | |
| | | 14:SCAN HDFS [tpcds.customer] |
| | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | row-size=40B cardinality=100.00K |
| | | |
| | 15:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: web_sales.ws_sold_date_sk = date_dim.d_date_sk |
| | | row-size=38B cardinality=719.38K |
| | | |
| | |--30:EXCHANGE [BROADCAST] |
| | | | |
| | | 13:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_month_seq <= 1211, d_month_seq >= 1200 |
| | | row-size=30B cardinality=7.30K |
| | | |
| | 12:SCAN HDFS [tpcds.web_sales] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | row-size=8B cardinality=719.38K |
| | |
| 18:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: c_first_name IS NOT DISTINCT FROM c_first_name, c_last_name IS NOT DISTINCT FROM c_last_name, d_date IS NOT DISTINCT FROM d_date |
| | runtime filters: RF006 <- c_first_name, RF007 <- c_last_name, RF008 <- d_date |
| | row-size=116B cardinality=2.88M |
| | |
| |--29:EXCHANGE [HASH(c_last_name,c_first_name,d_date)] |
| | | |
| | 28:AGGREGATE [FINALIZE] |
| | | group by: c_last_name, c_first_name, d_date |
| | | row-size=58B cardinality=1.44M |
| | | |
| | 27:EXCHANGE [HASH(c_last_name,c_first_name,d_date)] |
| | | |
| | 11:AGGREGATE [STREAMING] |
| | | group by: c_last_name, c_first_name, d_date |
| | | row-size=58B cardinality=1.44M |
| | | |
| | 10:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: catalog_sales.cs_bill_customer_sk = customer.c_customer_sk |
| | | runtime filters: RF016 <- customer.c_customer_sk |
| | | row-size=78B cardinality=1.44M |
| | | |
| | |--26:EXCHANGE [BROADCAST] |
| | | | |
| | | 08:SCAN HDFS [tpcds.customer] |
| | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | row-size=40B cardinality=100.00K |
| | | |
| | 09:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: catalog_sales.cs_sold_date_sk = date_dim.d_date_sk |
| | | runtime filters: RF018 <- date_dim.d_date_sk |
| | | row-size=38B cardinality=1.44M |
| | | |
| | |--25:EXCHANGE [BROADCAST] |
| | | | |
| | | 07:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_month_seq <= 1211, d_month_seq >= 1200 |
| | | row-size=30B cardinality=7.30K |
| | | |
| | 06:SCAN HDFS [tpcds.catalog_sales] |
| | HDFS partitions=1/1 files=1 size=282.20MB |
| | runtime filters: RF016 -> catalog_sales.cs_bill_customer_sk, RF018 -> catalog_sales.cs_sold_date_sk |
| | row-size=8B cardinality=1.44M |
| | |
| 24:AGGREGATE [FINALIZE] |
| | group by: c_last_name, c_first_name, d_date |
| | row-size=58B cardinality=2.88M |
| | |
| 23:EXCHANGE [HASH(c_last_name,c_first_name,d_date)] |
| | |
| 05:AGGREGATE [STREAMING] |
| | group by: c_last_name, c_first_name, d_date |
| | row-size=58B cardinality=2.88M |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_customer_sk = customer.c_customer_sk |
| | runtime filters: RF012 <- customer.c_customer_sk |
| | row-size=78B cardinality=2.88M |
| | |
| |--22:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF000 -> tpcds.customer.c_first_name, RF001 -> tpcds.customer.c_last_name, RF006 -> tpcds.customer.c_first_name, RF007 -> tpcds.customer.c_last_name |
| | row-size=40B cardinality=100.00K |
| | |
| 03:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | runtime filters: RF014 <- date_dim.d_date_sk |
| | row-size=38B cardinality=2.88M |
| | |
| |--21:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq <= 1211, d_month_seq >= 1200 |
| | runtime filters: RF002 -> tpcds.date_dim.d_date, RF008 -> tpcds.date_dim.d_date |
| | row-size=30B cardinality=7.30K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF012 -> store_sales.ss_customer_sk, RF014 -> store_sales.ss_sold_date_sk |
| row-size=8B cardinality=2.88M |
| ==== |
| # TPCDS-Q87 |
| SELECT count(*) |
| FROM ((SELECT DISTINCT c_last_name, |
| c_first_name, |
| d_date |
| FROM store_sales, |
| date_dim, |
| customer |
| WHERE store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| AND store_sales.ss_customer_sk = customer.c_customer_sk |
| AND d_month_seq BETWEEN 1200 AND 1200+11) |
| EXCEPT |
| (SELECT DISTINCT c_last_name, |
| c_first_name, |
| d_date |
| FROM catalog_sales, |
| date_dim, |
| customer |
| WHERE catalog_sales.cs_sold_date_sk = date_dim.d_date_sk |
| AND catalog_sales.cs_bill_customer_sk = customer.c_customer_sk |
| AND d_month_seq BETWEEN 1200 AND 1200+11) |
| EXCEPT |
| (SELECT DISTINCT c_last_name, |
| c_first_name, |
| d_date |
| FROM web_sales, |
| date_dim, |
| customer |
| WHERE web_sales.ws_sold_date_sk = date_dim.d_date_sk |
| AND web_sales.ws_bill_customer_sk = customer.c_customer_sk |
| AND d_month_seq BETWEEN 1200 AND 1200+11)) cool_cust; |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=190.69MB Threads=10 |
| Per-Host Resource Estimates: Memory=857MB |
| PLAN-ROOT SINK |
| | |
| 20:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 19:HASH JOIN [LEFT ANTI JOIN] |
| | hash predicates: c_first_name IS NOT DISTINCT FROM c_first_name, c_last_name IS NOT DISTINCT FROM c_last_name, d_date IS NOT DISTINCT FROM d_date |
| | row-size=58B cardinality=2.88M |
| | |
| |--17:AGGREGATE [FINALIZE] |
| | | group by: c_last_name, c_first_name, d_date |
| | | row-size=58B cardinality=719.38K |
| | | |
| | 16:HASH JOIN [INNER JOIN] |
| | | hash predicates: web_sales.ws_bill_customer_sk = customer.c_customer_sk |
| | | runtime filters: RF008 <- customer.c_customer_sk |
| | | row-size=78B cardinality=719.38K |
| | | |
| | |--14:SCAN HDFS [tpcds.customer] |
| | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | row-size=40B cardinality=100.00K |
| | | |
| | 15:HASH JOIN [INNER JOIN] |
| | | hash predicates: web_sales.ws_sold_date_sk = date_dim.d_date_sk |
| | | runtime filters: RF010 <- date_dim.d_date_sk |
| | | row-size=38B cardinality=719.38K |
| | | |
| | |--13:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_month_seq <= 1211, d_month_seq >= 1200 |
| | | row-size=30B cardinality=7.30K |
| | | |
| | 12:SCAN HDFS [tpcds.web_sales] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | runtime filters: RF008 -> web_sales.ws_bill_customer_sk, RF010 -> web_sales.ws_sold_date_sk |
| | row-size=8B cardinality=719.38K |
| | |
| 18:HASH JOIN [LEFT ANTI JOIN] |
| | hash predicates: c_first_name IS NOT DISTINCT FROM c_first_name, c_last_name IS NOT DISTINCT FROM c_last_name, d_date IS NOT DISTINCT FROM d_date |
| | row-size=58B cardinality=2.88M |
| | |
| |--11:AGGREGATE [FINALIZE] |
| | | group by: c_last_name, c_first_name, d_date |
| | | row-size=58B cardinality=1.44M |
| | | |
| | 10:HASH JOIN [INNER JOIN] |
| | | hash predicates: catalog_sales.cs_bill_customer_sk = customer.c_customer_sk |
| | | runtime filters: RF004 <- customer.c_customer_sk |
| | | row-size=78B cardinality=1.44M |
| | | |
| | |--08:SCAN HDFS [tpcds.customer] |
| | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | row-size=40B cardinality=100.00K |
| | | |
| | 09:HASH JOIN [INNER JOIN] |
| | | hash predicates: catalog_sales.cs_sold_date_sk = date_dim.d_date_sk |
| | | runtime filters: RF006 <- date_dim.d_date_sk |
| | | row-size=38B cardinality=1.44M |
| | | |
| | |--07:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_month_seq <= 1211, d_month_seq >= 1200 |
| | | row-size=30B cardinality=7.30K |
| | | |
| | 06:SCAN HDFS [tpcds.catalog_sales] |
| | HDFS partitions=1/1 files=1 size=282.20MB |
| | runtime filters: RF004 -> catalog_sales.cs_bill_customer_sk, RF006 -> catalog_sales.cs_sold_date_sk |
| | row-size=8B cardinality=1.44M |
| | |
| 05:AGGREGATE [FINALIZE] |
| | group by: c_last_name, c_first_name, d_date |
| | row-size=58B cardinality=2.88M |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_customer_sk = customer.c_customer_sk |
| | runtime filters: RF000 <- customer.c_customer_sk |
| | row-size=78B cardinality=2.88M |
| | |
| |--02:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | row-size=40B cardinality=100.00K |
| | |
| 03:HASH JOIN [INNER JOIN] |
| | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | runtime filters: RF002 <- date_dim.d_date_sk |
| | row-size=38B cardinality=2.88M |
| | |
| |--01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq <= 1211, d_month_seq >= 1200 |
| | row-size=30B cardinality=7.30K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> store_sales.ss_customer_sk, RF002 -> store_sales.ss_sold_date_sk |
| row-size=8B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=353.06MB Threads=22 |
| Per-Host Resource Estimates: Memory=1.20GB |
| PLAN-ROOT SINK |
| | |
| 36:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 35:EXCHANGE [UNPARTITIONED] |
| | |
| 20:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 19:HASH JOIN [LEFT ANTI JOIN, PARTITIONED] |
| | hash predicates: c_first_name IS NOT DISTINCT FROM c_first_name, c_last_name IS NOT DISTINCT FROM c_last_name, d_date IS NOT DISTINCT FROM d_date |
| | row-size=58B cardinality=2.88M |
| | |
| |--34:EXCHANGE [HASH(c_last_name,c_first_name,d_date)] |
| | | |
| | 33:AGGREGATE [FINALIZE] |
| | | group by: c_last_name, c_first_name, d_date |
| | | row-size=58B cardinality=719.38K |
| | | |
| | 32:EXCHANGE [HASH(c_last_name,c_first_name,d_date)] |
| | | |
| | 17:AGGREGATE [STREAMING] |
| | | group by: c_last_name, c_first_name, d_date |
| | | row-size=58B cardinality=719.38K |
| | | |
| | 16:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: web_sales.ws_bill_customer_sk = customer.c_customer_sk |
| | | runtime filters: RF008 <- customer.c_customer_sk |
| | | row-size=78B cardinality=719.38K |
| | | |
| | |--31:EXCHANGE [BROADCAST] |
| | | | |
| | | 14:SCAN HDFS [tpcds.customer] |
| | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | row-size=40B cardinality=100.00K |
| | | |
| | 15:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: web_sales.ws_sold_date_sk = date_dim.d_date_sk |
| | | runtime filters: RF010 <- date_dim.d_date_sk |
| | | row-size=38B cardinality=719.38K |
| | | |
| | |--30:EXCHANGE [BROADCAST] |
| | | | |
| | | 13:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_month_seq <= 1211, d_month_seq >= 1200 |
| | | row-size=30B cardinality=7.30K |
| | | |
| | 12:SCAN HDFS [tpcds.web_sales] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | runtime filters: RF008 -> web_sales.ws_bill_customer_sk, RF010 -> web_sales.ws_sold_date_sk |
| | row-size=8B cardinality=719.38K |
| | |
| 18:HASH JOIN [LEFT ANTI JOIN, PARTITIONED] |
| | hash predicates: c_first_name IS NOT DISTINCT FROM c_first_name, c_last_name IS NOT DISTINCT FROM c_last_name, d_date IS NOT DISTINCT FROM d_date |
| | row-size=58B cardinality=2.88M |
| | |
| |--29:EXCHANGE [HASH(c_last_name,c_first_name,d_date)] |
| | | |
| | 28:AGGREGATE [FINALIZE] |
| | | group by: c_last_name, c_first_name, d_date |
| | | row-size=58B cardinality=1.44M |
| | | |
| | 27:EXCHANGE [HASH(c_last_name,c_first_name,d_date)] |
| | | |
| | 11:AGGREGATE [STREAMING] |
| | | group by: c_last_name, c_first_name, d_date |
| | | row-size=58B cardinality=1.44M |
| | | |
| | 10:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: catalog_sales.cs_bill_customer_sk = customer.c_customer_sk |
| | | runtime filters: RF004 <- customer.c_customer_sk |
| | | row-size=78B cardinality=1.44M |
| | | |
| | |--26:EXCHANGE [BROADCAST] |
| | | | |
| | | 08:SCAN HDFS [tpcds.customer] |
| | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | row-size=40B cardinality=100.00K |
| | | |
| | 09:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: catalog_sales.cs_sold_date_sk = date_dim.d_date_sk |
| | | runtime filters: RF006 <- date_dim.d_date_sk |
| | | row-size=38B cardinality=1.44M |
| | | |
| | |--25:EXCHANGE [BROADCAST] |
| | | | |
| | | 07:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_month_seq <= 1211, d_month_seq >= 1200 |
| | | row-size=30B cardinality=7.30K |
| | | |
| | 06:SCAN HDFS [tpcds.catalog_sales] |
| | HDFS partitions=1/1 files=1 size=282.20MB |
| | runtime filters: RF004 -> catalog_sales.cs_bill_customer_sk, RF006 -> catalog_sales.cs_sold_date_sk |
| | row-size=8B cardinality=1.44M |
| | |
| 24:AGGREGATE [FINALIZE] |
| | group by: c_last_name, c_first_name, d_date |
| | row-size=58B cardinality=2.88M |
| | |
| 23:EXCHANGE [HASH(c_last_name,c_first_name,d_date)] |
| | |
| 05:AGGREGATE [STREAMING] |
| | group by: c_last_name, c_first_name, d_date |
| | row-size=58B cardinality=2.88M |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_customer_sk = customer.c_customer_sk |
| | runtime filters: RF000 <- customer.c_customer_sk |
| | row-size=78B cardinality=2.88M |
| | |
| |--22:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | row-size=40B cardinality=100.00K |
| | |
| 03:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk |
| | runtime filters: RF002 <- date_dim.d_date_sk |
| | row-size=38B cardinality=2.88M |
| | |
| |--21:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_month_seq <= 1211, d_month_seq >= 1200 |
| | row-size=30B cardinality=7.30K |
| | |
| 00:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> store_sales.ss_customer_sk, RF002 -> store_sales.ss_sold_date_sk |
| row-size=8B cardinality=2.88M |
| ==== |
| # Q23-1 |
| with frequent_ss_items as |
| (select substr(i_item_desc,1,30) itemdesc,i_item_sk item_sk,d_date solddate,count(*) cnt |
| from store_sales |
| ,date_dim |
| ,item |
| where ss_sold_date_sk = d_date_sk |
| and ss_item_sk = i_item_sk |
| and d_year in (2000,2000+1,2000+2,2000+3) |
| group by substr(i_item_desc,1,30),i_item_sk,d_date |
| having count(*) >4), |
| max_store_sales as |
| (select max(csales) tpcds_cmax |
| from (select c_customer_sk,sum(ss_quantity*ss_sales_price) csales |
| from store_sales |
| ,customer |
| ,date_dim |
| where ss_customer_sk = c_customer_sk |
| and ss_sold_date_sk = d_date_sk |
| and d_year in (2000,2000+1,2000+2,2000+3) |
| group by c_customer_sk) x), |
| best_ss_customer as |
| (select c_customer_sk,sum(ss_quantity*ss_sales_price) ssales |
| from store_sales |
| ,customer |
| where ss_customer_sk = c_customer_sk |
| group by c_customer_sk |
| having sum(ss_quantity*ss_sales_price) > (50/100.0) * (select |
| * |
| from |
| max_store_sales)) |
| select sum(sales) |
| from (select cs_quantity*cs_list_price sales |
| from catalog_sales |
| ,date_dim |
| where d_year = 2000 |
| and d_moy = 2 |
| and cs_sold_date_sk = d_date_sk |
| and cs_item_sk in (select item_sk from frequent_ss_items) |
| and cs_bill_customer_sk in (select c_customer_sk from best_ss_customer) |
| union all |
| select ws_quantity*ws_list_price sales |
| from web_sales |
| ,date_dim |
| where d_year = 2000 |
| and d_moy = 2 |
| and ws_sold_date_sk = d_date_sk |
| and ws_item_sk in (select item_sk from frequent_ss_items) |
| and ws_bill_customer_sk in (select c_customer_sk from best_ss_customer)) y |
| limit 100; |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=122.44MB Threads=11 |
| Per-Host Resource Estimates: Memory=910MB |
| PLAN-ROOT SINK |
| | |
| 49:AGGREGATE [FINALIZE] |
| | output: sum(sales) |
| | limit: 100 |
| | row-size=16B cardinality=1 |
| | |
| 00:UNION |
| | row-size=8B cardinality=128.16K |
| | |
| |--48:HASH JOIN [RIGHT SEMI JOIN] |
| | | hash predicates: c_customer_sk = ws_bill_customer_sk |
| | | runtime filters: RF016 <- ws_bill_customer_sk |
| | | row-size=36B cardinality=42.85K |
| | | |
| | |--47:HASH JOIN [LEFT SEMI JOIN] |
| | | | hash predicates: ws_item_sk = i_item_sk |
| | | | row-size=36B cardinality=42.85K |
| | | | |
| | | |--46:AGGREGATE [FINALIZE] |
| | | | | group by: i_item_sk |
| | | | | row-size=8B cardinality=17.98K |
| | | | | |
| | | | 32:AGGREGATE [FINALIZE] |
| | | | | output: count(*) |
| | | | | group by: substr(i_item_desc, 1, 30), i_item_sk, d_date |
| | | | | having: count(*) > 4 |
| | | | | row-size=50B cardinality=235.45K |
| | | | | |
| | | | 31:HASH JOIN [INNER JOIN] |
| | | | | hash predicates: ss_item_sk = i_item_sk |
| | | | | row-size=162B cardinality=2.35M |
| | | | | |
| | | | |--29:SCAN HDFS [tpcds.item] |
| | | | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | | | row-size=120B cardinality=18.00K |
| | | | | |
| | | | 30:HASH JOIN [INNER JOIN] |
| | | | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | | | runtime filters: RF030 <- d_date_sk |
| | | | | row-size=42B cardinality=2.35M |
| | | | | |
| | | | |--28:SCAN HDFS [tpcds.date_dim] |
| | | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | | predicates: d_year IN (2000, 2001, 2002, 2003) |
| | | | | row-size=30B cardinality=1.49K |
| | | | | |
| | | | 27:SCAN HDFS [tpcds.store_sales] |
| | | | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | | | runtime filters: RF030 -> ss_sold_date_sk |
| | | | row-size=12B cardinality=2.88M |
| | | | |
| | | 45:HASH JOIN [INNER JOIN] |
| | | | hash predicates: ws_sold_date_sk = d_date_sk |
| | | | runtime filters: RF026 <- d_date_sk |
| | | | row-size=36B cardinality=42.85K |
| | | | |
| | | |--26:SCAN HDFS [tpcds.date_dim] |
| | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | predicates: d_year = 2000, d_moy = 2 |
| | | | row-size=12B cardinality=108 |
| | | | |
| | | 25:SCAN HDFS [tpcds.web_sales] |
| | | HDFS partitions=1/1 files=1 size=140.07MB |
| | | runtime filters: RF026 -> ws_sold_date_sk |
| | | row-size=24B cardinality=719.38K |
| | | |
| | 44:NESTED LOOP JOIN [INNER JOIN] |
| | | predicates: sum(ss_quantity * ss_sales_price) > 0.500000 * max(csales) |
| | | row-size=36B cardinality=100.00K |
| | | |
| | |--43:AGGREGATE [FINALIZE] |
| | | | output: max(sum(ss_quantity * ss_sales_price)) |
| | | | row-size=16B cardinality=1 |
| | | | |
| | | 42:AGGREGATE [FINALIZE] |
| | | | output: sum(ss_quantity * ss_sales_price) |
| | | | group by: c_customer_sk |
| | | | row-size=20B cardinality=100.00K |
| | | | |
| | | 41:HASH JOIN [INNER JOIN] |
| | | | hash predicates: ss_customer_sk = c_customer_sk |
| | | | row-size=28B cardinality=2.35M |
| | | | |
| | | |--38:SCAN HDFS [tpcds.customer] |
| | | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | | row-size=4B cardinality=100.00K |
| | | | |
| | | 40:HASH JOIN [INNER JOIN] |
| | | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | | runtime filters: RF022 <- d_date_sk |
| | | | row-size=24B cardinality=2.35M |
| | | | |
| | | |--39:SCAN HDFS [tpcds.date_dim] |
| | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | predicates: d_year IN (2000, 2001, 2002, 2003) |
| | | | row-size=8B cardinality=1.49K |
| | | | |
| | | 37:SCAN HDFS [tpcds.store_sales] |
| | | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | | runtime filters: RF022 -> ss_sold_date_sk |
| | | row-size=16B cardinality=2.88M |
| | | |
| | 36:AGGREGATE [FINALIZE] |
| | | output: sum(ss_quantity * ss_sales_price) |
| | | group by: c_customer_sk |
| | | row-size=20B cardinality=100.00K |
| | | |
| | 35:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_customer_sk = c_customer_sk |
| | | row-size=16B cardinality=2.88M |
| | | |
| | |--34:SCAN HDFS [tpcds.customer] |
| | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | runtime filters: RF016 -> tpcds.customer.c_customer_sk |
| | | row-size=4B cardinality=100.00K |
| | | |
| | 33:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF016 -> tpcds.store_sales.ss_customer_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 24:HASH JOIN [RIGHT SEMI JOIN] |
| | hash predicates: c_customer_sk = cs_bill_customer_sk |
| | runtime filters: RF000 <- cs_bill_customer_sk |
| | row-size=36B cardinality=85.31K |
| | |
| |--23:HASH JOIN [LEFT SEMI JOIN] |
| | | hash predicates: cs_item_sk = i_item_sk |
| | | row-size=36B cardinality=85.31K |
| | | |
| | |--22:AGGREGATE [FINALIZE] |
| | | | group by: i_item_sk |
| | | | row-size=8B cardinality=17.98K |
| | | | |
| | | 08:AGGREGATE [FINALIZE] |
| | | | output: count(*) |
| | | | group by: substr(i_item_desc, 1, 30), i_item_sk, d_date |
| | | | having: count(*) > 4 |
| | | | row-size=50B cardinality=235.45K |
| | | | |
| | | 07:HASH JOIN [INNER JOIN] |
| | | | hash predicates: ss_item_sk = i_item_sk |
| | | | row-size=162B cardinality=2.35M |
| | | | |
| | | |--05:SCAN HDFS [tpcds.item] |
| | | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | | row-size=120B cardinality=18.00K |
| | | | |
| | | 06:HASH JOIN [INNER JOIN] |
| | | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | | runtime filters: RF014 <- d_date_sk |
| | | | row-size=42B cardinality=2.35M |
| | | | |
| | | |--04:SCAN HDFS [tpcds.date_dim] |
| | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | predicates: d_year IN (2000, 2001, 2002, 2003) |
| | | | row-size=30B cardinality=1.49K |
| | | | |
| | | 03:SCAN HDFS [tpcds.store_sales] |
| | | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | | runtime filters: RF014 -> ss_sold_date_sk |
| | | row-size=12B cardinality=2.88M |
| | | |
| | 21:HASH JOIN [INNER JOIN] |
| | | hash predicates: cs_sold_date_sk = d_date_sk |
| | | runtime filters: RF010 <- d_date_sk |
| | | row-size=36B cardinality=85.31K |
| | | |
| | |--02:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_year = 2000, d_moy = 2 |
| | | row-size=12B cardinality=108 |
| | | |
| | 01:SCAN HDFS [tpcds.catalog_sales] |
| | HDFS partitions=1/1 files=1 size=282.20MB |
| | runtime filters: RF010 -> cs_sold_date_sk |
| | row-size=24B cardinality=1.44M |
| | |
| 20:NESTED LOOP JOIN [INNER JOIN] |
| | predicates: sum(ss_quantity * ss_sales_price) > 0.500000 * max(csales) |
| | row-size=36B cardinality=100.00K |
| | |
| |--19:AGGREGATE [FINALIZE] |
| | | output: max(sum(ss_quantity * ss_sales_price)) |
| | | row-size=16B cardinality=1 |
| | | |
| | 18:AGGREGATE [FINALIZE] |
| | | output: sum(ss_quantity * ss_sales_price) |
| | | group by: c_customer_sk |
| | | row-size=20B cardinality=100.00K |
| | | |
| | 17:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_customer_sk = c_customer_sk |
| | | runtime filters: RF004 <- c_customer_sk |
| | | row-size=28B cardinality=2.35M |
| | | |
| | |--14:SCAN HDFS [tpcds.customer] |
| | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | row-size=4B cardinality=100.00K |
| | | |
| | 16:HASH JOIN [INNER JOIN] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | runtime filters: RF006 <- d_date_sk |
| | | row-size=24B cardinality=2.35M |
| | | |
| | |--15:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_year IN (2000, 2001, 2002, 2003) |
| | | row-size=8B cardinality=1.49K |
| | | |
| | 13:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF006 -> ss_sold_date_sk, RF004 -> ss_customer_sk |
| | row-size=16B cardinality=2.88M |
| | |
| 12:AGGREGATE [FINALIZE] |
| | output: sum(ss_quantity * ss_sales_price) |
| | group by: c_customer_sk |
| | row-size=20B cardinality=100.00K |
| | |
| 11:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | runtime filters: RF002 <- c_customer_sk |
| | row-size=16B cardinality=2.88M |
| | |
| |--10:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF000 -> tpcds.customer.c_customer_sk |
| | row-size=4B cardinality=100.00K |
| | |
| 09:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> tpcds.store_sales.ss_customer_sk, RF002 -> ss_customer_sk |
| row-size=12B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=370.38MB Threads=50 |
| Per-Host Resource Estimates: Memory=2.09GB |
| PLAN-ROOT SINK |
| | |
| 89:AGGREGATE [FINALIZE] |
| | output: sum:merge(sales) |
| | limit: 100 |
| | row-size=16B cardinality=1 |
| | |
| 88:EXCHANGE [UNPARTITIONED] |
| | |
| 49:AGGREGATE |
| | output: sum(sales) |
| | row-size=16B cardinality=1 |
| | |
| 00:UNION |
| | row-size=8B cardinality=128.16K |
| | |
| |--48:HASH JOIN [RIGHT SEMI JOIN, PARTITIONED] |
| | | hash predicates: c_customer_sk = ws_bill_customer_sk |
| | | runtime filters: RF016 <- ws_bill_customer_sk |
| | | row-size=36B cardinality=42.85K |
| | | |
| | |--87:EXCHANGE [HASH(ws_bill_customer_sk)] |
| | | | |
| | | 47:HASH JOIN [LEFT SEMI JOIN, BROADCAST] |
| | | | hash predicates: ws_item_sk = i_item_sk |
| | | | row-size=36B cardinality=42.85K |
| | | | |
| | | |--86:EXCHANGE [BROADCAST] |
| | | | | |
| | | | 85:AGGREGATE [FINALIZE] |
| | | | | group by: i_item_sk |
| | | | | row-size=8B cardinality=17.98K |
| | | | | |
| | | | 84:EXCHANGE [HASH(i_item_sk)] |
| | | | | |
| | | | 46:AGGREGATE [STREAMING] |
| | | | | group by: i_item_sk |
| | | | | row-size=8B cardinality=17.98K |
| | | | | |
| | | | 83:AGGREGATE [FINALIZE] |
| | | | | output: count:merge(*) |
| | | | | group by: substr(i_item_desc, 1, 30), i_item_sk, d_date |
| | | | | having: count(*) > 4 |
| | | | | row-size=50B cardinality=235.45K |
| | | | | |
| | | | 82:EXCHANGE [HASH(substr(i_item_desc, 1, 30),i_item_sk,d_date)] |
| | | | | |
| | | | 32:AGGREGATE [STREAMING] |
| | | | | output: count(*) |
| | | | | group by: substr(i_item_desc, 1, 30), i_item_sk, d_date |
| | | | | row-size=50B cardinality=2.35M |
| | | | | |
| | | | 31:HASH JOIN [INNER JOIN, BROADCAST] |
| | | | | hash predicates: ss_item_sk = i_item_sk |
| | | | | row-size=162B cardinality=2.35M |
| | | | | |
| | | | |--81:EXCHANGE [BROADCAST] |
| | | | | | |
| | | | | 29:SCAN HDFS [tpcds.item] |
| | | | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | | | row-size=120B cardinality=18.00K |
| | | | | |
| | | | 30:HASH JOIN [INNER JOIN, BROADCAST] |
| | | | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | | | runtime filters: RF030 <- d_date_sk |
| | | | | row-size=42B cardinality=2.35M |
| | | | | |
| | | | |--80:EXCHANGE [BROADCAST] |
| | | | | | |
| | | | | 28:SCAN HDFS [tpcds.date_dim] |
| | | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | | predicates: d_year IN (2000, 2001, 2002, 2003) |
| | | | | row-size=30B cardinality=1.49K |
| | | | | |
| | | | 27:SCAN HDFS [tpcds.store_sales] |
| | | | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | | | runtime filters: RF030 -> ss_sold_date_sk |
| | | | row-size=12B cardinality=2.88M |
| | | | |
| | | 45:HASH JOIN [INNER JOIN, BROADCAST] |
| | | | hash predicates: ws_sold_date_sk = d_date_sk |
| | | | runtime filters: RF026 <- d_date_sk |
| | | | row-size=36B cardinality=42.85K |
| | | | |
| | | |--79:EXCHANGE [BROADCAST] |
| | | | | |
| | | | 26:SCAN HDFS [tpcds.date_dim] |
| | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | predicates: d_year = 2000, d_moy = 2 |
| | | | row-size=12B cardinality=108 |
| | | | |
| | | 25:SCAN HDFS [tpcds.web_sales] |
| | | HDFS partitions=1/1 files=1 size=140.07MB |
| | | runtime filters: RF026 -> ws_sold_date_sk |
| | | row-size=24B cardinality=719.38K |
| | | |
| | 44:NESTED LOOP JOIN [INNER JOIN, BROADCAST] |
| | | predicates: sum(ss_quantity * ss_sales_price) > 0.500000 * max(csales) |
| | | row-size=36B cardinality=100.00K |
| | | |
| | |--78:EXCHANGE [BROADCAST] |
| | | | |
| | | 77:AGGREGATE [FINALIZE] |
| | | | output: max:merge(csales) |
| | | | row-size=16B cardinality=1 |
| | | | |
| | | 76:EXCHANGE [UNPARTITIONED] |
| | | | |
| | | 43:AGGREGATE |
| | | | output: max(sum(ss_quantity * ss_sales_price)) |
| | | | row-size=16B cardinality=1 |
| | | | |
| | | 75:AGGREGATE [FINALIZE] |
| | | | output: sum:merge(ss_quantity * ss_sales_price) |
| | | | group by: c_customer_sk |
| | | | row-size=20B cardinality=100.00K |
| | | | |
| | | 74:EXCHANGE [HASH(c_customer_sk)] |
| | | | |
| | | 42:AGGREGATE [STREAMING] |
| | | | output: sum(ss_quantity * ss_sales_price) |
| | | | group by: c_customer_sk |
| | | | row-size=20B cardinality=100.00K |
| | | | |
| | | 41:HASH JOIN [INNER JOIN, BROADCAST] |
| | | | hash predicates: ss_customer_sk = c_customer_sk |
| | | | row-size=28B cardinality=2.35M |
| | | | |
| | | |--73:EXCHANGE [BROADCAST] |
| | | | | |
| | | | 38:SCAN HDFS [tpcds.customer] |
| | | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | | row-size=4B cardinality=100.00K |
| | | | |
| | | 40:HASH JOIN [INNER JOIN, BROADCAST] |
| | | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | | runtime filters: RF022 <- d_date_sk |
| | | | row-size=24B cardinality=2.35M |
| | | | |
| | | |--72:EXCHANGE [BROADCAST] |
| | | | | |
| | | | 39:SCAN HDFS [tpcds.date_dim] |
| | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | predicates: d_year IN (2000, 2001, 2002, 2003) |
| | | | row-size=8B cardinality=1.49K |
| | | | |
| | | 37:SCAN HDFS [tpcds.store_sales] |
| | | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | | runtime filters: RF022 -> ss_sold_date_sk |
| | | row-size=16B cardinality=2.88M |
| | | |
| | 71:AGGREGATE [FINALIZE] |
| | | output: sum:merge(ss_quantity * ss_sales_price) |
| | | group by: c_customer_sk |
| | | row-size=20B cardinality=100.00K |
| | | |
| | 70:EXCHANGE [HASH(c_customer_sk)] |
| | | |
| | 36:AGGREGATE [STREAMING] |
| | | output: sum(ss_quantity * ss_sales_price) |
| | | group by: c_customer_sk |
| | | row-size=20B cardinality=100.00K |
| | | |
| | 35:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_customer_sk = c_customer_sk |
| | | row-size=16B cardinality=2.88M |
| | | |
| | |--69:EXCHANGE [BROADCAST] |
| | | | |
| | | 34:SCAN HDFS [tpcds.customer] |
| | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | runtime filters: RF016 -> tpcds.customer.c_customer_sk |
| | | row-size=4B cardinality=100.00K |
| | | |
| | 33:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF016 -> tpcds.store_sales.ss_customer_sk |
| | row-size=12B cardinality=2.88M |
| | |
| 24:HASH JOIN [RIGHT SEMI JOIN, PARTITIONED] |
| | hash predicates: c_customer_sk = cs_bill_customer_sk |
| | runtime filters: RF000 <- cs_bill_customer_sk |
| | row-size=36B cardinality=85.31K |
| | |
| |--68:EXCHANGE [HASH(cs_bill_customer_sk)] |
| | | |
| | 23:HASH JOIN [LEFT SEMI JOIN, BROADCAST] |
| | | hash predicates: cs_item_sk = i_item_sk |
| | | row-size=36B cardinality=85.31K |
| | | |
| | |--67:EXCHANGE [BROADCAST] |
| | | | |
| | | 66:AGGREGATE [FINALIZE] |
| | | | group by: i_item_sk |
| | | | row-size=8B cardinality=17.98K |
| | | | |
| | | 65:EXCHANGE [HASH(i_item_sk)] |
| | | | |
| | | 22:AGGREGATE [STREAMING] |
| | | | group by: i_item_sk |
| | | | row-size=8B cardinality=17.98K |
| | | | |
| | | 64:AGGREGATE [FINALIZE] |
| | | | output: count:merge(*) |
| | | | group by: substr(i_item_desc, 1, 30), i_item_sk, d_date |
| | | | having: count(*) > 4 |
| | | | row-size=50B cardinality=235.45K |
| | | | |
| | | 63:EXCHANGE [HASH(substr(i_item_desc, 1, 30),i_item_sk,d_date)] |
| | | | |
| | | 08:AGGREGATE [STREAMING] |
| | | | output: count(*) |
| | | | group by: substr(i_item_desc, 1, 30), i_item_sk, d_date |
| | | | row-size=50B cardinality=2.35M |
| | | | |
| | | 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | | | hash predicates: ss_item_sk = i_item_sk |
| | | | row-size=162B cardinality=2.35M |
| | | | |
| | | |--62:EXCHANGE [BROADCAST] |
| | | | | |
| | | | 05:SCAN HDFS [tpcds.item] |
| | | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | | row-size=120B cardinality=18.00K |
| | | | |
| | | 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | | runtime filters: RF014 <- d_date_sk |
| | | | row-size=42B cardinality=2.35M |
| | | | |
| | | |--61:EXCHANGE [BROADCAST] |
| | | | | |
| | | | 04:SCAN HDFS [tpcds.date_dim] |
| | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | predicates: d_year IN (2000, 2001, 2002, 2003) |
| | | | row-size=30B cardinality=1.49K |
| | | | |
| | | 03:SCAN HDFS [tpcds.store_sales] |
| | | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | | runtime filters: RF014 -> ss_sold_date_sk |
| | | row-size=12B cardinality=2.88M |
| | | |
| | 21:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: cs_sold_date_sk = d_date_sk |
| | | runtime filters: RF010 <- d_date_sk |
| | | row-size=36B cardinality=85.31K |
| | | |
| | |--60:EXCHANGE [BROADCAST] |
| | | | |
| | | 02:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_year = 2000, d_moy = 2 |
| | | row-size=12B cardinality=108 |
| | | |
| | 01:SCAN HDFS [tpcds.catalog_sales] |
| | HDFS partitions=1/1 files=1 size=282.20MB |
| | runtime filters: RF010 -> cs_sold_date_sk |
| | row-size=24B cardinality=1.44M |
| | |
| 20:NESTED LOOP JOIN [INNER JOIN, BROADCAST] |
| | predicates: sum(ss_quantity * ss_sales_price) > 0.500000 * max(csales) |
| | row-size=36B cardinality=100.00K |
| | |
| |--59:EXCHANGE [BROADCAST] |
| | | |
| | 58:AGGREGATE [FINALIZE] |
| | | output: max:merge(csales) |
| | | row-size=16B cardinality=1 |
| | | |
| | 57:EXCHANGE [UNPARTITIONED] |
| | | |
| | 19:AGGREGATE |
| | | output: max(sum(ss_quantity * ss_sales_price)) |
| | | row-size=16B cardinality=1 |
| | | |
| | 56:AGGREGATE [FINALIZE] |
| | | output: sum:merge(ss_quantity * ss_sales_price) |
| | | group by: c_customer_sk |
| | | row-size=20B cardinality=100.00K |
| | | |
| | 55:EXCHANGE [HASH(c_customer_sk)] |
| | | |
| | 18:AGGREGATE [STREAMING] |
| | | output: sum(ss_quantity * ss_sales_price) |
| | | group by: c_customer_sk |
| | | row-size=20B cardinality=100.00K |
| | | |
| | 17:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_customer_sk = c_customer_sk |
| | | runtime filters: RF004 <- c_customer_sk |
| | | row-size=28B cardinality=2.35M |
| | | |
| | |--54:EXCHANGE [BROADCAST] |
| | | | |
| | | 14:SCAN HDFS [tpcds.customer] |
| | | HDFS partitions=1/1 files=1 size=12.60MB |
| | | row-size=4B cardinality=100.00K |
| | | |
| | 16:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ss_sold_date_sk = d_date_sk |
| | | runtime filters: RF006 <- d_date_sk |
| | | row-size=24B cardinality=2.35M |
| | | |
| | |--53:EXCHANGE [BROADCAST] |
| | | | |
| | | 15:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_year IN (2000, 2001, 2002, 2003) |
| | | row-size=8B cardinality=1.49K |
| | | |
| | 13:SCAN HDFS [tpcds.store_sales] |
| | HDFS partitions=1824/1824 files=1824 size=346.60MB |
| | runtime filters: RF006 -> ss_sold_date_sk, RF004 -> ss_customer_sk |
| | row-size=16B cardinality=2.88M |
| | |
| 52:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_quantity * ss_sales_price) |
| | group by: c_customer_sk |
| | row-size=20B cardinality=100.00K |
| | |
| 51:EXCHANGE [HASH(c_customer_sk)] |
| | |
| 12:AGGREGATE [STREAMING] |
| | output: sum(ss_quantity * ss_sales_price) |
| | group by: c_customer_sk |
| | row-size=20B cardinality=100.00K |
| | |
| 11:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_customer_sk = c_customer_sk |
| | runtime filters: RF002 <- c_customer_sk |
| | row-size=16B cardinality=2.88M |
| | |
| |--50:EXCHANGE [BROADCAST] |
| | | |
| | 10:SCAN HDFS [tpcds.customer] |
| | HDFS partitions=1/1 files=1 size=12.60MB |
| | runtime filters: RF000 -> tpcds.customer.c_customer_sk |
| | row-size=4B cardinality=100.00K |
| | |
| 09:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF000 -> tpcds.store_sales.ss_customer_sk, RF002 -> ss_customer_sk |
| row-size=12B cardinality=2.88M |
| ==== |
| # TPCDS-Q33 |
| with ss as ( |
| select |
| i_manufact_id,sum(ss_ext_sales_price) total_sales |
| from |
| store_sales, |
| date_dim, |
| customer_address, |
| item |
| where |
| i_manufact_id in (select |
| i_manufact_id |
| from |
| item |
| where i_category in ('Electronics')) |
| and ss_item_sk = i_item_sk |
| and ss_sold_date_sk = d_date_sk |
| and d_year = 1998 |
| and d_moy = 5 |
| and ss_addr_sk = ca_address_sk |
| and ca_gmt_offset = -5 |
| group by i_manufact_id), |
| cs as ( |
| select |
| i_manufact_id,sum(cs_ext_sales_price) total_sales |
| from |
| catalog_sales, |
| date_dim, |
| customer_address, |
| item |
| where |
| i_manufact_id in (select |
| i_manufact_id |
| from |
| item |
| where i_category in ('Electronics')) |
| and cs_item_sk = i_item_sk |
| and cs_sold_date_sk = d_date_sk |
| and d_year = 1998 |
| and d_moy = 5 |
| and cs_bill_addr_sk = ca_address_sk |
| and ca_gmt_offset = -5 |
| group by i_manufact_id), |
| ws as ( |
| select |
| i_manufact_id,sum(ws_ext_sales_price) total_sales |
| from |
| web_sales, |
| date_dim, |
| customer_address, |
| item |
| where |
| i_manufact_id in (select |
| i_manufact_id |
| from |
| item |
| where i_category in ('Electronics')) |
| and ws_item_sk = i_item_sk |
| and ws_sold_date_sk = d_date_sk |
| and d_year = 1998 |
| and d_moy = 5 |
| and ws_bill_addr_sk = ca_address_sk |
| and ca_gmt_offset = -5 |
| group by i_manufact_id) |
| select i_manufact_id ,sum(total_sales) total_sales |
| from (select * from ss |
| union all |
| select * from cs |
| union all |
| select * from ws) tmp1 |
| group by i_manufact_id |
| order by total_sales |
| limit 100; |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=59.69MB Threads=6 |
| Per-Host Resource Estimates: Memory=348MB |
| PLAN-ROOT SINK |
| | |
| 32:TOP-N [LIMIT=100] |
| | order by: sum(total_sales) ASC |
| | row-size=20B cardinality=100 |
| | |
| 31:AGGREGATE [FINALIZE] |
| | output: sum(total_sales) |
| | group by: i_manufact_id |
| | row-size=20B cardinality=2.83K |
| | |
| 00:UNION |
| | row-size=20B cardinality=2.83K |
| | |
| |--30:AGGREGATE [FINALIZE] |
| | | output: sum(ws_ext_sales_price) |
| | | group by: i_manufact_id |
| | | row-size=20B cardinality=944 |
| | | |
| | 29:HASH JOIN [LEFT SEMI JOIN] |
| | | hash predicates: i_manufact_id = i_manufact_id |
| | | row-size=52B cardinality=9.81K |
| | | |
| | |--25:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | predicates: i_category IN ('Electronics') |
| | | row-size=22B cardinality=1.80K |
| | | |
| | 28:HASH JOIN [INNER JOIN] |
| | | hash predicates: ws_item_sk = i_item_sk |
| | | row-size=52B cardinality=9.81K |
| | | |
| | |--24:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | row-size=12B cardinality=18.00K |
| | | |
| | 27:HASH JOIN [INNER JOIN] |
| | | hash predicates: ws_bill_addr_sk = ca_address_sk |
| | | runtime filters: RF020 <- ca_address_sk |
| | | row-size=40B cardinality=9.81K |
| | | |
| | |--23:SCAN HDFS [tpcds.customer_address] |
| | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | predicates: ca_gmt_offset = -5 |
| | | row-size=8B cardinality=8.33K |
| | | |
| | 26:HASH JOIN [INNER JOIN] |
| | | hash predicates: ws_sold_date_sk = d_date_sk |
| | | runtime filters: RF022 <- d_date_sk |
| | | row-size=32B cardinality=42.85K |
| | | |
| | |--22:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_year = 1998, d_moy = 5 |
| | | row-size=12B cardinality=108 |
| | | |
| | 21:SCAN HDFS [tpcds.web_sales] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | runtime filters: RF022 -> ws_sold_date_sk, RF020 -> ws_bill_addr_sk |
| | row-size=20B cardinality=719.38K |
| | |
| |--20:AGGREGATE [FINALIZE] |
| | | output: sum(cs_ext_sales_price) |
| | | group by: i_manufact_id |
| | | row-size=20B cardinality=944 |
| | | |
| | 19:HASH JOIN [LEFT SEMI JOIN] |
| | | hash predicates: i_manufact_id = i_manufact_id |
| | | runtime filters: RF008 <- i_manufact_id |
| | | row-size=52B cardinality=14.81K |
| | | |
| | |--15:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | predicates: i_category IN ('Electronics') |
| | | row-size=22B cardinality=1.80K |
| | | |
| | 18:HASH JOIN [INNER JOIN] |
| | | hash predicates: cs_item_sk = i_item_sk |
| | | runtime filters: RF010 <- i_item_sk |
| | | row-size=52B cardinality=14.81K |
| | | |
| | |--14:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | runtime filters: RF008 -> i_manufact_id |
| | | row-size=12B cardinality=18.00K |
| | | |
| | 17:HASH JOIN [INNER JOIN] |
| | | hash predicates: cs_bill_addr_sk = ca_address_sk |
| | | runtime filters: RF012 <- ca_address_sk |
| | | row-size=40B cardinality=14.81K |
| | | |
| | |--13:SCAN HDFS [tpcds.customer_address] |
| | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | predicates: ca_gmt_offset = -5 |
| | | row-size=8B cardinality=8.33K |
| | | |
| | 16:HASH JOIN [INNER JOIN] |
| | | hash predicates: cs_sold_date_sk = d_date_sk |
| | | runtime filters: RF014 <- d_date_sk |
| | | row-size=32B cardinality=85.31K |
| | | |
| | |--12:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_year = 1998, d_moy = 5 |
| | | row-size=12B cardinality=108 |
| | | |
| | 11:SCAN HDFS [tpcds.catalog_sales] |
| | HDFS partitions=1/1 files=1 size=282.20MB |
| | runtime filters: RF014 -> cs_sold_date_sk, RF012 -> cs_bill_addr_sk, RF010 -> cs_item_sk |
| | row-size=20B cardinality=1.44M |
| | |
| 10:AGGREGATE [FINALIZE] |
| | output: sum(ss_ext_sales_price) |
| | group by: i_manufact_id |
| | row-size=20B cardinality=944 |
| | |
| 09:HASH JOIN [LEFT SEMI JOIN] |
| | hash predicates: i_manufact_id = i_manufact_id |
| | runtime filters: RF000 <- i_manufact_id |
| | row-size=52B cardinality=28.50K |
| | |
| |--05:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_category IN ('Electronics') |
| | row-size=22B cardinality=1.80K |
| | |
| 08:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF002 <- i_item_sk |
| | row-size=52B cardinality=28.50K |
| | |
| |--04:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | runtime filters: RF000 -> i_manufact_id |
| | row-size=12B cardinality=18.00K |
| | |
| 07:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_addr_sk = ca_address_sk |
| | runtime filters: RF004 <- ca_address_sk |
| | row-size=40B cardinality=28.50K |
| | |
| |--03:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | predicates: ca_gmt_offset = -5 |
| | row-size=8B cardinality=8.33K |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF006 <- d_date_sk |
| | row-size=32B cardinality=170.55K |
| | |
| |--02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1998, d_moy = 5 |
| | row-size=12B cardinality=108 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF006 -> ss_sold_date_sk, RF004 -> ss_addr_sk, RF002 -> ss_item_sk |
| row-size=20B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=168.12MB Threads=35 |
| Per-Host Resource Estimates: Memory=994MB |
| PLAN-ROOT SINK |
| | |
| 55:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: sum(total_sales) ASC |
| | limit: 100 |
| | |
| 32:TOP-N [LIMIT=100] |
| | order by: sum(total_sales) ASC |
| | row-size=20B cardinality=100 |
| | |
| 54:AGGREGATE [FINALIZE] |
| | output: sum:merge(total_sales) |
| | group by: i_manufact_id |
| | row-size=20B cardinality=2.83K |
| | |
| 53:EXCHANGE [HASH(i_manufact_id)] |
| | |
| 31:AGGREGATE [STREAMING] |
| | output: sum(total_sales) |
| | group by: i_manufact_id |
| | row-size=20B cardinality=2.83K |
| | |
| 00:UNION |
| | row-size=20B cardinality=2.83K |
| | |
| |--52:AGGREGATE [FINALIZE] |
| | | output: sum:merge(ws_ext_sales_price) |
| | | group by: i_manufact_id |
| | | row-size=20B cardinality=944 |
| | | |
| | 51:EXCHANGE [HASH(i_manufact_id)] |
| | | |
| | 30:AGGREGATE [STREAMING] |
| | | output: sum(ws_ext_sales_price) |
| | | group by: i_manufact_id |
| | | row-size=20B cardinality=944 |
| | | |
| | 29:HASH JOIN [LEFT SEMI JOIN, BROADCAST] |
| | | hash predicates: i_manufact_id = i_manufact_id |
| | | row-size=52B cardinality=9.81K |
| | | |
| | |--50:EXCHANGE [BROADCAST] |
| | | | |
| | | 25:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | predicates: i_category IN ('Electronics') |
| | | row-size=22B cardinality=1.80K |
| | | |
| | 28:HASH JOIN [INNER JOIN, PARTITIONED] |
| | | hash predicates: ws_item_sk = i_item_sk |
| | | row-size=52B cardinality=9.81K |
| | | |
| | |--49:EXCHANGE [HASH(i_item_sk)] |
| | | | |
| | | 24:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | row-size=12B cardinality=18.00K |
| | | |
| | 48:EXCHANGE [HASH(ws_item_sk)] |
| | | |
| | 27:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ws_bill_addr_sk = ca_address_sk |
| | | runtime filters: RF020 <- ca_address_sk |
| | | row-size=40B cardinality=9.81K |
| | | |
| | |--47:EXCHANGE [BROADCAST] |
| | | | |
| | | 23:SCAN HDFS [tpcds.customer_address] |
| | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | predicates: ca_gmt_offset = -5 |
| | | row-size=8B cardinality=8.33K |
| | | |
| | 26:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ws_sold_date_sk = d_date_sk |
| | | runtime filters: RF022 <- d_date_sk |
| | | row-size=32B cardinality=42.85K |
| | | |
| | |--46:EXCHANGE [BROADCAST] |
| | | | |
| | | 22:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_year = 1998, d_moy = 5 |
| | | row-size=12B cardinality=108 |
| | | |
| | 21:SCAN HDFS [tpcds.web_sales] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | runtime filters: RF022 -> ws_sold_date_sk, RF020 -> ws_bill_addr_sk |
| | row-size=20B cardinality=719.38K |
| | |
| |--45:AGGREGATE [FINALIZE] |
| | | output: sum:merge(cs_ext_sales_price) |
| | | group by: i_manufact_id |
| | | row-size=20B cardinality=944 |
| | | |
| | 44:EXCHANGE [HASH(i_manufact_id)] |
| | | |
| | 20:AGGREGATE [STREAMING] |
| | | output: sum(cs_ext_sales_price) |
| | | group by: i_manufact_id |
| | | row-size=20B cardinality=944 |
| | | |
| | 19:HASH JOIN [LEFT SEMI JOIN, BROADCAST] |
| | | hash predicates: i_manufact_id = i_manufact_id |
| | | runtime filters: RF008 <- i_manufact_id |
| | | row-size=52B cardinality=14.81K |
| | | |
| | |--43:EXCHANGE [BROADCAST] |
| | | | |
| | | 15:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | predicates: i_category IN ('Electronics') |
| | | row-size=22B cardinality=1.80K |
| | | |
| | 18:HASH JOIN [INNER JOIN, PARTITIONED] |
| | | hash predicates: cs_item_sk = i_item_sk |
| | | runtime filters: RF010 <- i_item_sk |
| | | row-size=52B cardinality=14.81K |
| | | |
| | |--42:EXCHANGE [HASH(i_item_sk)] |
| | | | |
| | | 14:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | runtime filters: RF008 -> i_manufact_id |
| | | row-size=12B cardinality=18.00K |
| | | |
| | 41:EXCHANGE [HASH(cs_item_sk)] |
| | | |
| | 17:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: cs_bill_addr_sk = ca_address_sk |
| | | runtime filters: RF012 <- ca_address_sk |
| | | row-size=40B cardinality=14.81K |
| | | |
| | |--40:EXCHANGE [BROADCAST] |
| | | | |
| | | 13:SCAN HDFS [tpcds.customer_address] |
| | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | predicates: ca_gmt_offset = -5 |
| | | row-size=8B cardinality=8.33K |
| | | |
| | 16:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: cs_sold_date_sk = d_date_sk |
| | | runtime filters: RF014 <- d_date_sk |
| | | row-size=32B cardinality=85.31K |
| | | |
| | |--39:EXCHANGE [BROADCAST] |
| | | | |
| | | 12:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_year = 1998, d_moy = 5 |
| | | row-size=12B cardinality=108 |
| | | |
| | 11:SCAN HDFS [tpcds.catalog_sales] |
| | HDFS partitions=1/1 files=1 size=282.20MB |
| | runtime filters: RF014 -> cs_sold_date_sk, RF012 -> cs_bill_addr_sk, RF010 -> cs_item_sk |
| | row-size=20B cardinality=1.44M |
| | |
| 38:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price) |
| | group by: i_manufact_id |
| | row-size=20B cardinality=944 |
| | |
| 37:EXCHANGE [HASH(i_manufact_id)] |
| | |
| 10:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price) |
| | group by: i_manufact_id |
| | row-size=20B cardinality=944 |
| | |
| 09:HASH JOIN [LEFT SEMI JOIN, BROADCAST] |
| | hash predicates: i_manufact_id = i_manufact_id |
| | runtime filters: RF000 <- i_manufact_id |
| | row-size=52B cardinality=28.50K |
| | |
| |--36:EXCHANGE [BROADCAST] |
| | | |
| | 05:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_category IN ('Electronics') |
| | row-size=22B cardinality=1.80K |
| | |
| 08:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF002 <- i_item_sk |
| | row-size=52B cardinality=28.50K |
| | |
| |--35:EXCHANGE [BROADCAST] |
| | | |
| | 04:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | runtime filters: RF000 -> i_manufact_id |
| | row-size=12B cardinality=18.00K |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_addr_sk = ca_address_sk |
| | runtime filters: RF004 <- ca_address_sk |
| | row-size=40B cardinality=28.50K |
| | |
| |--34:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | predicates: ca_gmt_offset = -5 |
| | row-size=8B cardinality=8.33K |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF006 <- d_date_sk |
| | row-size=32B cardinality=170.55K |
| | |
| |--33:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1998, d_moy = 5 |
| | row-size=12B cardinality=108 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF006 -> ss_sold_date_sk, RF004 -> ss_addr_sk, RF002 -> ss_item_sk |
| row-size=20B cardinality=2.88M |
| ==== |
| # TPCDS-Q60 |
| with ss as ( |
| select |
| i_item_id,sum(ss_ext_sales_price) total_sales |
| from |
| store_sales, |
| date_dim, |
| customer_address, |
| item |
| where |
| i_item_id in (select |
| i_item_id |
| from |
| item |
| where i_category in ('Music')) |
| and ss_item_sk = i_item_sk |
| and ss_sold_date_sk = d_date_sk |
| and d_year = 1998 |
| and d_moy = 9 |
| and ss_addr_sk = ca_address_sk |
| and ca_gmt_offset = -5 |
| group by i_item_id), |
| cs as ( |
| select |
| i_item_id,sum(cs_ext_sales_price) total_sales |
| from |
| catalog_sales, |
| date_dim, |
| customer_address, |
| item |
| where |
| i_item_id in (select |
| i_item_id |
| from |
| item |
| where i_category in ('Music')) |
| and cs_item_sk = i_item_sk |
| and cs_sold_date_sk = d_date_sk |
| and d_year = 1998 |
| and d_moy = 9 |
| and cs_bill_addr_sk = ca_address_sk |
| and ca_gmt_offset = -5 |
| group by i_item_id), |
| ws as ( |
| select |
| i_item_id,sum(ws_ext_sales_price) total_sales |
| from |
| web_sales, |
| date_dim, |
| customer_address, |
| item |
| where |
| i_item_id in (select |
| i_item_id |
| from |
| item |
| where i_category in ('Music')) |
| and ws_item_sk = i_item_sk |
| and ws_sold_date_sk = d_date_sk |
| and d_year = 1998 |
| and d_moy = 9 |
| and ws_bill_addr_sk = ca_address_sk |
| and ca_gmt_offset = -5 |
| group by i_item_id) |
| select |
| i_item_id |
| ,sum(total_sales) total_sales |
| from (select * from ss |
| union all |
| select * from cs |
| union all |
| select * from ws) tmp1 |
| group by i_item_id |
| order by i_item_id |
| ,total_sales |
| limit 100; |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=59.69MB Threads=6 |
| Per-Host Resource Estimates: Memory=346MB |
| PLAN-ROOT SINK |
| | |
| 32:TOP-N [LIMIT=100] |
| | order by: i_item_id ASC, sum(total_sales) ASC |
| | row-size=44B cardinality=100 |
| | |
| 31:AGGREGATE [FINALIZE] |
| | output: sum(total_sales) |
| | group by: i_item_id |
| | row-size=44B cardinality=10.80K |
| | |
| 00:UNION |
| | row-size=44B cardinality=10.80K |
| | |
| |--30:AGGREGATE [FINALIZE] |
| | | output: sum(ws_ext_sales_price) |
| | | group by: i_item_id |
| | | row-size=44B cardinality=2.00K |
| | | |
| | 29:HASH JOIN [LEFT SEMI JOIN] |
| | | hash predicates: i_item_id = i_item_id |
| | | runtime filters: RF016 <- i_item_id |
| | | row-size=76B cardinality=2.00K |
| | | |
| | |--25:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | predicates: i_category IN ('Music') |
| | | row-size=46B cardinality=1.80K |
| | | |
| | 28:HASH JOIN [INNER JOIN] |
| | | hash predicates: i_item_sk = ws_item_sk |
| | | runtime filters: RF018 <- ws_item_sk |
| | | row-size=76B cardinality=9.81K |
| | | |
| | |--27:HASH JOIN [INNER JOIN] |
| | | | hash predicates: ws_bill_addr_sk = ca_address_sk |
| | | | runtime filters: RF020 <- ca_address_sk |
| | | | row-size=40B cardinality=9.81K |
| | | | |
| | | |--23:SCAN HDFS [tpcds.customer_address] |
| | | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | | predicates: ca_gmt_offset = -5 |
| | | | row-size=8B cardinality=8.33K |
| | | | |
| | | 26:HASH JOIN [INNER JOIN] |
| | | | hash predicates: ws_sold_date_sk = d_date_sk |
| | | | runtime filters: RF022 <- d_date_sk |
| | | | row-size=32B cardinality=42.85K |
| | | | |
| | | |--22:SCAN HDFS [tpcds.date_dim] |
| | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | predicates: d_year = 1998, d_moy = 9 |
| | | | row-size=12B cardinality=108 |
| | | | |
| | | 21:SCAN HDFS [tpcds.web_sales] |
| | | HDFS partitions=1/1 files=1 size=140.07MB |
| | | runtime filters: RF022 -> ws_sold_date_sk, RF020 -> ws_bill_addr_sk |
| | | row-size=20B cardinality=719.38K |
| | | |
| | 24:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | runtime filters: RF016 -> i_item_id, RF018 -> i_item_sk |
| | row-size=36B cardinality=18.00K |
| | |
| |--20:AGGREGATE [FINALIZE] |
| | | output: sum(cs_ext_sales_price) |
| | | group by: i_item_id |
| | | row-size=44B cardinality=3.01K |
| | | |
| | 19:HASH JOIN [LEFT SEMI JOIN] |
| | | hash predicates: i_item_id = i_item_id |
| | | runtime filters: RF008 <- i_item_id |
| | | row-size=76B cardinality=3.01K |
| | | |
| | |--15:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | predicates: i_category IN ('Music') |
| | | row-size=46B cardinality=1.80K |
| | | |
| | 18:HASH JOIN [INNER JOIN] |
| | | hash predicates: i_item_sk = cs_item_sk |
| | | row-size=76B cardinality=14.81K |
| | | |
| | |--17:HASH JOIN [INNER JOIN] |
| | | | hash predicates: cs_bill_addr_sk = ca_address_sk |
| | | | runtime filters: RF012 <- ca_address_sk |
| | | | row-size=40B cardinality=14.81K |
| | | | |
| | | |--13:SCAN HDFS [tpcds.customer_address] |
| | | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | | predicates: ca_gmt_offset = -5 |
| | | | row-size=8B cardinality=8.33K |
| | | | |
| | | 16:HASH JOIN [INNER JOIN] |
| | | | hash predicates: cs_sold_date_sk = d_date_sk |
| | | | runtime filters: RF014 <- d_date_sk |
| | | | row-size=32B cardinality=85.31K |
| | | | |
| | | |--12:SCAN HDFS [tpcds.date_dim] |
| | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | predicates: d_year = 1998, d_moy = 9 |
| | | | row-size=12B cardinality=108 |
| | | | |
| | | 11:SCAN HDFS [tpcds.catalog_sales] |
| | | HDFS partitions=1/1 files=1 size=282.20MB |
| | | runtime filters: RF014 -> cs_sold_date_sk, RF012 -> cs_bill_addr_sk |
| | | row-size=20B cardinality=1.44M |
| | | |
| | 14:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | runtime filters: RF008 -> i_item_id |
| | row-size=36B cardinality=18.00K |
| | |
| 10:AGGREGATE [FINALIZE] |
| | output: sum(ss_ext_sales_price) |
| | group by: i_item_id |
| | row-size=44B cardinality=5.79K |
| | |
| 09:HASH JOIN [LEFT SEMI JOIN] |
| | hash predicates: i_item_id = i_item_id |
| | runtime filters: RF000 <- i_item_id |
| | row-size=76B cardinality=5.79K |
| | |
| |--05:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_category IN ('Music') |
| | row-size=46B cardinality=1.80K |
| | |
| 08:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_item_sk = i_item_sk |
| | row-size=76B cardinality=28.50K |
| | |
| |--04:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | runtime filters: RF000 -> i_item_id |
| | row-size=36B cardinality=18.00K |
| | |
| 07:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_addr_sk = ca_address_sk |
| | runtime filters: RF004 <- ca_address_sk |
| | row-size=40B cardinality=28.50K |
| | |
| |--03:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | predicates: ca_gmt_offset = -5 |
| | row-size=8B cardinality=8.33K |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF006 <- d_date_sk |
| | row-size=32B cardinality=170.55K |
| | |
| |--02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1998, d_moy = 9 |
| | row-size=12B cardinality=108 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF006 -> ss_sold_date_sk, RF004 -> ss_addr_sk |
| row-size=20B cardinality=2.88M |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=169.12MB Threads=36 |
| Per-Host Resource Estimates: Memory=998MB |
| PLAN-ROOT SINK |
| | |
| 56:MERGING-EXCHANGE [UNPARTITIONED] |
| | order by: i_item_id ASC, sum(total_sales) ASC |
| | limit: 100 |
| | |
| 32:TOP-N [LIMIT=100] |
| | order by: i_item_id ASC, sum(total_sales) ASC |
| | row-size=44B cardinality=100 |
| | |
| 55:AGGREGATE [FINALIZE] |
| | output: sum:merge(total_sales) |
| | group by: i_item_id |
| | row-size=44B cardinality=10.80K |
| | |
| 54:EXCHANGE [HASH(i_item_id)] |
| | |
| 31:AGGREGATE [STREAMING] |
| | output: sum(total_sales) |
| | group by: i_item_id |
| | row-size=44B cardinality=10.80K |
| | |
| 00:UNION |
| | row-size=44B cardinality=10.80K |
| | |
| |--53:AGGREGATE [FINALIZE] |
| | | output: sum:merge(ws_ext_sales_price) |
| | | group by: i_item_id |
| | | row-size=44B cardinality=2.00K |
| | | |
| | 52:EXCHANGE [HASH(i_item_id)] |
| | | |
| | 30:AGGREGATE [STREAMING] |
| | | output: sum(ws_ext_sales_price) |
| | | group by: i_item_id |
| | | row-size=44B cardinality=2.00K |
| | | |
| | 29:HASH JOIN [LEFT SEMI JOIN, BROADCAST] |
| | | hash predicates: i_item_id = i_item_id |
| | | runtime filters: RF016 <- i_item_id |
| | | row-size=76B cardinality=2.00K |
| | | |
| | |--51:EXCHANGE [BROADCAST] |
| | | | |
| | | 25:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | predicates: i_category IN ('Music') |
| | | row-size=46B cardinality=1.80K |
| | | |
| | 28:HASH JOIN [INNER JOIN, PARTITIONED] |
| | | hash predicates: ws_item_sk = i_item_sk |
| | | row-size=76B cardinality=9.81K |
| | | |
| | |--50:EXCHANGE [HASH(i_item_sk)] |
| | | | |
| | | 24:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | runtime filters: RF016 -> i_item_id |
| | | row-size=36B cardinality=18.00K |
| | | |
| | 49:EXCHANGE [HASH(ws_item_sk)] |
| | | |
| | 27:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ws_bill_addr_sk = ca_address_sk |
| | | runtime filters: RF020 <- ca_address_sk |
| | | row-size=40B cardinality=9.81K |
| | | |
| | |--48:EXCHANGE [BROADCAST] |
| | | | |
| | | 23:SCAN HDFS [tpcds.customer_address] |
| | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | predicates: ca_gmt_offset = -5 |
| | | row-size=8B cardinality=8.33K |
| | | |
| | 26:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: ws_sold_date_sk = d_date_sk |
| | | runtime filters: RF022 <- d_date_sk |
| | | row-size=32B cardinality=42.85K |
| | | |
| | |--47:EXCHANGE [BROADCAST] |
| | | | |
| | | 22:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_year = 1998, d_moy = 9 |
| | | row-size=12B cardinality=108 |
| | | |
| | 21:SCAN HDFS [tpcds.web_sales] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | runtime filters: RF022 -> ws_sold_date_sk, RF020 -> ws_bill_addr_sk |
| | row-size=20B cardinality=719.38K |
| | |
| |--46:AGGREGATE [FINALIZE] |
| | | output: sum:merge(cs_ext_sales_price) |
| | | group by: i_item_id |
| | | row-size=44B cardinality=3.01K |
| | | |
| | 45:EXCHANGE [HASH(i_item_id)] |
| | | |
| | 20:AGGREGATE [STREAMING] |
| | | output: sum(cs_ext_sales_price) |
| | | group by: i_item_id |
| | | row-size=44B cardinality=3.01K |
| | | |
| | 19:HASH JOIN [LEFT SEMI JOIN, BROADCAST] |
| | | hash predicates: i_item_id = i_item_id |
| | | runtime filters: RF008 <- i_item_id |
| | | row-size=76B cardinality=3.01K |
| | | |
| | |--44:EXCHANGE [BROADCAST] |
| | | | |
| | | 15:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | predicates: i_category IN ('Music') |
| | | row-size=46B cardinality=1.80K |
| | | |
| | 18:HASH JOIN [INNER JOIN, PARTITIONED] |
| | | hash predicates: cs_item_sk = i_item_sk |
| | | row-size=76B cardinality=14.81K |
| | | |
| | |--43:EXCHANGE [HASH(i_item_sk)] |
| | | | |
| | | 14:SCAN HDFS [tpcds.item] |
| | | HDFS partitions=1/1 files=1 size=4.82MB |
| | | runtime filters: RF008 -> i_item_id |
| | | row-size=36B cardinality=18.00K |
| | | |
| | 42:EXCHANGE [HASH(cs_item_sk)] |
| | | |
| | 17:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: cs_bill_addr_sk = ca_address_sk |
| | | runtime filters: RF012 <- ca_address_sk |
| | | row-size=40B cardinality=14.81K |
| | | |
| | |--41:EXCHANGE [BROADCAST] |
| | | | |
| | | 13:SCAN HDFS [tpcds.customer_address] |
| | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | predicates: ca_gmt_offset = -5 |
| | | row-size=8B cardinality=8.33K |
| | | |
| | 16:HASH JOIN [INNER JOIN, BROADCAST] |
| | | hash predicates: cs_sold_date_sk = d_date_sk |
| | | runtime filters: RF014 <- d_date_sk |
| | | row-size=32B cardinality=85.31K |
| | | |
| | |--40:EXCHANGE [BROADCAST] |
| | | | |
| | | 12:SCAN HDFS [tpcds.date_dim] |
| | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | predicates: d_year = 1998, d_moy = 9 |
| | | row-size=12B cardinality=108 |
| | | |
| | 11:SCAN HDFS [tpcds.catalog_sales] |
| | HDFS partitions=1/1 files=1 size=282.20MB |
| | runtime filters: RF014 -> cs_sold_date_sk, RF012 -> cs_bill_addr_sk |
| | row-size=20B cardinality=1.44M |
| | |
| 39:AGGREGATE [FINALIZE] |
| | output: sum:merge(ss_ext_sales_price) |
| | group by: i_item_id |
| | row-size=44B cardinality=5.79K |
| | |
| 38:EXCHANGE [HASH(i_item_id)] |
| | |
| 10:AGGREGATE [STREAMING] |
| | output: sum(ss_ext_sales_price) |
| | group by: i_item_id |
| | row-size=44B cardinality=5.79K |
| | |
| 09:HASH JOIN [LEFT SEMI JOIN, BROADCAST] |
| | hash predicates: i_item_id = i_item_id |
| | runtime filters: RF000 <- i_item_id |
| | row-size=76B cardinality=5.79K |
| | |
| |--37:EXCHANGE [BROADCAST] |
| | | |
| | 05:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | predicates: i_category IN ('Music') |
| | row-size=46B cardinality=1.80K |
| | |
| 08:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ss_item_sk = i_item_sk |
| | runtime filters: RF002 <- i_item_sk |
| | row-size=76B cardinality=28.50K |
| | |
| |--36:EXCHANGE [HASH(i_item_sk)] |
| | | |
| | 04:SCAN HDFS [tpcds.item] |
| | HDFS partitions=1/1 files=1 size=4.82MB |
| | runtime filters: RF000 -> i_item_id |
| | row-size=36B cardinality=18.00K |
| | |
| 35:EXCHANGE [HASH(ss_item_sk)] |
| | |
| 07:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_addr_sk = ca_address_sk |
| | runtime filters: RF004 <- ca_address_sk |
| | row-size=40B cardinality=28.50K |
| | |
| |--34:EXCHANGE [BROADCAST] |
| | | |
| | 03:SCAN HDFS [tpcds.customer_address] |
| | HDFS partitions=1/1 files=1 size=5.25MB |
| | predicates: ca_gmt_offset = -5 |
| | row-size=8B cardinality=8.33K |
| | |
| 06:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: ss_sold_date_sk = d_date_sk |
| | runtime filters: RF006 <- d_date_sk |
| | row-size=32B cardinality=170.55K |
| | |
| |--33:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [tpcds.date_dim] |
| | HDFS partitions=1/1 files=1 size=9.84MB |
| | predicates: d_year = 1998, d_moy = 9 |
| | row-size=12B cardinality=108 |
| | |
| 01:SCAN HDFS [tpcds.store_sales] |
| HDFS partitions=1824/1824 files=1824 size=346.60MB |
| runtime filters: RF006 -> ss_sold_date_sk, RF004 -> ss_addr_sk, RF002 -> ss_item_sk |
| row-size=20B cardinality=2.88M |
| ==== |
| # TPCDS-Q95 |
| with ws_wh as |
| (select ws1.ws_order_number,ws1.ws_warehouse_sk wh1,ws2.ws_warehouse_sk wh2 |
| from web_sales ws1,web_sales ws2 |
| where ws1.ws_order_number = ws2.ws_order_number |
| and ws1.ws_warehouse_sk <> ws2.ws_warehouse_sk) |
| select |
| count(distinct ws_order_number) as "order count" |
| ,sum(ws_ext_ship_cost) as "total shipping cost" |
| ,sum(ws_net_profit) as "total net profit" |
| from |
| web_sales ws1 |
| ,date_dim |
| ,customer_address |
| ,web_site |
| where |
| cast(d_date as timestamp) between cast('1999-02-01' as timestamp) and |
| (cast('1999-02-01' as timestamp) + interval 60 days) |
| and ws1.ws_ship_date_sk = d_date_sk |
| and ws1.ws_ship_addr_sk = ca_address_sk |
| and ca_state = 'IL' |
| and ws1.ws_web_site_sk = web_site_sk |
| and web_company_name = 'pri' |
| and ws1.ws_order_number in (select ws_order_number |
| from ws_wh) |
| and ws1.ws_order_number in (select wr_order_number |
| from web_returns,ws_wh |
| where wr_order_number = ws_wh.ws_order_number) |
| order by count(distinct ws_order_number) |
| limit 100; |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=113.77MB Threads=10 |
| Per-Host Resource Estimates: Memory=1010MB |
| PLAN-ROOT SINK |
| | |
| 21:TOP-N [LIMIT=100] |
| | order by: count(ws_order_number) ASC |
| | row-size=40B cardinality=1 |
| | |
| 20:AGGREGATE [FINALIZE] |
| | output: count(ws_order_number), sum:merge(ws_ext_ship_cost), sum:merge(ws_net_profit) |
| | row-size=40B cardinality=1 |
| | |
| 19:AGGREGATE |
| | output: sum(ws_ext_ship_cost), sum(ws_net_profit) |
| | group by: ws_order_number |
| | row-size=40B cardinality=3.25K |
| | |
| 18:HASH JOIN [RIGHT SEMI JOIN] |
| | hash predicates: tpcds.web_returns.wr_order_number = ws1.ws_order_number |
| | runtime filters: RF000 <- ws1.ws_order_number |
| | row-size=92B cardinality=3.25K |
| | |
| |--16:HASH JOIN [RIGHT SEMI JOIN] |
| | | hash predicates: ws1.ws_order_number = ws1.ws_order_number |
| | | runtime filters: RF006 <- ws1.ws_order_number |
| | | row-size=92B cardinality=3.25K |
| | | |
| | |--14:HASH JOIN [INNER JOIN] |
| | | | hash predicates: ws1.ws_ship_date_sk = d_date_sk |
| | | | runtime filters: RF010 <- d_date_sk |
| | | | row-size=92B cardinality=3.25K |
| | | | |
| | | |--01:SCAN HDFS [tpcds.date_dim] |
| | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | predicates: CAST(d_date AS TIMESTAMP) <= TIMESTAMP '1999-04-02 00:00:00', CAST(d_date AS TIMESTAMP) >= TIMESTAMP '1999-02-01 00:00:00' |
| | | | row-size=26B cardinality=7.30K |
| | | | |
| | | 13:HASH JOIN [INNER JOIN] |
| | | | hash predicates: ws1.ws_web_site_sk = web_site_sk |
| | | | runtime filters: RF012 <- web_site_sk |
| | | | row-size=66B cardinality=3.25K |
| | | | |
| | | |--03:SCAN HDFS [tpcds.web_site] |
| | | | HDFS partitions=1/1 files=1 size=8.57KB |
| | | | predicates: web_company_name = 'pri' |
| | | | row-size=20B cardinality=5 |
| | | | |
| | | 12:HASH JOIN [INNER JOIN] |
| | | | hash predicates: ws1.ws_ship_addr_sk = ca_address_sk |
| | | | runtime filters: RF014 <- ca_address_sk |
| | | | row-size=46B cardinality=19.52K |
| | | | |
| | | |--02:SCAN HDFS [tpcds.customer_address] |
| | | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | | predicates: ca_state = 'IL' |
| | | | row-size=18B cardinality=980 |
| | | | |
| | | 00:SCAN HDFS [tpcds.web_sales ws1] |
| | | HDFS partitions=1/1 files=1 size=140.07MB |
| | | runtime filters: RF010 -> ws1.ws_ship_date_sk, RF012 -> ws1.ws_web_site_sk, RF014 -> ws1.ws_ship_addr_sk |
| | | row-size=28B cardinality=719.38K |
| | | |
| | 15:AGGREGATE [FINALIZE] |
| | | group by: ws1.ws_order_number |
| | | row-size=8B cardinality=59.77K |
| | | |
| | 06:HASH JOIN [INNER JOIN] |
| | | hash predicates: ws1.ws_order_number = ws2.ws_order_number |
| | | other predicates: ws1.ws_warehouse_sk != ws2.ws_warehouse_sk |
| | | runtime filters: RF008 <- ws2.ws_order_number |
| | | row-size=24B cardinality=8.66M |
| | | |
| | |--05:SCAN HDFS [tpcds.web_sales ws2] |
| | | HDFS partitions=1/1 files=1 size=140.07MB |
| | | runtime filters: RF006 -> ws2.ws_order_number |
| | | row-size=12B cardinality=719.38K |
| | | |
| | 04:SCAN HDFS [tpcds.web_sales ws1] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | runtime filters: RF006 -> ws1.ws_order_number, RF008 -> ws1.ws_order_number |
| | row-size=12B cardinality=719.38K |
| | |
| 17:AGGREGATE [FINALIZE] |
| | group by: tpcds.web_returns.wr_order_number |
| | row-size=8B cardinality=43.44K |
| | |
| 11:HASH JOIN [INNER JOIN] |
| | hash predicates: ws1.ws_order_number = wr_order_number |
| | runtime filters: RF002 <- wr_order_number |
| | row-size=32B cardinality=10.39M |
| | |
| |--07:SCAN HDFS [tpcds.web_returns] |
| | HDFS partitions=1/1 files=1 size=9.35MB |
| | runtime filters: RF000 -> tpcds.web_returns.wr_order_number |
| | row-size=8B cardinality=71.76K |
| | |
| 10:HASH JOIN [INNER JOIN] |
| | hash predicates: ws1.ws_order_number = ws2.ws_order_number |
| | other predicates: ws1.ws_warehouse_sk != ws2.ws_warehouse_sk |
| | runtime filters: RF004 <- ws2.ws_order_number |
| | row-size=24B cardinality=8.66M |
| | |
| |--09:SCAN HDFS [tpcds.web_sales ws2] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | runtime filters: RF000 -> ws2.ws_order_number, RF002 -> ws2.ws_order_number |
| | row-size=12B cardinality=719.38K |
| | |
| 08:SCAN HDFS [tpcds.web_sales ws1] |
| HDFS partitions=1/1 files=1 size=140.07MB |
| runtime filters: RF000 -> ws1.ws_order_number, RF002 -> ws1.ws_order_number, RF004 -> ws1.ws_order_number |
| row-size=12B cardinality=719.38K |
| ---- DISTRIBUTEDPLAN |
| Max Per-Host Resource Reservation: Memory=112.58MB Threads=21 |
| Per-Host Resource Estimates: Memory=1.02GB |
| PLAN-ROOT SINK |
| | |
| 21:TOP-N [LIMIT=100] |
| | order by: count(ws_order_number) ASC |
| | row-size=40B cardinality=1 |
| | |
| 33:AGGREGATE [FINALIZE] |
| | output: count:merge(ws_order_number), sum:merge(ws_ext_ship_cost), sum:merge(ws_net_profit) |
| | row-size=40B cardinality=1 |
| | |
| 32:EXCHANGE [UNPARTITIONED] |
| | |
| 20:AGGREGATE |
| | output: count(ws_order_number), sum:merge(ws_ext_ship_cost), sum:merge(ws_net_profit) |
| | row-size=40B cardinality=1 |
| | |
| 19:AGGREGATE |
| | output: sum(ws_ext_ship_cost), sum(ws_net_profit) |
| | group by: ws_order_number |
| | row-size=40B cardinality=3.25K |
| | |
| 18:HASH JOIN [RIGHT SEMI JOIN, PARTITIONED] |
| | hash predicates: tpcds.web_returns.wr_order_number = ws1.ws_order_number |
| | runtime filters: RF000 <- ws1.ws_order_number |
| | row-size=92B cardinality=3.25K |
| | |
| |--16:HASH JOIN [RIGHT SEMI JOIN, PARTITIONED] |
| | | hash predicates: ws1.ws_order_number = ws1.ws_order_number |
| | | runtime filters: RF006 <- ws1.ws_order_number |
| | | row-size=92B cardinality=3.25K |
| | | |
| | |--31:EXCHANGE [HASH(ws1.ws_order_number)] |
| | | | |
| | | 14:HASH JOIN [INNER JOIN, PARTITIONED] |
| | | | hash predicates: ws1.ws_ship_date_sk = d_date_sk |
| | | | runtime filters: RF010 <- d_date_sk |
| | | | row-size=92B cardinality=3.25K |
| | | | |
| | | |--30:EXCHANGE [HASH(d_date_sk)] |
| | | | | |
| | | | 01:SCAN HDFS [tpcds.date_dim] |
| | | | HDFS partitions=1/1 files=1 size=9.84MB |
| | | | predicates: CAST(d_date AS TIMESTAMP) <= TIMESTAMP '1999-04-02 00:00:00', CAST(d_date AS TIMESTAMP) >= TIMESTAMP '1999-02-01 00:00:00' |
| | | | row-size=26B cardinality=7.30K |
| | | | |
| | | 29:EXCHANGE [HASH(ws1.ws_ship_date_sk)] |
| | | | |
| | | 13:HASH JOIN [INNER JOIN, BROADCAST] |
| | | | hash predicates: ws1.ws_web_site_sk = web_site_sk |
| | | | runtime filters: RF012 <- web_site_sk |
| | | | row-size=66B cardinality=3.25K |
| | | | |
| | | |--28:EXCHANGE [BROADCAST] |
| | | | | |
| | | | 03:SCAN HDFS [tpcds.web_site] |
| | | | HDFS partitions=1/1 files=1 size=8.57KB |
| | | | predicates: web_company_name = 'pri' |
| | | | row-size=20B cardinality=5 |
| | | | |
| | | 12:HASH JOIN [INNER JOIN, BROADCAST] |
| | | | hash predicates: ws1.ws_ship_addr_sk = ca_address_sk |
| | | | runtime filters: RF014 <- ca_address_sk |
| | | | row-size=46B cardinality=19.52K |
| | | | |
| | | |--27:EXCHANGE [BROADCAST] |
| | | | | |
| | | | 02:SCAN HDFS [tpcds.customer_address] |
| | | | HDFS partitions=1/1 files=1 size=5.25MB |
| | | | predicates: ca_state = 'IL' |
| | | | row-size=18B cardinality=980 |
| | | | |
| | | 00:SCAN HDFS [tpcds.web_sales ws1] |
| | | HDFS partitions=1/1 files=1 size=140.07MB |
| | | runtime filters: RF010 -> ws1.ws_ship_date_sk, RF012 -> ws1.ws_web_site_sk, RF014 -> ws1.ws_ship_addr_sk |
| | | row-size=28B cardinality=719.38K |
| | | |
| | 15:AGGREGATE [FINALIZE] |
| | | group by: ws1.ws_order_number |
| | | row-size=8B cardinality=59.77K |
| | | |
| | 06:HASH JOIN [INNER JOIN, PARTITIONED] |
| | | hash predicates: ws1.ws_order_number = ws2.ws_order_number |
| | | other predicates: ws1.ws_warehouse_sk != ws2.ws_warehouse_sk |
| | | runtime filters: RF008 <- ws2.ws_order_number |
| | | row-size=24B cardinality=8.66M |
| | | |
| | |--26:EXCHANGE [HASH(ws2.ws_order_number)] |
| | | | |
| | | 05:SCAN HDFS [tpcds.web_sales ws2] |
| | | HDFS partitions=1/1 files=1 size=140.07MB |
| | | runtime filters: RF006 -> ws2.ws_order_number |
| | | row-size=12B cardinality=719.38K |
| | | |
| | 25:EXCHANGE [HASH(ws1.ws_order_number)] |
| | | |
| | 04:SCAN HDFS [tpcds.web_sales ws1] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | runtime filters: RF006 -> ws1.ws_order_number, RF008 -> ws1.ws_order_number |
| | row-size=12B cardinality=719.38K |
| | |
| 17:AGGREGATE [FINALIZE] |
| | group by: tpcds.web_returns.wr_order_number |
| | row-size=8B cardinality=43.44K |
| | |
| 11:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ws1.ws_order_number = wr_order_number |
| | runtime filters: RF002 <- wr_order_number |
| | row-size=32B cardinality=10.39M |
| | |
| |--24:EXCHANGE [HASH(wr_order_number)] |
| | | |
| | 07:SCAN HDFS [tpcds.web_returns] |
| | HDFS partitions=1/1 files=1 size=9.35MB |
| | runtime filters: RF000 -> tpcds.web_returns.wr_order_number |
| | row-size=8B cardinality=71.76K |
| | |
| 10:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: ws1.ws_order_number = ws2.ws_order_number |
| | other predicates: ws1.ws_warehouse_sk != ws2.ws_warehouse_sk |
| | runtime filters: RF004 <- ws2.ws_order_number |
| | row-size=24B cardinality=8.66M |
| | |
| |--23:EXCHANGE [HASH(ws2.ws_order_number)] |
| | | |
| | 09:SCAN HDFS [tpcds.web_sales ws2] |
| | HDFS partitions=1/1 files=1 size=140.07MB |
| | runtime filters: RF000 -> ws2.ws_order_number, RF002 -> ws2.ws_order_number |
| | row-size=12B cardinality=719.38K |
| | |
| 22:EXCHANGE [HASH(ws1.ws_order_number)] |
| | |
| 08:SCAN HDFS [tpcds.web_sales ws1] |
| HDFS partitions=1/1 files=1 size=140.07MB |
| runtime filters: RF000 -> ws1.ws_order_number, RF002 -> ws1.ws_order_number, RF004 -> ws1.ws_order_number |
| row-size=12B cardinality=719.38K |
| ==== |