You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by kw...@apache.org on 2017/05/27 05:34:40 UTC

[10/11] incubator-impala git commit: IMPALA-5376: Loads all TPC-DS tables

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f1558957/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-all.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-all.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-all.test
index f630a88..e944500 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-all.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-all.test
@@ -13,11 +13,6 @@ where
   and store_sales.ss_item_sk = item.i_item_sk
   and item.i_manufact_id = 436
   and dt.d_moy = 12
-  and (ss_sold_date_sk between 2451149 and 2451179
-    or ss_sold_date_sk between 2451514 and 2451544
-    or ss_sold_date_sk between 2451880 and 2451910
-    or ss_sold_date_sk between 2452245 and 2452275
-    or ss_sold_date_sk between 2452610 and 2452640)
 group by
   dt.d_year,
   item.i_brand,
@@ -38,121 +33,122 @@ PLAN-ROOT SINK
 |  group by: dt.d_year, item.i_brand, item.i_brand_id
 |
 04:HASH JOIN [INNER JOIN]
-|  hash predicates: dt.d_date_sk = store_sales.ss_sold_date_sk
-|  runtime filters: RF000 <- store_sales.ss_sold_date_sk
+|  hash predicates: store_sales.ss_sold_date_sk = dt.d_date_sk
+|  runtime filters: RF000 <- dt.d_date_sk
 |
-|--03:HASH JOIN [INNER JOIN]
-|  |  hash predicates: store_sales.ss_item_sk = item.i_item_sk
-|  |  runtime filters: RF001 <- item.i_item_sk
-|  |
-|  |--02:SCAN HDFS [tpcds.item]
-|  |     partitions=1/1 files=1 size=4.82MB
-|  |     predicates: item.i_manufact_id = 436
-|  |
-|  01:SCAN HDFS [tpcds.store_sales]
-|     partitions=10/120 files=10 size=3.53MB
-|     runtime filters: RF001 -> store_sales.ss_item_sk
+|--00:SCAN HDFS [tpcds.date_dim dt]
+|     partitions=1/1 files=1 size=9.84MB
+|     predicates: dt.d_moy = 12
 |
-00:SCAN HDFS [tpcds.date_dim dt]
-   partitions=1/1 files=1 size=9.84MB
-   predicates: dt.d_moy = 12, (dt.d_date_sk >= 2451149 AND dt.d_date_sk <= 2451179 OR dt.d_date_sk >= 2451514 AND dt.d_date_sk <= 2451544 OR dt.d_date_sk >= 2451880 AND dt.d_date_sk <= 2451910 OR dt.d_date_sk >= 2452245 AND dt.d_date_sk <= 2452275 OR dt.d_date_sk >= 2452610 AND dt.d_date_sk <= 2452640)
-   runtime filters: RF000 -> dt.d_date_sk
+03:HASH JOIN [INNER JOIN]
+|  hash predicates: store_sales.ss_item_sk = item.i_item_sk
+|  runtime filters: RF001 <- item.i_item_sk
+|
+|--02:SCAN HDFS [tpcds.item]
+|     partitions=1/1 files=1 size=4.82MB
+|     predicates: item.i_manufact_id = 436
+|
+01:SCAN HDFS [tpcds.store_sales]
+   partitions=1824/1824 files=1824 size=326.32MB
+   runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF001 -> store_sales.ss_item_sk
 ---- DISTRIBUTEDPLAN
 PLAN-ROOT SINK
 |
-11:MERGING-EXCHANGE [UNPARTITIONED]
+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
 |
-10:AGGREGATE [FINALIZE]
+11:AGGREGATE [FINALIZE]
 |  output: sum:merge(ss_ext_sales_price)
 |  group by: dt.d_year, item.i_brand, item.i_brand_id
 |
-09:EXCHANGE [HASH(dt.d_year,item.i_brand,item.i_brand_id)]
+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
 |
-04:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: dt.d_date_sk = store_sales.ss_sold_date_sk
-|  runtime filters: RF000 <- store_sales.ss_sold_date_sk
+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
 |
-|--08:EXCHANGE [BROADCAST]
-|  |
-|  03:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash predicates: store_sales.ss_item_sk = item.i_item_sk
-|  |  runtime filters: RF001 <- item.i_item_sk
+|--09:EXCHANGE [HASH(dt.d_date_sk)]
 |  |
-|  |--07:EXCHANGE [BROADCAST]
-|  |  |
-|  |  02:SCAN HDFS [tpcds.item]
-|  |     partitions=1/1 files=1 size=4.82MB
-|  |     predicates: item.i_manufact_id = 436
+|  00:SCAN HDFS [tpcds.date_dim dt]
+|     partitions=1/1 files=1 size=9.84MB
+|     predicates: dt.d_moy = 12
+|
+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: RF001 <- item.i_item_sk
+|
+|--07:EXCHANGE [BROADCAST]
 |  |
-|  01:SCAN HDFS [tpcds.store_sales]
-|     partitions=10/120 files=10 size=3.53MB
-|     runtime filters: RF001 -> store_sales.ss_item_sk
+|  02:SCAN HDFS [tpcds.item]
+|     partitions=1/1 files=1 size=4.82MB
+|     predicates: item.i_manufact_id = 436
 |
-00:SCAN HDFS [tpcds.date_dim dt]
-   partitions=1/1 files=1 size=9.84MB
-   predicates: dt.d_moy = 12, (dt.d_date_sk >= 2451149 AND dt.d_date_sk <= 2451179 OR dt.d_date_sk >= 2451514 AND dt.d_date_sk <= 2451544 OR dt.d_date_sk >= 2451880 AND dt.d_date_sk <= 2451910 OR dt.d_date_sk >= 2452245 AND dt.d_date_sk <= 2452275 OR dt.d_date_sk >= 2452610 AND dt.d_date_sk <= 2452640)
-   runtime filters: RF000 -> dt.d_date_sk
+01:SCAN HDFS [tpcds.store_sales]
+   partitions=1824/1824 files=1824 size=326.32MB
+   runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF001 -> store_sales.ss_item_sk
 ---- PARALLELPLANS
 PLAN-ROOT SINK
 |
-11:MERGING-EXCHANGE [UNPARTITIONED]
+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
 |
-10:AGGREGATE [FINALIZE]
+11:AGGREGATE [FINALIZE]
 |  output: sum:merge(ss_ext_sales_price)
 |  group by: dt.d_year, item.i_brand, item.i_brand_id
 |
-09:EXCHANGE [HASH(dt.d_year,item.i_brand,item.i_brand_id)]
+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
 |
-04:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: dt.d_date_sk = store_sales.ss_sold_date_sk
-|  runtime filters: RF000 <- store_sales.ss_sold_date_sk
+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
 |
 |--JOIN BUILD
 |  |  join-table-id=00 plan-id=01 cohort-id=01
-|  |  build expressions: store_sales.ss_sold_date_sk
+|  |  build expressions: dt.d_date_sk
 |  |
-|  08:EXCHANGE [BROADCAST]
+|  09:EXCHANGE [HASH(dt.d_date_sk)]
 |  |
-|  03:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash predicates: store_sales.ss_item_sk = item.i_item_sk
-|  |  runtime filters: RF001 <- item.i_item_sk
+|  00:SCAN HDFS [tpcds.date_dim dt]
+|     partitions=1/1 files=1 size=9.84MB
+|     predicates: dt.d_moy = 12
+|
+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: RF001 <- item.i_item_sk
+|
+|--JOIN BUILD
+|  |  join-table-id=01 plan-id=02 cohort-id=01
+|  |  build expressions: item.i_item_sk
 |  |
-|  |--JOIN BUILD
-|  |  |  join-table-id=01 plan-id=02 cohort-id=02
-|  |  |  build expressions: item.i_item_sk
-|  |  |
-|  |  07:EXCHANGE [BROADCAST]
-|  |  |
-|  |  02:SCAN HDFS [tpcds.item]
-|  |     partitions=1/1 files=1 size=4.82MB
-|  |     predicates: item.i_manufact_id = 436
+|  07:EXCHANGE [BROADCAST]
 |  |
-|  01:SCAN HDFS [tpcds.store_sales]
-|     partitions=10/120 files=10 size=3.53MB
-|     runtime filters: RF001 -> store_sales.ss_item_sk
+|  02:SCAN HDFS [tpcds.item]
+|     partitions=1/1 files=1 size=4.82MB
+|     predicates: item.i_manufact_id = 436
 |
-00:SCAN HDFS [tpcds.date_dim dt]
-   partitions=1/1 files=1 size=9.84MB
-   predicates: dt.d_moy = 12, (dt.d_date_sk >= 2451149 AND dt.d_date_sk <= 2451179 OR dt.d_date_sk >= 2451514 AND dt.d_date_sk <= 2451544 OR dt.d_date_sk >= 2451880 AND dt.d_date_sk <= 2451910 OR dt.d_date_sk >= 2452245 AND dt.d_date_sk <= 2452275 OR dt.d_date_sk >= 2452610 AND dt.d_date_sk <= 2452640)
-   runtime filters: RF000 -> dt.d_date_sk
+01:SCAN HDFS [tpcds.store_sales]
+   partitions=1824/1824 files=1824 size=326.32MB
+   runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF001 -> store_sales.ss_item_sk
 ====
 # TPCDS-Q7
 select
@@ -201,12 +197,12 @@ PLAN-ROOT SINK
 |     partitions=1/1 files=1 size=4.82MB
 |
 07:HASH JOIN [INNER JOIN]
-|  hash predicates: ss_sold_date_sk = d_date_sk
-|  runtime filters: RF001 <- d_date_sk
+|  hash predicates: ss_promo_sk = p_promo_sk
+|  runtime filters: RF001 <- p_promo_sk
 |
-|--02:SCAN HDFS [tpcds.date_dim]
-|     partitions=1/1 files=1 size=9.84MB
-|     predicates: d_year = 1998
+|--04:SCAN HDFS [tpcds.promotion]
+|     partitions=1/1 files=1 size=36.36KB
+|     predicates: (p_channel_email = 'N' OR p_channel_event = 'N')
 |
 06:HASH JOIN [INNER JOIN]
 |  hash predicates: ss_cdemo_sk = cd_demo_sk
@@ -217,31 +213,31 @@ PLAN-ROOT SINK
 |     predicates: cd_marital_status = 'W', cd_gender = 'F', cd_education_status = 'Primary'
 |
 05:HASH JOIN [INNER JOIN]
-|  hash predicates: ss_promo_sk = p_promo_sk
-|  runtime filters: RF003 <- p_promo_sk
+|  hash predicates: ss_sold_date_sk = d_date_sk
+|  runtime filters: RF003 <- d_date_sk
 |
-|--04:SCAN HDFS [tpcds.promotion]
-|     partitions=1/1 files=1 size=36.36KB
-|     predicates: (p_channel_email = 'N' OR p_channel_event = 'N')
+|--02:SCAN HDFS [tpcds.date_dim]
+|     partitions=1/1 files=1 size=9.84MB
+|     predicates: d_year = 1998
 |
 00:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
-   runtime filters: RF000 -> ss_item_sk, RF001 -> ss_sold_date_sk, RF002 -> ss_cdemo_sk, RF003 -> ss_promo_sk
+   partitions=1824/1824 files=1824 size=326.32MB
+   runtime filters: RF000 -> ss_item_sk, RF001 -> ss_promo_sk, RF002 -> ss_cdemo_sk, RF003 -> ss_sold_date_sk
 ---- DISTRIBUTEDPLAN
 PLAN-ROOT SINK
 |
-18:MERGING-EXCHANGE [UNPARTITIONED]
+17:MERGING-EXCHANGE [UNPARTITIONED]
 |  order by: i_item_id ASC
 |  limit: 100
 |
 10:TOP-N [LIMIT=100]
 |  order by: i_item_id ASC
 |
-17:AGGREGATE [FINALIZE]
+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
 |
-16:EXCHANGE [HASH(i_item_id)]
+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)
@@ -251,61 +247,59 @@ PLAN-ROOT SINK
 |  hash predicates: ss_item_sk = i_item_sk
 |  runtime filters: RF000 <- i_item_sk
 |
-|--15:EXCHANGE [BROADCAST]
+|--14:EXCHANGE [BROADCAST]
 |  |
 |  03:SCAN HDFS [tpcds.item]
 |     partitions=1/1 files=1 size=4.82MB
 |
 07:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: ss_sold_date_sk = d_date_sk
-|  runtime filters: RF001 <- d_date_sk
+|  hash predicates: ss_promo_sk = p_promo_sk
+|  runtime filters: RF001 <- p_promo_sk
 |
-|--14:EXCHANGE [BROADCAST]
+|--13:EXCHANGE [BROADCAST]
 |  |
-|  02:SCAN HDFS [tpcds.date_dim]
-|     partitions=1/1 files=1 size=9.84MB
-|     predicates: d_year = 1998
+|  04:SCAN HDFS [tpcds.promotion]
+|     partitions=1/1 files=1 size=36.36KB
+|     predicates: (p_channel_email = 'N' OR p_channel_event = 'N')
 |
-06:HASH JOIN [INNER JOIN, PARTITIONED]
+06:HASH JOIN [INNER JOIN, BROADCAST]
 |  hash predicates: ss_cdemo_sk = cd_demo_sk
 |  runtime filters: RF002 <- cd_demo_sk
 |
-|--13:EXCHANGE [HASH(cd_demo_sk)]
+|--12:EXCHANGE [BROADCAST]
 |  |
 |  01:SCAN HDFS [tpcds.customer_demographics]
 |     partitions=1/1 files=1 size=76.92MB
 |     predicates: cd_marital_status = 'W', cd_gender = 'F', cd_education_status = 'Primary'
 |
-12:EXCHANGE [HASH(ss_cdemo_sk)]
-|
 05:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: ss_promo_sk = p_promo_sk
-|  runtime filters: RF003 <- p_promo_sk
+|  hash predicates: ss_sold_date_sk = d_date_sk
+|  runtime filters: RF003 <- d_date_sk
 |
 |--11:EXCHANGE [BROADCAST]
 |  |
-|  04:SCAN HDFS [tpcds.promotion]
-|     partitions=1/1 files=1 size=36.36KB
-|     predicates: (p_channel_email = 'N' OR p_channel_event = 'N')
+|  02:SCAN HDFS [tpcds.date_dim]
+|     partitions=1/1 files=1 size=9.84MB
+|     predicates: d_year = 1998
 |
 00:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
-   runtime filters: RF000 -> ss_item_sk, RF001 -> ss_sold_date_sk, RF002 -> ss_cdemo_sk, RF003 -> ss_promo_sk
+   partitions=1824/1824 files=1824 size=326.32MB
+   runtime filters: RF000 -> ss_item_sk, RF001 -> ss_promo_sk, RF002 -> ss_cdemo_sk, RF003 -> ss_sold_date_sk
 ---- PARALLELPLANS
 PLAN-ROOT SINK
 |
-18:MERGING-EXCHANGE [UNPARTITIONED]
+17:MERGING-EXCHANGE [UNPARTITIONED]
 |  order by: i_item_id ASC
 |  limit: 100
 |
 10:TOP-N [LIMIT=100]
 |  order by: i_item_id ASC
 |
-17:AGGREGATE [FINALIZE]
+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
 |
-16:EXCHANGE [HASH(i_item_id)]
+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)
@@ -319,26 +313,26 @@ PLAN-ROOT SINK
 |  |  join-table-id=00 plan-id=01 cohort-id=01
 |  |  build expressions: i_item_sk
 |  |
-|  15:EXCHANGE [BROADCAST]
+|  14:EXCHANGE [BROADCAST]
 |  |
 |  03:SCAN HDFS [tpcds.item]
 |     partitions=1/1 files=1 size=4.82MB
 |
 07:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: ss_sold_date_sk = d_date_sk
-|  runtime filters: RF001 <- d_date_sk
+|  hash predicates: ss_promo_sk = p_promo_sk
+|  runtime filters: RF001 <- p_promo_sk
 |
 |--JOIN BUILD
 |  |  join-table-id=01 plan-id=02 cohort-id=01
-|  |  build expressions: d_date_sk
+|  |  build expressions: p_promo_sk
 |  |
-|  14:EXCHANGE [BROADCAST]
+|  13:EXCHANGE [BROADCAST]
 |  |
-|  02:SCAN HDFS [tpcds.date_dim]
-|     partitions=1/1 files=1 size=9.84MB
-|     predicates: d_year = 1998
+|  04:SCAN HDFS [tpcds.promotion]
+|     partitions=1/1 files=1 size=36.36KB
+|     predicates: (p_channel_email = 'N' OR p_channel_event = 'N')
 |
-06:HASH JOIN [INNER JOIN, PARTITIONED]
+06:HASH JOIN [INNER JOIN, BROADCAST]
 |  hash predicates: ss_cdemo_sk = cd_demo_sk
 |  runtime filters: RF002 <- cd_demo_sk
 |
@@ -346,31 +340,29 @@ PLAN-ROOT SINK
 |  |  join-table-id=02 plan-id=03 cohort-id=01
 |  |  build expressions: cd_demo_sk
 |  |
-|  13:EXCHANGE [HASH(cd_demo_sk)]
+|  12:EXCHANGE [BROADCAST]
 |  |
 |  01:SCAN HDFS [tpcds.customer_demographics]
 |     partitions=1/1 files=1 size=76.92MB
 |     predicates: cd_marital_status = 'W', cd_gender = 'F', cd_education_status = 'Primary'
 |
-12:EXCHANGE [HASH(ss_cdemo_sk)]
-|
 05:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: ss_promo_sk = p_promo_sk
-|  runtime filters: RF003 <- p_promo_sk
+|  hash predicates: ss_sold_date_sk = d_date_sk
+|  runtime filters: RF003 <- d_date_sk
 |
 |--JOIN BUILD
 |  |  join-table-id=03 plan-id=04 cohort-id=01
-|  |  build expressions: p_promo_sk
+|  |  build expressions: d_date_sk
 |  |
 |  11:EXCHANGE [BROADCAST]
 |  |
-|  04:SCAN HDFS [tpcds.promotion]
-|     partitions=1/1 files=1 size=36.36KB
-|     predicates: (p_channel_email = 'N' OR p_channel_event = 'N')
+|  02:SCAN HDFS [tpcds.date_dim]
+|     partitions=1/1 files=1 size=9.84MB
+|     predicates: d_year = 1998
 |
 00:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
-   runtime filters: RF000 -> ss_item_sk, RF001 -> ss_sold_date_sk, RF002 -> ss_cdemo_sk, RF003 -> ss_promo_sk
+   partitions=1824/1824 files=1824 size=326.32MB
+   runtime filters: RF000 -> ss_item_sk, RF001 -> ss_promo_sk, RF002 -> ss_cdemo_sk, RF003 -> ss_sold_date_sk
 ====
 # TPCDS-Q8
 select
@@ -486,11 +478,11 @@ PLAN-ROOT SINK
 |  runtime filters: RF001 <- store.s_store_sk
 |
 |--01:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |     runtime filters: RF000 -> substr(store.s_zip, 1, 2)
 |
 00:SCAN HDFS [tpcds.store_sales]
-   partitions=7/120 files=7 size=1.02MB
+   partitions=90/1824 files=90 size=9.71MB
    runtime filters: RF001 -> store_sales.ss_store_sk
 ---- DISTRIBUTEDPLAN
 PLAN-ROOT SINK
@@ -561,11 +553,11 @@ PLAN-ROOT SINK
 |--12:EXCHANGE [BROADCAST]
 |  |
 |  01:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |     runtime filters: RF000 -> substr(store.s_zip, 1, 2)
 |
 00:SCAN HDFS [tpcds.store_sales]
-   partitions=7/120 files=7 size=1.02MB
+   partitions=90/1824 files=90 size=9.71MB
    runtime filters: RF001 -> store_sales.ss_store_sk
 ---- PARALLELPLANS
 PLAN-ROOT SINK
@@ -652,11 +644,11 @@ PLAN-ROOT SINK
 |  12:EXCHANGE [BROADCAST]
 |  |
 |  01:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |     runtime filters: RF000 -> substr(store.s_zip, 1, 2)
 |
 00:SCAN HDFS [tpcds.store_sales]
-   partitions=7/120 files=7 size=1.02MB
+   partitions=90/1824 files=90 size=9.71MB
    runtime filters: RF001 -> store_sales.ss_store_sk
 ====
 # TPCDS-Q19
@@ -712,43 +704,43 @@ PLAN-ROOT SINK
 |  runtime filters: RF000 <- s_store_sk
 |
 |--05:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |
 09:HASH JOIN [INNER JOIN]
-|  hash predicates: ss_sold_date_sk = d_date_sk
-|  runtime filters: RF001 <- d_date_sk
-|
-|--00:SCAN HDFS [tpcds.date_dim]
-|     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
-|
-08:HASH JOIN [INNER JOIN]
-|  hash predicates: ss_item_sk = i_item_sk
-|  runtime filters: RF002 <- i_item_sk
-|
-|--02:SCAN HDFS [tpcds.item]
-|     partitions=1/1 files=1 size=4.82MB
-|     predicates: i_manager_id = 7
-|
-07:HASH JOIN [INNER JOIN]
-|  hash predicates: c_customer_sk = ss_customer_sk
-|  runtime filters: RF003 <- ss_customer_sk
-|
-|--01:SCAN HDFS [tpcds.store_sales]
-|     partitions=2/120 files=2 size=604.05KB
-|     runtime filters: RF000 -> ss_store_sk, RF001 -> ss_sold_date_sk, RF002 -> ss_item_sk
-|
-06:HASH JOIN [INNER JOIN]
 |  hash predicates: ca_address_sk = c_current_addr_sk
-|  runtime filters: RF004 <- c_current_addr_sk
+|  runtime filters: RF001 <- c_current_addr_sk
 |
-|--03:SCAN HDFS [tpcds.customer]
+|--08:HASH JOIN [INNER JOIN]
+|  |  hash predicates: c_customer_sk = ss_customer_sk
+|  |  runtime filters: RF002 <- ss_customer_sk
+|  |
+|  |--07:HASH JOIN [INNER JOIN]
+|  |  |  hash predicates: ss_sold_date_sk = d_date_sk
+|  |  |  runtime filters: RF003 <- d_date_sk
+|  |  |
+|  |  |--00:SCAN HDFS [tpcds.date_dim]
+|  |  |     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
+|  |  |
+|  |  06:HASH JOIN [INNER JOIN]
+|  |  |  hash predicates: ss_item_sk = i_item_sk
+|  |  |  runtime filters: RF004 <- i_item_sk
+|  |  |
+|  |  |--02:SCAN HDFS [tpcds.item]
+|  |  |     partitions=1/1 files=1 size=4.82MB
+|  |  |     predicates: i_manager_id = 7
+|  |  |
+|  |  01:SCAN HDFS [tpcds.store_sales]
+|  |     partitions=30/1824 files=30 size=9.93MB
+|  |     runtime filters: RF000 -> ss_store_sk, RF003 -> ss_sold_date_sk, RF004 -> ss_item_sk
+|  |
+|  03:SCAN HDFS [tpcds.customer]
 |     partitions=1/1 files=1 size=12.60MB
-|     runtime filters: RF003 -> c_customer_sk
+|     runtime filters: RF002 -> c_customer_sk
 |
 04:SCAN HDFS [tpcds.customer_address]
    partitions=1/1 files=1 size=5.25MB
-   runtime filters: RF004 -> ca_address_sk
+   runtime filters: RF001 -> ca_address_sk
 ---- DISTRIBUTEDPLAN
 PLAN-ROOT SINK
 |
@@ -777,51 +769,51 @@ PLAN-ROOT SINK
 |--17:EXCHANGE [BROADCAST]
 |  |
 |  05:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |
 09:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: ss_sold_date_sk = d_date_sk
-|  runtime filters: RF001 <- d_date_sk
+|  hash predicates: ca_address_sk = c_current_addr_sk
+|  runtime filters: RF001 <- c_current_addr_sk
 |
 |--16:EXCHANGE [BROADCAST]
 |  |
-|  00:SCAN HDFS [tpcds.date_dim]
-|     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
-|
-08:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: ss_item_sk = i_item_sk
-|  runtime filters: RF002 <- i_item_sk
-|
-|--15:EXCHANGE [BROADCAST]
-|  |
-|  02:SCAN HDFS [tpcds.item]
-|     partitions=1/1 files=1 size=4.82MB
-|     predicates: i_manager_id = 7
-|
-07:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: c_customer_sk = ss_customer_sk
-|  runtime filters: RF003 <- ss_customer_sk
-|
-|--14:EXCHANGE [BROADCAST]
+|  08:HASH JOIN [INNER JOIN, BROADCAST]
+|  |  hash predicates: c_customer_sk = ss_customer_sk
+|  |  runtime filters: RF002 <- ss_customer_sk
 |  |
-|  01:SCAN HDFS [tpcds.store_sales]
-|     partitions=2/120 files=2 size=604.05KB
-|     runtime filters: RF000 -> ss_store_sk, RF001 -> ss_sold_date_sk, RF002 -> ss_item_sk
-|
-06:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: ca_address_sk = c_current_addr_sk
-|  runtime filters: RF004 <- c_current_addr_sk
-|
-|--13:EXCHANGE [BROADCAST]
+|  |--15:EXCHANGE [BROADCAST]
+|  |  |
+|  |  07:HASH JOIN [INNER JOIN, BROADCAST]
+|  |  |  hash predicates: ss_sold_date_sk = d_date_sk
+|  |  |  runtime filters: RF003 <- d_date_sk
+|  |  |
+|  |  |--14:EXCHANGE [BROADCAST]
+|  |  |  |
+|  |  |  00:SCAN HDFS [tpcds.date_dim]
+|  |  |     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
+|  |  |
+|  |  06:HASH JOIN [INNER JOIN, BROADCAST]
+|  |  |  hash predicates: ss_item_sk = i_item_sk
+|  |  |  runtime filters: RF004 <- i_item_sk
+|  |  |
+|  |  |--13:EXCHANGE [BROADCAST]
+|  |  |  |
+|  |  |  02:SCAN HDFS [tpcds.item]
+|  |  |     partitions=1/1 files=1 size=4.82MB
+|  |  |     predicates: i_manager_id = 7
+|  |  |
+|  |  01:SCAN HDFS [tpcds.store_sales]
+|  |     partitions=30/1824 files=30 size=9.93MB
+|  |     runtime filters: RF000 -> ss_store_sk, RF003 -> ss_sold_date_sk, RF004 -> ss_item_sk
 |  |
 |  03:SCAN HDFS [tpcds.customer]
 |     partitions=1/1 files=1 size=12.60MB
-|     runtime filters: RF003 -> c_customer_sk
+|     runtime filters: RF002 -> c_customer_sk
 |
 04:SCAN HDFS [tpcds.customer_address]
    partitions=1/1 files=1 size=5.25MB
-   runtime filters: RF004 -> ca_address_sk
+   runtime filters: RF001 -> ca_address_sk
 ---- PARALLELPLANS
 PLAN-ROOT SINK
 |
@@ -854,67 +846,67 @@ PLAN-ROOT SINK
 |  17:EXCHANGE [BROADCAST]
 |  |
 |  05:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |
 09:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: ss_sold_date_sk = d_date_sk
-|  runtime filters: RF001 <- d_date_sk
+|  hash predicates: ca_address_sk = c_current_addr_sk
+|  runtime filters: RF001 <- c_current_addr_sk
 |
 |--JOIN BUILD
 |  |  join-table-id=01 plan-id=02 cohort-id=01
-|  |  build expressions: d_date_sk
+|  |  build expressions: c_current_addr_sk
 |  |
 |  16:EXCHANGE [BROADCAST]
 |  |
-|  00:SCAN HDFS [tpcds.date_dim]
-|     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
-|
-08:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: ss_item_sk = i_item_sk
-|  runtime filters: RF002 <- i_item_sk
-|
-|--JOIN BUILD
-|  |  join-table-id=02 plan-id=03 cohort-id=01
-|  |  build expressions: i_item_sk
-|  |
-|  15:EXCHANGE [BROADCAST]
+|  08:HASH JOIN [INNER JOIN, BROADCAST]
+|  |  hash predicates: c_customer_sk = ss_customer_sk
+|  |  runtime filters: RF002 <- ss_customer_sk
 |  |
-|  02:SCAN HDFS [tpcds.item]
-|     partitions=1/1 files=1 size=4.82MB
-|     predicates: i_manager_id = 7
-|
-07:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: c_customer_sk = ss_customer_sk
-|  runtime filters: RF003 <- ss_customer_sk
-|
-|--JOIN BUILD
-|  |  join-table-id=03 plan-id=04 cohort-id=01
-|  |  build expressions: ss_customer_sk
-|  |
-|  14:EXCHANGE [BROADCAST]
-|  |
-|  01:SCAN HDFS [tpcds.store_sales]
-|     partitions=2/120 files=2 size=604.05KB
-|     runtime filters: RF000 -> ss_store_sk, RF001 -> ss_sold_date_sk, RF002 -> ss_item_sk
-|
-06:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: ca_address_sk = c_current_addr_sk
-|  runtime filters: RF004 <- c_current_addr_sk
-|
-|--JOIN BUILD
-|  |  join-table-id=04 plan-id=05 cohort-id=01
-|  |  build expressions: c_current_addr_sk
-|  |
-|  13:EXCHANGE [BROADCAST]
+|  |--JOIN BUILD
+|  |  |  join-table-id=02 plan-id=03 cohort-id=02
+|  |  |  build expressions: ss_customer_sk
+|  |  |
+|  |  15:EXCHANGE [BROADCAST]
+|  |  |
+|  |  07:HASH JOIN [INNER JOIN, BROADCAST]
+|  |  |  hash predicates: ss_sold_date_sk = d_date_sk
+|  |  |  runtime filters: RF003 <- d_date_sk
+|  |  |
+|  |  |--JOIN BUILD
+|  |  |  |  join-table-id=03 plan-id=04 cohort-id=03
+|  |  |  |  build expressions: d_date_sk
+|  |  |  |
+|  |  |  14:EXCHANGE [BROADCAST]
+|  |  |  |
+|  |  |  00:SCAN HDFS [tpcds.date_dim]
+|  |  |     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
+|  |  |
+|  |  06:HASH JOIN [INNER JOIN, BROADCAST]
+|  |  |  hash predicates: ss_item_sk = i_item_sk
+|  |  |  runtime filters: RF004 <- i_item_sk
+|  |  |
+|  |  |--JOIN BUILD
+|  |  |  |  join-table-id=04 plan-id=05 cohort-id=03
+|  |  |  |  build expressions: i_item_sk
+|  |  |  |
+|  |  |  13:EXCHANGE [BROADCAST]
+|  |  |  |
+|  |  |  02:SCAN HDFS [tpcds.item]
+|  |  |     partitions=1/1 files=1 size=4.82MB
+|  |  |     predicates: i_manager_id = 7
+|  |  |
+|  |  01:SCAN HDFS [tpcds.store_sales]
+|  |     partitions=30/1824 files=30 size=9.93MB
+|  |     runtime filters: RF000 -> ss_store_sk, RF003 -> ss_sold_date_sk, RF004 -> ss_item_sk
 |  |
 |  03:SCAN HDFS [tpcds.customer]
 |     partitions=1/1 files=1 size=12.60MB
-|     runtime filters: RF003 -> c_customer_sk
+|     runtime filters: RF002 -> c_customer_sk
 |
 04:SCAN HDFS [tpcds.customer_address]
    partitions=1/1 files=1 size=5.25MB
-   runtime filters: RF004 -> ca_address_sk
+   runtime filters: RF001 -> ca_address_sk
 ====
 # TPCDS-Q27
 select
@@ -969,43 +961,43 @@ PLAN-ROOT SINK
 |  runtime filters: RF001 <- s_store_sk
 |
 |--03:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |     predicates: s_state IN ('WI', 'CA', 'TX', 'FL', 'WA', 'TN')
 |
 06:HASH JOIN [INNER JOIN]
-|  hash predicates: ss_sold_date_sk = d_date_sk
-|  runtime filters: RF002 <- d_date_sk
-|
-|--02:SCAN HDFS [tpcds.date_dim]
-|     partitions=1/1 files=1 size=9.84MB
-|     predicates: d_year = 1998
-|
-05:HASH JOIN [INNER JOIN]
 |  hash predicates: ss_cdemo_sk = cd_demo_sk
-|  runtime filters: RF003 <- cd_demo_sk
+|  runtime filters: RF002 <- cd_demo_sk
 |
 |--01:SCAN HDFS [tpcds.customer_demographics]
 |     partitions=1/1 files=1 size=76.92MB
 |     predicates: cd_marital_status = 'W', cd_gender = 'F', cd_education_status = 'Primary'
 |
+05:HASH JOIN [INNER JOIN]
+|  hash predicates: ss_sold_date_sk = d_date_sk
+|  runtime filters: RF003 <- d_date_sk
+|
+|--02:SCAN HDFS [tpcds.date_dim]
+|     partitions=1/1 files=1 size=9.84MB
+|     predicates: d_year = 1998
+|
 00:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
-   runtime filters: RF000 -> ss_item_sk, RF001 -> ss_store_sk, RF002 -> ss_sold_date_sk, RF003 -> ss_cdemo_sk
+   partitions=1824/1824 files=1824 size=326.32MB
+   runtime filters: RF000 -> ss_item_sk, RF001 -> ss_store_sk, RF002 -> ss_cdemo_sk, RF003 -> ss_sold_date_sk
 ---- DISTRIBUTEDPLAN
 PLAN-ROOT SINK
 |
-18:MERGING-EXCHANGE [UNPARTITIONED]
+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
 |
-17:AGGREGATE [FINALIZE]
+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
 |
-16:EXCHANGE [HASH(i_item_id,s_state)]
+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)
@@ -1015,7 +1007,7 @@ PLAN-ROOT SINK
 |  hash predicates: ss_item_sk = i_item_sk
 |  runtime filters: RF000 <- i_item_sk
 |
-|--15:EXCHANGE [BROADCAST]
+|--14:EXCHANGE [BROADCAST]
 |  |
 |  04:SCAN HDFS [tpcds.item]
 |     partitions=1/1 files=1 size=4.82MB
@@ -1024,52 +1016,50 @@ PLAN-ROOT SINK
 |  hash predicates: ss_store_sk = s_store_sk
 |  runtime filters: RF001 <- s_store_sk
 |
-|--14:EXCHANGE [BROADCAST]
+|--13:EXCHANGE [BROADCAST]
 |  |
 |  03:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |     predicates: s_state IN ('WI', 'CA', 'TX', 'FL', 'WA', 'TN')
 |
 06:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: ss_sold_date_sk = d_date_sk
-|  runtime filters: RF002 <- d_date_sk
-|
-|--13:EXCHANGE [BROADCAST]
-|  |
-|  02:SCAN HDFS [tpcds.date_dim]
-|     partitions=1/1 files=1 size=9.84MB
-|     predicates: d_year = 1998
-|
-05:HASH JOIN [INNER JOIN, PARTITIONED]
 |  hash predicates: ss_cdemo_sk = cd_demo_sk
-|  runtime filters: RF003 <- cd_demo_sk
+|  runtime filters: RF002 <- cd_demo_sk
 |
-|--12:EXCHANGE [HASH(cd_demo_sk)]
+|--12:EXCHANGE [BROADCAST]
 |  |
 |  01:SCAN HDFS [tpcds.customer_demographics]
 |     partitions=1/1 files=1 size=76.92MB
 |     predicates: cd_marital_status = 'W', cd_gender = 'F', cd_education_status = 'Primary'
 |
-11:EXCHANGE [HASH(ss_cdemo_sk)]
+05:HASH JOIN [INNER JOIN, BROADCAST]
+|  hash predicates: ss_sold_date_sk = d_date_sk
+|  runtime filters: RF003 <- d_date_sk
+|
+|--11:EXCHANGE [BROADCAST]
+|  |
+|  02:SCAN HDFS [tpcds.date_dim]
+|     partitions=1/1 files=1 size=9.84MB
+|     predicates: d_year = 1998
 |
 00:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
-   runtime filters: RF000 -> ss_item_sk, RF001 -> ss_store_sk, RF002 -> ss_sold_date_sk, RF003 -> ss_cdemo_sk
+   partitions=1824/1824 files=1824 size=326.32MB
+   runtime filters: RF000 -> ss_item_sk, RF001 -> ss_store_sk, RF002 -> ss_cdemo_sk, RF003 -> ss_sold_date_sk
 ---- PARALLELPLANS
 PLAN-ROOT SINK
 |
-18:MERGING-EXCHANGE [UNPARTITIONED]
+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
 |
-17:AGGREGATE [FINALIZE]
+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
 |
-16:EXCHANGE [HASH(i_item_id,s_state)]
+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)
@@ -1083,7 +1073,7 @@ PLAN-ROOT SINK
 |  |  join-table-id=00 plan-id=01 cohort-id=01
 |  |  build expressions: i_item_sk
 |  |
-|  15:EXCHANGE [BROADCAST]
+|  14:EXCHANGE [BROADCAST]
 |  |
 |  04:SCAN HDFS [tpcds.item]
 |     partitions=1/1 files=1 size=4.82MB
@@ -1096,45 +1086,43 @@ PLAN-ROOT SINK
 |  |  join-table-id=01 plan-id=02 cohort-id=01
 |  |  build expressions: s_store_sk
 |  |
-|  14:EXCHANGE [BROADCAST]
+|  13:EXCHANGE [BROADCAST]
 |  |
 |  03:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |     predicates: s_state IN ('WI', 'CA', 'TX', 'FL', 'WA', 'TN')
 |
 06:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: ss_sold_date_sk = d_date_sk
-|  runtime filters: RF002 <- d_date_sk
+|  hash predicates: ss_cdemo_sk = cd_demo_sk
+|  runtime filters: RF002 <- cd_demo_sk
 |
 |--JOIN BUILD
 |  |  join-table-id=02 plan-id=03 cohort-id=01
-|  |  build expressions: d_date_sk
+|  |  build expressions: cd_demo_sk
 |  |
-|  13:EXCHANGE [BROADCAST]
+|  12:EXCHANGE [BROADCAST]
 |  |
-|  02:SCAN HDFS [tpcds.date_dim]
-|     partitions=1/1 files=1 size=9.84MB
-|     predicates: d_year = 1998
+|  01:SCAN HDFS [tpcds.customer_demographics]
+|     partitions=1/1 files=1 size=76.92MB
+|     predicates: cd_marital_status = 'W', cd_gender = 'F', cd_education_status = 'Primary'
 |
-05:HASH JOIN [INNER JOIN, PARTITIONED]
-|  hash predicates: ss_cdemo_sk = cd_demo_sk
-|  runtime filters: RF003 <- cd_demo_sk
+05:HASH JOIN [INNER JOIN, BROADCAST]
+|  hash predicates: ss_sold_date_sk = d_date_sk
+|  runtime filters: RF003 <- d_date_sk
 |
 |--JOIN BUILD
 |  |  join-table-id=03 plan-id=04 cohort-id=01
-|  |  build expressions: cd_demo_sk
+|  |  build expressions: d_date_sk
 |  |
-|  12:EXCHANGE [HASH(cd_demo_sk)]
+|  11:EXCHANGE [BROADCAST]
 |  |
-|  01:SCAN HDFS [tpcds.customer_demographics]
-|     partitions=1/1 files=1 size=76.92MB
-|     predicates: cd_marital_status = 'W', cd_gender = 'F', cd_education_status = 'Primary'
-|
-11:EXCHANGE [HASH(ss_cdemo_sk)]
+|  02:SCAN HDFS [tpcds.date_dim]
+|     partitions=1/1 files=1 size=9.84MB
+|     predicates: d_year = 1998
 |
 00:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
-   runtime filters: RF000 -> ss_item_sk, RF001 -> ss_store_sk, RF002 -> ss_sold_date_sk, RF003 -> ss_cdemo_sk
+   partitions=1824/1824 files=1824 size=326.32MB
+   runtime filters: RF000 -> ss_item_sk, RF001 -> ss_store_sk, RF002 -> ss_cdemo_sk, RF003 -> ss_sold_date_sk
 ====
 # TPCDS-Q34
 select
@@ -1200,7 +1188,7 @@ PLAN-ROOT SINK
 |  |  runtime filters: RF001 <- store.s_store_sk
 |  |
 |  |--02:SCAN HDFS [tpcds.store]
-|  |     partitions=1/1 files=1 size=3.08KB
+|  |     partitions=1/1 files=1 size=3.07KB
 |  |     predicates: store.s_county IN ('Saginaw County', 'Sumner County', 'Appanoose County', 'Daviess County', 'Fairfield County', 'Raleigh County', 'Ziebach County', 'Williamson County')
 |  |
 |  05:HASH JOIN [INNER JOIN]
@@ -1216,11 +1204,11 @@ PLAN-ROOT SINK
 |  |  runtime filters: RF003 <- household_demographics.hd_demo_sk
 |  |
 |  |--03:SCAN HDFS [tpcds.household_demographics]
-|  |     partitions=1/1 files=1 size=148.10KB
+|  |     partitions=1/1 files=1 size=141.07KB
 |  |     predicates: household_demographics.hd_vehicle_count > 0, (CASE WHEN household_demographics.hd_vehicle_count > 0 THEN household_demographics.hd_dep_count / household_demographics.hd_vehicle_count ELSE NULL END) > 1.2, (household_demographics.hd_buy_potential = '>10000' OR household_demographics.hd_buy_potential = 'unknown')
 |  |
 |  00:SCAN HDFS [tpcds.store_sales]
-|     partitions=120/120 files=120 size=21.31MB
+|     partitions=1824/1824 files=1824 size=326.32MB
 |     runtime filters: RF001 -> store_sales.ss_store_sk, RF002 -> store_sales.ss_sold_date_sk, RF003 -> store_sales.ss_hdemo_sk
 |
 08:SCAN HDFS [tpcds.customer]
@@ -1260,7 +1248,7 @@ PLAN-ROOT SINK
 |  |--13:EXCHANGE [BROADCAST]
 |  |  |
 |  |  02:SCAN HDFS [tpcds.store]
-|  |     partitions=1/1 files=1 size=3.08KB
+|  |     partitions=1/1 files=1 size=3.07KB
 |  |     predicates: store.s_county IN ('Saginaw County', 'Sumner County', 'Appanoose County', 'Daviess County', 'Fairfield County', 'Raleigh County', 'Ziebach County', 'Williamson County')
 |  |
 |  05:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1280,11 +1268,11 @@ PLAN-ROOT SINK
 |  |--11:EXCHANGE [BROADCAST]
 |  |  |
 |  |  03:SCAN HDFS [tpcds.household_demographics]
-|  |     partitions=1/1 files=1 size=148.10KB
+|  |     partitions=1/1 files=1 size=141.07KB
 |  |     predicates: household_demographics.hd_vehicle_count > 0, (CASE WHEN household_demographics.hd_vehicle_count > 0 THEN household_demographics.hd_dep_count / household_demographics.hd_vehicle_count ELSE NULL END) > 1.2, (household_demographics.hd_buy_potential = '>10000' OR household_demographics.hd_buy_potential = 'unknown')
 |  |
 |  00:SCAN HDFS [tpcds.store_sales]
-|     partitions=120/120 files=120 size=21.31MB
+|     partitions=1824/1824 files=1824 size=326.32MB
 |     runtime filters: RF001 -> store_sales.ss_store_sk, RF002 -> store_sales.ss_sold_date_sk, RF003 -> store_sales.ss_hdemo_sk
 |
 08:SCAN HDFS [tpcds.customer]
@@ -1332,7 +1320,7 @@ PLAN-ROOT SINK
 |  |  13:EXCHANGE [BROADCAST]
 |  |  |
 |  |  02:SCAN HDFS [tpcds.store]
-|  |     partitions=1/1 files=1 size=3.08KB
+|  |     partitions=1/1 files=1 size=3.07KB
 |  |     predicates: store.s_county IN ('Saginaw County', 'Sumner County', 'Appanoose County', 'Daviess County', 'Fairfield County', 'Raleigh County', 'Ziebach County', 'Williamson County')
 |  |
 |  05:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1360,11 +1348,11 @@ PLAN-ROOT SINK
 |  |  11:EXCHANGE [BROADCAST]
 |  |  |
 |  |  03:SCAN HDFS [tpcds.household_demographics]
-|  |     partitions=1/1 files=1 size=148.10KB
+|  |     partitions=1/1 files=1 size=141.07KB
 |  |     predicates: household_demographics.hd_vehicle_count > 0, (CASE WHEN household_demographics.hd_vehicle_count > 0 THEN household_demographics.hd_dep_count / household_demographics.hd_vehicle_count ELSE NULL END) > 1.2, (household_demographics.hd_buy_potential = '>10000' OR household_demographics.hd_buy_potential = 'unknown')
 |  |
 |  00:SCAN HDFS [tpcds.store_sales]
-|     partitions=120/120 files=120 size=21.31MB
+|     partitions=1824/1824 files=1824 size=326.32MB
 |     runtime filters: RF001 -> store_sales.ss_store_sk, RF002 -> store_sales.ss_sold_date_sk, RF003 -> store_sales.ss_hdemo_sk
 |
 08:SCAN HDFS [tpcds.customer]
@@ -1424,7 +1412,7 @@ PLAN-ROOT SINK
 |     predicates: item.i_manager_id = 1
 |
 01:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
+   partitions=1824/1824 files=1824 size=326.32MB
    runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF001 -> store_sales.ss_item_sk
 ---- DISTRIBUTEDPLAN
 PLAN-ROOT SINK
@@ -1467,7 +1455,7 @@ PLAN-ROOT SINK
 |     predicates: item.i_manager_id = 1
 |
 01:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
+   partitions=1824/1824 files=1824 size=326.32MB
    runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF001 -> store_sales.ss_item_sk
 ---- PARALLELPLANS
 PLAN-ROOT SINK
@@ -1518,7 +1506,7 @@ PLAN-ROOT SINK
 |     predicates: item.i_manager_id = 1
 |
 01:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
+   partitions=1824/1824 files=1824 size=326.32MB
    runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF001 -> store_sales.ss_item_sk
 ====
 # TPCDS-Q43
@@ -1570,7 +1558,7 @@ PLAN-ROOT SINK
 |  runtime filters: RF000 <- s_store_sk
 |
 |--02:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |     predicates: s_gmt_offset = -5
 |
 03:HASH JOIN [INNER JOIN]
@@ -1582,7 +1570,7 @@ PLAN-ROOT SINK
 |     predicates: d_year = 1998
 |
 01:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
+   partitions=1824/1824 files=1824 size=326.32MB
    runtime filters: RF000 -> ss_store_sk, RF001 -> ss_sold_date_sk
 ---- DISTRIBUTEDPLAN
 PLAN-ROOT SINK
@@ -1611,7 +1599,7 @@ PLAN-ROOT SINK
 |--08:EXCHANGE [BROADCAST]
 |  |
 |  02:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |     predicates: s_gmt_offset = -5
 |
 03:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1625,7 +1613,7 @@ PLAN-ROOT SINK
 |     predicates: d_year = 1998
 |
 01:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
+   partitions=1824/1824 files=1824 size=326.32MB
    runtime filters: RF000 -> ss_store_sk, RF001 -> ss_sold_date_sk
 ---- PARALLELPLANS
 PLAN-ROOT SINK
@@ -1658,7 +1646,7 @@ PLAN-ROOT SINK
 |  08:EXCHANGE [BROADCAST]
 |  |
 |  02:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |     predicates: s_gmt_offset = -5
 |
 03:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1676,7 +1664,7 @@ PLAN-ROOT SINK
 |     predicates: d_year = 1998
 |
 01:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
+   partitions=1824/1824 files=1824 size=326.32MB
    runtime filters: RF000 -> ss_store_sk, RF001 -> ss_sold_date_sk
 ====
 # TPCDS-Q46
@@ -1711,33 +1699,6 @@ from
     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')
-    and ss_sold_date_sk in (2451181, 2451182, 2451188, 2451189, 2451195, 2451196, 2451202, 2451203, 2451209, 2451210, 2451216, 2451217,
-                            2451223, 2451224, 2451230, 2451231, 2451237, 2451238, 2451244, 2451245, 2451251, 2451252, 2451258, 2451259,
-                            2451265, 2451266, 2451272, 2451273, 2451279, 2451280, 2451286, 2451287, 2451293, 2451294, 2451300, 2451301,
-                            2451307, 2451308, 2451314, 2451315, 2451321, 2451322, 2451328, 2451329, 2451335, 2451336, 2451342, 2451343,
-                            2451349, 2451350, 2451356, 2451357, 2451363, 2451364, 2451370, 2451371, 2451377, 2451378, 2451384, 2451385,
-                            2451391, 2451392, 2451398, 2451399, 2451405, 2451406, 2451412, 2451413, 2451419, 2451420, 2451426, 2451427,
-                            2451433, 2451434, 2451440, 2451441, 2451447, 2451448, 2451454, 2451455, 2451461, 2451462, 2451468, 2451469,
-                            2451475, 2451476, 2451482, 2451483, 2451489, 2451490, 2451496, 2451497, 2451503, 2451504, 2451510, 2451511,
-                            2451517, 2451518, 2451524, 2451525, 2451531, 2451532, 2451538, 2451539, 2451545, 2451546, 2451552, 2451553,
-                            2451559, 2451560, 2451566, 2451567, 2451573, 2451574, 2451580, 2451581, 2451587, 2451588, 2451594, 2451595,
-                            2451601, 2451602, 2451608, 2451609, 2451615, 2451616, 2451622, 2451623, 2451629, 2451630, 2451636, 2451637,
-                            2451643, 2451644, 2451650, 2451651, 2451657, 2451658, 2451664, 2451665, 2451671, 2451672, 2451678, 2451679,
-                            2451685, 2451686, 2451692, 2451693, 2451699, 2451700, 2451706, 2451707, 2451713, 2451714, 2451720, 2451721,
-                            2451727, 2451728, 2451734, 2451735, 2451741, 2451742, 2451748, 2451749, 2451755, 2451756, 2451762, 2451763,
-                            2451769, 2451770, 2451776, 2451777, 2451783, 2451784, 2451790, 2451791, 2451797, 2451798, 2451804, 2451805,
-                            2451811, 2451812, 2451818, 2451819, 2451825, 2451826, 2451832, 2451833, 2451839, 2451840, 2451846, 2451847,
-                            2451853, 2451854, 2451860, 2451861, 2451867, 2451868, 2451874, 2451875, 2451881, 2451882, 2451888, 2451889,
-                            2451895, 2451896, 2451902, 2451903, 2451909, 2451910, 2451916, 2451917, 2451923, 2451924, 2451930, 2451931,
-                            2451937, 2451938, 2451944, 2451945, 2451951, 2451952, 2451958, 2451959, 2451965, 2451966, 2451972, 2451973,
-                            2451979, 2451980, 2451986, 2451987, 2451993, 2451994, 2452000, 2452001, 2452007, 2452008, 2452014, 2452015,
-                            2452021, 2452022, 2452028, 2452029, 2452035, 2452036, 2452042, 2452043, 2452049, 2452050, 2452056, 2452057,
-                            2452063, 2452064, 2452070, 2452071, 2452077, 2452078, 2452084, 2452085, 2452091, 2452092, 2452098, 2452099,
-                            2452105, 2452106, 2452112, 2452113, 2452119, 2452120, 2452126, 2452127, 2452133, 2452134, 2452140, 2452141,
-                            2452147, 2452148, 2452154, 2452155, 2452161, 2452162, 2452168, 2452169, 2452175, 2452176, 2452182, 2452183,
-                            2452189, 2452190, 2452196, 2452197, 2452203, 2452204, 2452210, 2452211, 2452217, 2452218, 2452224, 2452225,
-                            2452231, 2452232, 2452238, 2452239, 2452245, 2452246, 2452252, 2452253, 2452259, 2452260, 2452266, 2452267,
-                            2452273, 2452274)
   group by
     ss_ticket_number,
     ss_customer_sk,
@@ -1764,65 +1725,63 @@ PLAN-ROOT SINK
 |  order by: c_last_name ASC, c_first_name ASC, ca_city ASC, bought_city ASC, ss_ticket_number ASC
 |
 13:HASH JOIN [INNER JOIN]
-|  hash predicates: current_addr.ca_address_sk = customer.c_current_addr_sk
+|  hash predicates: customer.c_current_addr_sk = current_addr.ca_address_sk
 |  other predicates: current_addr.ca_city != ca_city
-|  runtime filters: RF000 <- customer.c_current_addr_sk
+|  runtime filters: RF000 <- current_addr.ca_address_sk
 |
-|--12:HASH JOIN [INNER JOIN]
-|  |  hash predicates: c_customer_sk = ss_customer_sk
-|  |  runtime filters: RF001 <- ss_customer_sk
-|  |
-|  |--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
-|  |  |
-|  |  08:HASH JOIN [INNER JOIN]
-|  |  |  hash predicates: store_sales.ss_store_sk = store.s_store_sk
-|  |  |  runtime filters: RF002 <- store.s_store_sk
-|  |  |
-|  |  |--02:SCAN HDFS [tpcds.store]
-|  |  |     partitions=1/1 files=1 size=3.08KB
-|  |  |     predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville')
-|  |  |
-|  |  07:HASH JOIN [INNER JOIN]
-|  |  |  hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
-|  |  |  runtime filters: RF003 <- household_demographics.hd_demo_sk
-|  |  |
-|  |  |--03:SCAN HDFS [tpcds.household_demographics]
-|  |  |     partitions=1/1 files=1 size=148.10KB
-|  |  |     predicates: (household_demographics.hd_dep_count = 5 OR household_demographics.hd_vehicle_count = 3)
-|  |  |
-|  |  06: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
-|  |  |
-|  |  |--01:SCAN HDFS [tpcds.date_dim]
-|  |  |     partitions=1/1 files=1 size=9.84MB
-|  |  |     predicates: date_dim.d_year IN (1999, 2000, 2001), date_dim.d_dow IN (6, 0), tpcds.date_dim.d_date_sk IN (2451181, 2451182, 2451188, 2451189, 2451195, 2451196, 2451202, 2451203, 2451209, 2451210, 2451216, 2451217, 2451223, 2451224, 2451230, 2451231, 2451237, 2451238, 2451244, 2451245, 2451251, 2451252, 2451258, 2451259, 2451265, 2451266, 2451272, 2451273, 2451279, 2451280, 2451286, 2451287, 2451293, 2451294, 2451300, 2451301, 2451307, 2451308, 2451314, 2451315, 2451321, 2451322, 2451328, 2451329, 2451335, 2451336, 2451342, 2451343, 2451349, 2451350, 2451356, 2451357, 2451363, 2451364, 2451370, 2451371, 2451377, 2451378, 2451384, 2451385, 2451391, 2451392, 2451398, 2451399, 2451405, 2451406, 2451412, 2451413, 2451419, 2451420, 2451426, 2451427, 2451433, 2451434, 2451440, 2451441, 2451447, 2451448, 2451454, 2451455, 2451461, 2451462, 2451468, 2451469, 2451475, 2451476, 2451482, 2451483, 2451489, 2451490, 2451496, 2451497, 2451503, 2451504, 2451510, 2451511, 2451517, 245151
 8, 2451524, 2451525, 2451531, 2451532, 2451538, 2451539, 2451545, 2451546, 2451552, 2451553, 2451559, 2451560, 2451566, 2451567, 2451573, 2451574, 2451580, 2451581, 2451587, 2451588, 2451594, 2451595, 2451601, 2451602, 2451608, 2451609, 2451615, 2451616, 2451622, 2451623, 2451629, 2451630, 2451636, 2451637, 2451643, 2451644, 2451650, 2451651, 2451657, 2451658, 2451664, 2451665, 2451671, 2451672, 2451678, 2451679, 2451685, 2451686, 2451692, 2451693, 2451699, 2451700, 2451706, 2451707, 2451713, 2451714, 2451720, 2451721, 2451727, 2451728, 2451734, 2451735, 2451741, 2451742, 2451748, 2451749, 2451755, 2451756, 2451762, 2451763, 2451769, 2451770, 2451776, 2451777, 2451783, 2451784, 2451790, 2451791, 2451797, 2451798, 2451804, 2451805, 2451811, 2451812, 2451818, 2451819, 2451825, 2451826, 2451832, 2451833, 2451839, 2451840, 2451846, 2451847, 2451853, 2451854, 2451860, 2451861, 2451867, 2451868, 2451874, 2451875, 2451881, 2451882, 2451888, 2451889, 2451895, 2451896, 2451902, 2451903, 2451
 909, 2451910, 2451916, 2451917, 2451923, 2451924, 2451930, 2451931, 2451937, 2451938, 2451944, 2451945, 2451951, 2451952, 2451958, 2451959, 2451965, 2451966, 2451972, 2451973, 2451979, 2451980, 2451986, 2451987, 2451993, 2451994, 2452000, 2452001, 2452007, 2452008, 2452014, 2452015, 2452021, 2452022, 2452028, 2452029, 2452035, 2452036, 2452042, 2452043, 2452049, 2452050, 2452056, 2452057, 2452063, 2452064, 2452070, 2452071, 2452077, 2452078, 2452084, 2452085, 2452091, 2452092, 2452098, 2452099, 2452105, 2452106, 2452112, 2452113, 2452119, 2452120, 2452126, 2452127, 2452133, 2452134, 2452140, 2452141, 2452147, 2452148, 2452154, 2452155, 2452161, 2452162, 2452168, 2452169, 2452175, 2452176, 2452182, 2452183, 2452189, 2452190, 2452196, 2452197, 2452203, 2452204, 2452210, 2452211, 2452217, 2452218, 2452224, 2452225, 2452231, 2452232, 2452238, 2452239, 2452245, 2452246, 2452252, 2452253, 2452259, 2452260, 2452266, 2452267, 2452273, 2452274)
-|  |  |
-|  |  05:HASH JOIN [INNER JOIN]
-|  |  |  hash predicates: customer_address.ca_address_sk = store_sales.ss_addr_sk
-|  |  |  runtime filters: RF005 <- store_sales.ss_addr_sk
-|  |  |
-|  |  |--00:SCAN HDFS [tpcds.store_sales]
-|  |  |     partitions=20/120 files=20 size=3.33MB
-|  |  |     runtime filters: RF002 -> store_sales.ss_store_sk, RF003 -> store_sales.ss_hdemo_sk, RF004 -> store_sales.ss_sold_date_sk
-|  |  |
-|  |  04:SCAN HDFS [tpcds.customer_address]
-|  |     partitions=1/1 files=1 size=5.25MB
-|  |     runtime filters: RF005 -> customer_address.ca_address_sk
-|  |
-|  10:SCAN HDFS [tpcds.customer]
+|--11:SCAN HDFS [tpcds.customer_address current_addr]
+|     partitions=1/1 files=1 size=5.25MB
+|
+12:HASH JOIN [INNER JOIN]
+|  hash predicates: ss_customer_sk = c_customer_sk
+|  runtime filters: RF001 <- c_customer_sk
+|
+|--10:SCAN HDFS [tpcds.customer]
 |     partitions=1/1 files=1 size=12.60MB
-|     runtime filters: RF001 -> c_customer_sk
+|     runtime filters: RF000 -> customer.c_current_addr_sk
 |
-11:SCAN HDFS [tpcds.customer_address current_addr]
-   partitions=1/1 files=1 size=5.25MB
-   runtime filters: RF000 -> current_addr.ca_address_sk
+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
+|
+08:HASH JOIN [INNER JOIN]
+|  hash predicates: store_sales.ss_addr_sk = customer_address.ca_address_sk
+|  runtime filters: RF002 <- customer_address.ca_address_sk
+|
+|--04:SCAN HDFS [tpcds.customer_address]
+|     partitions=1/1 files=1 size=5.25MB
+|
+07:HASH JOIN [INNER JOIN]
+|  hash predicates: store_sales.ss_store_sk = store.s_store_sk
+|  runtime filters: RF003 <- store.s_store_sk
+|
+|--02:SCAN HDFS [tpcds.store]
+|     partitions=1/1 files=1 size=3.08KB
+|     predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville')
+|
+06: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
+|
+|--01:SCAN HDFS [tpcds.date_dim]
+|     partitions=1/1 files=1 size=9.84MB
+|     predicates: date_dim.d_dow IN (6, 0), date_dim.d_year IN (1999, 2000, 2001)
+|
+05:HASH JOIN [INNER JOIN]
+|  hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
+|  runtime filters: RF005 <- household_demographics.hd_demo_sk
+|
+|--03:SCAN HDFS [tpcds.household_demographics]
+|     partitions=1/1 files=1 size=148.10KB
+|     predicates: (household_demographics.hd_dep_count = 5 OR household_demographics.hd_vehicle_count = 3)
+|
+00:SCAN HDFS [tpcds.store_sales]
+   partitions=1824/1824 files=1824 size=326.32MB
+   runtime filters: RF001 -> tpcds.store_sales.ss_customer_sk, RF002 -> store_sales.ss_addr_sk, RF003 -> store_sales.ss_store_sk, RF004 -> store_sales.ss_sold_date_sk, RF005 -> store_sales.ss_hdemo_sk
 ---- DISTRIBUTEDPLAN
 PLAN-ROOT SINK
 |
-23:MERGING-EXCHANGE [UNPARTITIONED]
+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
 |
@@ -1830,83 +1789,83 @@ PLAN-ROOT SINK
 |  order by: c_last_name ASC, c_first_name ASC, ca_city ASC, bought_city ASC, ss_ticket_number ASC
 |
 13:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: current_addr.ca_address_sk = customer.c_current_addr_sk
+|  hash predicates: customer.c_current_addr_sk = current_addr.ca_address_sk
 |  other predicates: current_addr.ca_city != ca_city
-|  runtime filters: RF000 <- customer.c_current_addr_sk
+|  runtime filters: RF000 <- current_addr.ca_address_sk
 |
-|--22:EXCHANGE [BROADCAST]
-|  |
-|  12:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash predicates: c_customer_sk = ss_customer_sk
-|  |  runtime filters: RF001 <- ss_customer_sk
+|--23:EXCHANGE [BROADCAST]
 |  |
-|  |--21:EXCHANGE [BROADCAST]
-|  |  |
-|  |  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
-|  |  |
-|  |  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
-|  |  |
-|  |  08:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash predicates: store_sales.ss_store_sk = store.s_store_sk
-|  |  |  runtime filters: RF002 <- store.s_store_sk
-|  |  |
-|  |  |--18:EXCHANGE [BROADCAST]
-|  |  |  |
-|  |  |  02:SCAN HDFS [tpcds.store]
-|  |  |     partitions=1/1 files=1 size=3.08KB
-|  |  |     predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville')
-|  |  |
-|  |  07:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
-|  |  |  runtime filters: RF003 <- household_demographics.hd_demo_sk
-|  |  |
-|  |  |--17:EXCHANGE [BROADCAST]
-|  |  |  |
-|  |  |  03:SCAN HDFS [tpcds.household_demographics]
-|  |  |     partitions=1/1 files=1 size=148.10KB
-|  |  |     predicates: (household_demographics.hd_dep_count = 5 OR household_demographics.hd_vehicle_count = 3)
-|  |  |
-|  |  06: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
-|  |  |
-|  |  |--16:EXCHANGE [BROADCAST]
-|  |  |  |
-|  |  |  01:SCAN HDFS [tpcds.date_dim]
-|  |  |     partitions=1/1 files=1 size=9.84MB
-|  |  |     predicates: date_dim.d_year IN (1999, 2000, 2001), date_dim.d_dow IN (6, 0), tpcds.date_dim.d_date_sk IN (2451181, 2451182, 2451188, 2451189, 2451195, 2451196, 2451202, 2451203, 2451209, 2451210, 2451216, 2451217, 2451223, 2451224, 2451230, 2451231, 2451237, 2451238, 2451244, 2451245, 2451251, 2451252, 2451258, 2451259, 2451265, 2451266, 2451272, 2451273, 2451279, 2451280, 2451286, 2451287, 2451293, 2451294, 2451300, 2451301, 2451307, 2451308, 2451314, 2451315, 2451321, 2451322, 2451328, 2451329, 2451335, 2451336, 2451342, 2451343, 2451349, 2451350, 2451356, 2451357, 2451363, 2451364, 2451370, 2451371, 2451377, 2451378, 2451384, 2451385, 2451391, 2451392, 2451398, 2451399, 2451405, 2451406, 2451412, 2451413, 2451419, 2451420, 2451426, 2451427, 2451433, 2451434, 2451440, 2451441, 2451447, 2451448, 2451454, 2451455, 2451461, 2451462, 2451468, 2451469, 2451475, 2451476, 2451482, 2451483, 2451489, 2451490, 2451496, 2451497, 2451503, 2451504, 2451510, 2451511, 2451517, 245151
 8, 2451524, 2451525, 2451531, 2451532, 2451538, 2451539, 2451545, 2451546, 2451552, 2451553, 2451559, 2451560, 2451566, 2451567, 2451573, 2451574, 2451580, 2451581, 2451587, 2451588, 2451594, 2451595, 2451601, 2451602, 2451608, 2451609, 2451615, 2451616, 2451622, 2451623, 2451629, 2451630, 2451636, 2451637, 2451643, 2451644, 2451650, 2451651, 2451657, 2451658, 2451664, 2451665, 2451671, 2451672, 2451678, 2451679, 2451685, 2451686, 2451692, 2451693, 2451699, 2451700, 2451706, 2451707, 2451713, 2451714, 2451720, 2451721, 2451727, 2451728, 2451734, 2451735, 2451741, 2451742, 2451748, 2451749, 2451755, 2451756, 2451762, 2451763, 2451769, 2451770, 2451776, 2451777, 2451783, 2451784, 2451790, 2451791, 2451797, 2451798, 2451804, 2451805, 2451811, 2451812, 2451818, 2451819, 2451825, 2451826, 2451832, 2451833, 2451839, 2451840, 2451846, 2451847, 2451853, 2451854, 2451860, 2451861, 2451867, 2451868, 2451874, 2451875, 2451881, 2451882, 2451888, 2451889, 2451895, 2451896, 2451902, 2451903, 2451
 909, 2451910, 2451916, 2451917, 2451923, 2451924, 2451930, 2451931, 2451937, 2451938, 2451944, 2451945, 2451951, 2451952, 2451958, 2451959, 2451965, 2451966, 2451972, 2451973, 2451979, 2451980, 2451986, 2451987, 2451993, 2451994, 2452000, 2452001, 2452007, 2452008, 2452014, 2452015, 2452021, 2452022, 2452028, 2452029, 2452035, 2452036, 2452042, 2452043, 2452049, 2452050, 2452056, 2452057, 2452063, 2452064, 2452070, 2452071, 2452077, 2452078, 2452084, 2452085, 2452091, 2452092, 2452098, 2452099, 2452105, 2452106, 2452112, 2452113, 2452119, 2452120, 2452126, 2452127, 2452133, 2452134, 2452140, 2452141, 2452147, 2452148, 2452154, 2452155, 2452161, 2452162, 2452168, 2452169, 2452175, 2452176, 2452182, 2452183, 2452189, 2452190, 2452196, 2452197, 2452203, 2452204, 2452210, 2452211, 2452217, 2452218, 2452224, 2452225, 2452231, 2452232, 2452238, 2452239, 2452245, 2452246, 2452252, 2452253, 2452259, 2452260, 2452266, 2452267, 2452273, 2452274)
-|  |  |
-|  |  05:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash predicates: customer_address.ca_address_sk = store_sales.ss_addr_sk
-|  |  |  runtime filters: RF005 <- store_sales.ss_addr_sk
-|  |  |
-|  |  |--15:EXCHANGE [BROADCAST]
-|  |  |  |
-|  |  |  00:SCAN HDFS [tpcds.store_sales]
-|  |  |     partitions=20/120 files=20 size=3.33MB
-|  |  |     runtime filters: RF002 -> store_sales.ss_store_sk, RF003 -> store_sales.ss_hdemo_sk, RF004 -> store_sales.ss_sold_date_sk
-|  |  |
-|  |  04:SCAN HDFS [tpcds.customer_address]
-|  |     partitions=1/1 files=1 size=5.25MB
-|  |     runtime filters: RF005 -> customer_address.ca_address_sk
+|  11:SCAN HDFS [tpcds.customer_address current_addr]
+|     partitions=1/1 files=1 size=5.25MB
+|
+12:HASH JOIN [INNER JOIN, PARTITIONED]
+|  hash predicates: ss_customer_sk = c_customer_sk
+|  runtime filters: RF001 <- c_customer_sk
+|
+|--22:EXCHANGE [HASH(c_customer_sk)]
 |  |
 |  10:SCAN HDFS [tpcds.customer]
 |     partitions=1/1 files=1 size=12.60MB
-|     runtime filters: RF001 -> c_customer_sk
+|     runtime filters: RF000 -> customer.c_current_addr_sk
 |
-11:SCAN HDFS [tpcds.customer_address current_addr]
-   partitions=1/1 files=1 size=5.25MB
-   runtime filters: RF000 -> current_addr.ca_address_sk
+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
+|
+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
+|
+08:HASH JOIN [INNER JOIN, BROADCAST]
+|  hash predicates: store_sales.ss_addr_sk = customer_address.ca_address_sk
+|  runtime filters: RF002 <- customer_address.ca_address_sk
+|
+|--18:EXCHANGE [BROADCAST]
+|  |
+|  04:SCAN HDFS [tpcds.customer_address]
+|     partitions=1/1 files=1 size=5.25MB
+|
+07:HASH JOIN [INNER JOIN, BROADCAST]
+|  hash predicates: store_sales.ss_store_sk = store.s_store_sk
+|  runtime filters: RF003 <- store.s_store_sk
+|
+|--17:EXCHANGE [BROADCAST]
+|  |
+|  02:SCAN HDFS [tpcds.store]
+|     partitions=1/1 files=1 size=3.08KB
+|     predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville')
+|
+06: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
+|
+|--16:EXCHANGE [BROADCAST]
+|  |
+|  01:SCAN HDFS [tpcds.date_dim]
+|     partitions=1/1 files=1 size=9.84MB
+|     predicates: date_dim.d_dow IN (6, 0), date_dim.d_year IN (1999, 2000, 2001)
+|
+05:HASH JOIN [INNER JOIN, BROADCAST]
+|  hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
+|  runtime filters: RF005 <- household_demographics.hd_demo_sk
+|
+|--15:EXCHANGE [BROADCAST]
+|  |
+|  03:SCAN HDFS [tpcds.household_demographics]
+|     partitions=1/1 files=1 size=148.10KB
+|     predicates: (household_demographics.hd_dep_count = 5 OR household_demographics.hd_vehicle_count = 3)
+|
+00:SCAN HDFS [tpcds.store_sales]
+   partitions=1824/1824 files=1824 size=326.32MB
+   runtime filters: RF001 -> tpcds.store_sales.ss_customer_sk, RF002 -> store_sales.ss_addr_sk, RF003 -> store_sales.ss_store_sk, RF004 -> store_sales.ss_sold_date_sk, RF005 -> store_sales.ss_hdemo_sk
 ---- PARALLELPLANS
 PLAN-ROOT SINK
 |
-23:MERGING-EXCHANGE [UNPARTITIONED]
+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
 |
@@ -1914,103 +1873,103 @@ PLAN-ROOT SINK
 |  order by: c_last_name ASC, c_first_name ASC, ca_city ASC, bought_city ASC, ss_ticket_number ASC
 |
 13:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: current_addr.ca_address_sk = customer.c_current_addr_sk
+|  hash predicates: customer.c_current_addr_sk = current_addr.ca_address_sk
 |  other predicates: current_addr.ca_city != ca_city
-|  runtime filters: RF000 <- customer.c_current_addr_sk
+|  runtime filters: RF000 <- current_addr.ca_address_sk
 |
 |--JOIN BUILD
 |  |  join-table-id=00 plan-id=01 cohort-id=01
-|  |  build expressions: customer.c_current_addr_sk
+|  |  build expressions: current_addr.ca_address_sk
 |  |
-|  22:EXCHANGE [BROADCAST]
+|  23:EXCHANGE [BROADCAST]
 |  |
-|  12:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash predicates: c_customer_sk = ss_customer_sk
-|  |  runtime filters: RF001 <- ss_customer_sk
+|  11:SCAN HDFS [tpcds.customer_address current_addr]
+|     partitions=1/1 files=1 size=5.25MB
+|
+12:HASH JOIN [INNER JOIN, PARTITIONED]
+|  hash predicates: ss_customer_sk = c_customer_sk
+|  runtime filters: RF001 <- c_customer_sk
+|
+|--JOIN BUILD
+|  |  join-table-id=01 plan-id=02 cohort-id=01
+|  |  build expressions: c_customer_sk
 |  |
-|  |--JOIN BUILD
-|  |  |  join-table-id=01 plan-id=02 cohort-id=02
-|  |  |  build expressions: ss_customer_sk
-|  |  |
-|  |  21:EXCHANGE [BROADCAST]
-|  |  |
-|  |  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
-|  |  |
-|  |  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
-|  |  |
-|  |  08:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash predicates: store_sales.ss_store_sk = store.s_store_sk
-|  |  |  runtime filters: RF002 <- store.s_store_sk
-|  |  |
-|  |  |--JOIN BUILD
-|  |  |  |  join-table-id=02 plan-id=03 cohort-id=03
-|  |  |  |  build expressions: store.s_store_sk
-|  |  |  |
-|  |  |  18:EXCHANGE [BROADCAST]
-|  |  |  |
-|  |  |  02:SCAN HDFS [tpcds.store]
-|  |  |     partitions=1/1 files=1 size=3.08KB
-|  |  |     predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville')
-|  |  |
-|  |  07:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
-|  |  |  runtime filters: RF003 <- household_demographics.hd_demo_sk
-|  |  |
-|  |  |--JOIN BUILD
-|  |  |  |  join-table-id=03 plan-id=04 cohort-id=03
-|  |  |  |  build expressions: household_demographics.hd_demo_sk
-|  |  |  |
-|  |  |  17:EXCHANGE [BROADCAST]
-|  |  |  |
-|  |  |  03:SCAN HDFS [tpcds.household_demographics]
-|  |  |     partitions=1/1 files=1 size=148.10KB
-|  |  |     predicates: (household_demographics.hd_dep_count = 5 OR household_demographics.hd_vehicle_count = 3)
-|  |  |
-|  |  06: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
-|  |  |
-|  |  |--JOIN BUILD
-|  |  |  |  join-table-id=04 plan-id=05 cohort-id=03
-|  |  |  |  build expressions: date_dim.d_date_sk
-|  |  |  |
-|  |  |  16:EXCHANGE [BROADCAST]
-|  |  |  |
-|  |  |  01:SCAN HDFS [tpcds.date_dim]
-|  |  |     partitions=1/1 files=1 size=9.84MB
-|  |  |     predicates: date_dim.d_year IN (1999, 2000, 2001), date_dim.d_dow IN (6, 0), tpcds.date_dim.d_date_sk IN (2451181, 2451182, 2451188, 2451189, 2451195, 2451196, 2451202, 2451203, 2451209, 2451210, 2451216, 2451217, 2451223, 2451224, 2451230, 2451231, 2451237, 2451238, 2451244, 2451245, 2451251, 2451252, 2451258, 2451259, 2451265, 2451266, 2451272, 2451273, 2451279, 2451280, 2451286, 2451287, 2451293, 2451294, 2451300, 2451301, 2451307, 2451308, 2451314, 2451315, 2451321, 2451322, 2451328, 2451329, 2451335, 2451336, 2451342, 2451343, 2451349, 2451350, 2451356, 2451357, 2451363, 2451364, 2451370, 2451371, 2451377, 2451378, 2451384, 2451385, 2451391, 2451392, 2451398, 2451399, 2451405, 2451406, 2451412, 2451413, 2451419, 2451420, 2451426, 2451427, 2451433, 2451434, 2451440, 2451441, 2451447, 2451448, 2451454, 2451455, 2451461, 2451462, 2451468, 2451469, 2451475, 2451476, 2451482, 2451483, 2451489, 2451490, 2451496, 2451497, 2451503, 2451504, 2451510, 2451511, 2451517, 245151
 8, 2451524, 2451525, 2451531, 2451532, 2451538, 2451539, 2451545, 2451546, 2451552, 2451553, 2451559, 2451560, 2451566, 2451567, 2451573, 2451574, 2451580, 2451581, 2451587, 2451588, 2451594, 2451595, 2451601, 2451602, 2451608, 2451609, 2451615, 2451616, 2451622, 2451623, 2451629, 2451630, 2451636, 2451637, 2451643, 2451644, 2451650, 2451651, 2451657, 2451658, 2451664, 2451665, 2451671, 2451672, 2451678, 2451679, 2451685, 2451686, 2451692, 2451693, 2451699, 2451700, 2451706, 2451707, 2451713, 2451714, 2451720, 2451721, 2451727, 2451728, 2451734, 2451735, 2451741, 2451742, 2451748, 2451749, 2451755, 2451756, 2451762, 2451763, 2451769, 2451770, 2451776, 2451777, 2451783, 2451784, 2451790, 2451791, 2451797, 2451798, 2451804, 2451805, 2451811, 2451812, 2451818, 2451819, 2451825, 2451826, 2451832, 2451833, 2451839, 2451840, 2451846, 2451847, 2451853, 2451854, 2451860, 2451861, 2451867, 2451868, 2451874, 2451875, 2451881, 2451882, 2451888, 2451889, 2451895, 2451896, 2451902, 2451903, 2451
 909, 2451910, 2451916, 2451917, 2451923, 2451924, 2451930, 2451931, 2451937, 2451938, 2451944, 2451945, 2451951, 2451952, 2451958, 2451959, 2451965, 2451966, 2451972, 2451973, 2451979, 2451980, 2451986, 2451987, 2451993, 2451994, 2452000, 2452001, 2452007, 2452008, 2452014, 2452015, 2452021, 2452022, 2452028, 2452029, 2452035, 2452036, 2452042, 2452043, 2452049, 2452050, 2452056, 2452057, 2452063, 2452064, 2452070, 2452071, 2452077, 2452078, 2452084, 2452085, 2452091, 2452092, 2452098, 2452099, 2452105, 2452106, 2452112, 2452113, 2452119, 2452120, 2452126, 2452127, 2452133, 2452134, 2452140, 2452141, 2452147, 2452148, 2452154, 2452155, 2452161, 2452162, 2452168, 2452169, 2452175, 2452176, 2452182, 2452183, 2452189, 2452190, 2452196, 2452197, 2452203, 2452204, 2452210, 2452211, 2452217, 2452218, 2452224, 2452225, 2452231, 2452232, 2452238, 2452239, 2452245, 2452246, 2452252, 2452253, 2452259, 2452260, 2452266, 2452267, 2452273, 2452274)
-|  |  |
-|  |  05:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash predicates: customer_address.ca_address_sk = store_sales.ss_addr_sk
-|  |  |  runtime filters: RF005 <- store_sales.ss_addr_sk
-|  |  |
-|  |  |--JOIN BUILD
-|  |  |  |  join-table-id=05 plan-id=06 cohort-id=03
-|  |  |  |  build expressions: store_sales.ss_addr_sk
-|  |  |  |
-|  |  |  15:EXCHANGE [BROADCAST]
-|  |  |  |
-|  |  |  00:SCAN HDFS [tpcds.store_sales]
-|  |  |     partitions=20/120 files=20 size=3.33MB
-|  |  |     runtime filters: RF002 -> store_sales.ss_store_sk, RF003 -> store_sales.ss_hdemo_sk, RF004 -> store_sales.ss_sold_date_sk
-|  |  |
-|  |  04:SCAN HDFS [tpcds.customer_address]
-|  |     partitions=1/1 files=1 size=5.25MB
-|  |     runtime filters: RF005 -> customer_address.ca_address_sk
+|  22:EXCHANGE [HASH(c_customer_sk)]
 |  |
 |  10:SCAN HDFS [tpcds.customer]
 |     partitions=1/1 files=1 size=12.60MB
-|     runtime filters: RF001 -> c_customer_sk
+|     runtime filters: RF000 -> customer.c_current_addr_sk
 |
-11:SCAN HDFS [tpcds.customer_address current_addr]
-   partitions=1/1 files=1 size=5.25MB
-   runtime filters: RF000 -> current_addr.ca_address_sk
+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
+|
+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
+|
+08:HASH JOIN [INNER JOIN, BROADCAST]
+|  hash predicates: store_sales.ss_addr_sk = customer_address.ca_address_sk
+|  runtime filters: RF002 <- customer_address.ca_address_sk
+|
+|--JOIN BUILD
+|  |  join-table-id=02 plan-id=03 cohort-id=01
+|  |  build expressions: customer_address.ca_address_sk
+|  |
+|  18:EXCHANGE [BROADCAST]
+|  |
+|  04:SCAN HDFS [tpcds.customer_address]
+|     partitions=1/1 files=1 size=5.25MB
+|
+07:HASH JOIN [INNER JOIN, BROADCAST]
+|  hash predicates: store_sales.ss_store_sk = store.s_store_sk
+|  runtime filters: RF003 <- store.s_store_sk
+|
+|--JOIN BUILD
+|  |  join-table-id=03 plan-id=04 cohort-id=01
+|  |  build expressions: store.s_store_sk
+|  |
+|  17:EXCHANGE [BROADCAST]
+|  |
+|  02:SCAN HDFS [tpcds.store]
+|     partitions=1/1 files=1 size=3.08KB
+|     predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville')
+|
+06: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
+|
+|--JOIN BUILD
+|  |  join-table-id=04 plan-id=05 cohort-id=01
+|  |  build expressions: date_dim.d_date_sk
+|  |
+|  16:EXCHANGE [BROADCAST]
+|  |
+|  01:SCAN HDFS [tpcds.date_dim]
+|     partitions=1/1 files=1 size=9.84MB
+|     predicates: date_dim.d_dow IN (6, 0), date_dim.d_year IN (1999, 2000, 2001)
+|
+05:HASH JOIN [INNER JOIN, BROADCAST]
+|  hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
+|  runtime filters: RF005 <- household_demographics.hd_demo_sk
+|
+|--JOIN BUILD
+|  |  join-table-id=05 plan-id=06 cohort-id=01
+|  |  build expressions: household_demographics.hd_demo_sk
+|  |
+|  15:EXCHANGE [BROADCAST]
+|  |
+|  03:SCAN HDFS [tpcds.household_demographics]
+|     partitions=1/1 files=1 size=148.10KB
+|     predicates: (household_demographics.hd_dep_count = 5 OR household_demographics.hd_vehicle_count = 3)
+|
+00:SCAN HDFS [tpcds.store_sales]
+   partitions=1824/1824 files=1824 size=326.32MB
+   runtime filters: RF001 -> tpcds.store_sales.ss_customer_sk, RF002 -> store_sales.ss_addr_sk, RF003 -> store_sales.ss_store_sk, RF004 -> store_sales.ss_sold_date_sk, RF005 -> store_sales.ss_hdemo_sk
 ====
 # TPCDS-Q52
 select
@@ -2064,7 +2023,7 @@ PLAN-ROOT SINK
 |     predicates: item.i_manager_id = 1
 |
 01:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
+   partitions=1824/1824 files=1824 size=326.32MB
    runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF001 -> store_sales.ss_item_sk
 ---- DISTRIBUTEDPLAN
 PLAN-ROOT SINK
@@ -2107,7 +2066,7 @@ PLAN-ROOT SINK
 |     predicates: item.i_manager_id = 1
 |
 01:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
+   partitions=1824/1824 files=1824 size=326.32MB
    runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF001 -> store_sales.ss_item_sk
 ---- PARALLELPLANS
 PLAN-ROOT SINK
@@ -2158,7 +2117,7 @@ PLAN-ROOT SINK
 |     predicates: item.i_manager_id = 1
 |
 01:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
+   partitions=1824/1824 files=1824 size=326.32MB
    runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF001 -> store_sales.ss_item_sk
 ====
 # TPCDS-Q53
@@ -2207,28 +2166,27 @@ PLAN-ROOT SINK
 |  runtime filters: RF000 <- s_store_sk
 |
 |--03:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |
 05:HASH JOIN [INNER JOIN]
-|  hash predicates: d_date_sk = ss_sold_date_sk
-|  runtime filters: RF001 <- ss_sold_date_sk
+|  hash predicates: ss_sold_date_sk = d_date_sk
+|  runtime filters: RF001 <- d_date_sk
 |
-|--04:HASH JOIN [INNER JOIN]
-|  |  hash predicates: ss_item_sk = i_item_sk
-|  |  runtime filters: RF002 <- i_item_sk
-|  |
-|  |--00:SCAN HDFS [tpcds.item]
-|  |     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')))
-|  |
-|  01:SCAN HDFS [tpcds.store_sales]
-|     partitions=120/120 files=120 size=21.31MB
-|     runtime filters: RF000 -> ss_store_sk, RF002 -> ss_item_sk
+|--02:SCAN HDFS [tpcds.date_dim]
+|     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)
 |
-02:SCAN HDFS [tpcds.date_dim]
-   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)
-   runtime filters: RF001 -> d_date_sk
+04:HASH JOIN [INNER JOIN]
+|  hash predicates: ss_item_sk = i_item_sk
+|  runtime filters: RF002 <- i_item_sk
+|
+|--00:SCAN HDFS [tpcds.item]
+|     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')))
+|
+01:SCAN HDFS [tpcds.store_sales]
+   partitions=1824/1824 files=1824 size=326.32MB
+   runtime filters: RF000 -> ss_store_sk, RF001 -> ss_sold_date_sk, RF002 -> ss_item_sk
 ---- DISTRIBUTEDPLAN
 PLAN-ROOT SINK
 |
@@ -2256,32 +2214,31 @@ PLAN-ROOT SINK
 |--11:EXCHANGE [BROADCAST]
 |  |
 |  03:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |
 05:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: d_date_sk = ss_sold_date_sk
-|  runtime filters: RF001 <- ss_sold_date_sk
+|  hash predicates: ss_sold_date_sk = d_date_sk
+|  runtime filters: RF001 <- d_date_sk
 |
 |--10:EXCHANGE [BROADCAST]
 |  |
-|  04:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash predicates: ss_item_sk = i_item_sk
-|  |  runtime filters: RF002 <- i_item_sk
-|  |
-|  |--09:EXCHANGE [BROADCAST]
-|  |  |
-|  |  00:SCAN HDFS [tpcds.item]
-|  |     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')))
+|  02:SCAN HDFS [tpcds.date_dim]
+|     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)
+|
+04:HASH JOIN [INNER JOIN, BROADCAST]
+|  hash predicates: ss_item_sk = i_item_sk
+|  runtime filters: RF002 <- i_item_sk
+|
+|--09:EXCHANGE [BROADCAST]
 |  |
-|  01:SCAN HDFS [tpcds.store_sales]
-|     partitions=120/120 files=120 size=21.31MB
-|     runtime filters: RF000 -> ss_store_sk, RF002 -> ss_item_sk
+|  00:SCAN HDFS [tpcds.item]
+|     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')))
 |
-02:SCAN HDFS [tpcds.date_dim]
-   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)
-   runtime filters: RF001 -> d_date_sk
+01:SCAN HDFS [tpcds.store_sales]
+   partitions=1824/1824 files=1824 size=326.32MB
+   runtime filters: RF000 -> ss_store_sk, RF001 -> ss_sold_date_sk, RF002 -> ss_item_sk
 ---- PARALLELPLANS
 PLAN-ROOT SINK
 |
@@ -2313,40 +2270,39 @@ PLAN-ROOT SINK
 |  11:EXCHANGE [BROADCAST]
 |  |
 |  03:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |
 05:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash predicates: d_date_sk = ss_sold_date_sk
-|  runtime filters: RF001 <- ss_sold_date_sk
+|  hash predicates: ss_sold_date_sk = d_date_sk
+|  runtime filters: RF001 <- d_date_sk
 |
 |--JOIN BUILD
 |  |  join-table-id=01 plan-id=02 cohort-id=01
-|  |  build expressions: ss_sold_date_sk
+|  |  build expressions: d_date_sk
 |  |
 |  10:EXCHANGE [BROADCAST]
 |  |
-|  04:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash predicates: ss_item_sk = i_item_sk
-|  |  runtime filters: RF002 <- i_item_sk
+|  02:SCAN HDFS [tpcds.date_dim]
+|     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)
+|
+04:HASH JOIN [INNER JOIN, BROADCAST]
+|  hash predicates: ss_item_sk = i_item_sk
+|  runtime filters: RF002 <- i_item_sk
+|
+|--JOIN BUILD
+|  |  join-table-id=02 plan-id=03 cohort-id=01
+|  |  build expressions: i_item_sk
 |  |
-|  |--JOIN BUILD
-|  |  |  join-table-id=02 plan-id=03 cohort-id=02
-|  |  |  build expressions: i_item_sk
-|  |  |
-|  |  09:EXCHANGE [BROADCAST]
-|  |  |
-|  |  00:SCAN HDFS [tpcds.item]
-|  |     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')))
+|  09:EXCHANGE [BROADCAST]
 |  |
-|  01:SCAN HDFS [tpcds.store_sales]
-|     partitions=120/120 files=120 size=21.31MB
-|     runtime filters: RF000 -> ss_store_sk, RF002 -> ss_item_sk
+|  00:SCAN HDFS [tpcds.item]
+|     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')))
 |
-02:SCAN HDFS [tpcds.date_dim]
-   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)
-   runtime filters: RF001 -> d_date_sk
+01:SCAN HDFS [tpcds.store_sales]
+   partitions=1824/1824 files=1824 size=326.32MB
+   runtime filters: RF000 -> ss_store_sk, RF001 -> ss_sold_date_sk, RF002 -> ss_item_sk
 ====
 # TPCDS-Q55
 select
@@ -2397,7 +2353,7 @@ PLAN-ROOT SINK
 |     predicates: i_manager_id = 36
 |
 01:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
+   partitions=1824/1824 files=1824 size=326.32MB
    runtime filters: RF000 -> ss_sold_date_sk, RF001 -> ss_item_sk
 ---- DISTRIBUTEDPLAN
 PLAN-ROOT SINK
@@ -2440,7 +2396,7 @@ PLAN-ROOT SINK
 |     predicates: i_manager_id = 36
 |
 01:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
+   partitions=1824/1824 files=1824 size=326.32MB
    runtime filters: RF000 -> ss_sold_date_sk, RF001 -> ss_item_sk
 ---- PARALLELPLANS
 PLAN-ROOT SINK
@@ -2491,7 +2447,7 @@ PLAN-ROOT SINK
 |     predicates: i_manager_id = 36
 |
 01:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
+   partitions=1824/1824 files=1824 size=326.32MB
    runtime filters: RF000 -> ss_sold_date_sk, RF001 -> ss_item_sk
 ====
 # TPCDS-Q59
@@ -2591,7 +2547,7 @@ PLAN-ROOT SINK
 |  |  runtime filters: RF005 <- s_store_sk
 |  |
 |  |--12:SCAN HDFS [tpcds.store]
-|  |     partitions=1/1 files=1 size=3.08KB
+|  |     partitions=1/1 files=1 size=3.07KB
 |  |
 |  14:HASH JOIN [INNER JOIN]
 |  |  hash predicates: d_week_seq = d.d_week_seq
@@ -2614,7 +2570,7 @@ PLAN-ROOT SINK
 |  |     runtime filters: RF006 -> tpcds.date_dim.d_week_seq
 |  |
 |  08:SCAN HDFS [tpcds.store_sales]
-|     partitions=120/120 files=120 size=21.31MB
+|     partitions=1824/1824 files=1824 size=326.32MB
 |     runtime filters: RF005 -> tpcds.store_sales.ss_store_sk, RF007 -> ss_sold_date_sk
 |
 07:HASH JOIN [INNER JOIN]
@@ -2622,7 +2578,7 @@ PLAN-ROOT SINK
 |  runtime filters: RF002 <- s_store_sk
 |
 |--04:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |     runtime filters: RF001 -> s_store_id
 |
 06:HASH JOIN [INNER JOIN]
@@ -2647,12 +2603,12 @@ PLAN-ROOT SINK
 |     runtime filters: RF000 -> tpcds.date_dim.d_week_seq, RF003 -> tpcds.date_dim.d_week_seq
 |
 00:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
+   partitions=1824/1824 files=1824 size=326.32MB
    runtime filters: RF002 -> tpcds.store_sales.ss_store_sk, RF004 -> ss_sold_date_sk
 ---- DISTRIBUTEDPLAN
 PLAN-ROOT SINK
 |
-32:MERGING-EXCHANGE [UNPARTITIONED]
+30:MERGING-EXCHANGE [UNPARTITIONED]
 |  order by: s_store_name1 ASC, s_store_id1 ASC, d_week_seq1 ASC
 |  limit: 100
 |
@@ -2663,105 +2619,101 @@ PLAN-ROOT SINK
 |  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
 |
-|--31:EXCHANGE [HASH(d_week_seq - 52,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
 |  |  runtime filters: RF005 <- s_store_sk
 |  |
-|  |--29:EXCHANGE [BROADCAST]
+|  |--27:EXCHANGE [BROADCAST]
 |  |  |
 |  |  12:SCAN HDFS [tpcds.store]
-|  |     partitions=1/1 files=1 size=3.08KB
+|  |     partitions=1/1 files=1 size=3.07KB
 |  |
 |  14:HASH JOIN [INNER JOIN, BROADCAST]
 |  |  hash predicates: d_week_seq = d.d_week_seq
 |  |  runtime filters: RF006 <- d.d_week_seq
 |  |
-|  |--28:EXCHANGE [BROADCAST]
+|  |--26:EXCHANGE [BROADCAST]
 |  |  |
 |  |  13:SCAN HDFS [tpcds.date_dim d]
 |  |     partitions=1/1 files=1 size=9.84MB
 |  |     predicates: d_month_seq <= 1208, d_month_seq >= 1197
 |  |
-|  27:AGGREGATE [FINALIZE]
+|  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
 |  |
-|  26:EXCHANGE [HASH(d_week_seq,ss_store_sk)]
+|  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
 |  |
-|  10:HASH JOIN [INNER JOIN, PARTITIONED]
+|  10:HASH JOIN [INNER JOIN, BROADCAST]
 |  |  hash predicates: ss_sold_date_sk = d_date_sk
 |  |  runtime filters: RF007 <- d_date_sk
 |  |
-|  |--25:EXCHANGE [HASH(d_date_sk)]
+|  |--23:EXCHANGE [BROADCAST]
 |  |  |
 |  |  09:SCAN HDFS [tpcds.date_dim]
 |  |     partitions=1/1 files=1 size=9.84MB
 |  |     runtime filters: RF006 -> tpcds.date_dim.d_week_seq
 |  |
-|  24:EXCHANGE [HASH(ss_sold_date_sk)]
-|  |
 |  08:SCAN HDFS [tpcds.store_sales]
-|     partitions=120/120 files=120 size=21.31MB
+|     partitions=1824/1824 files=1824 size=326.32MB
 |     runtime filters: RF005 -> tpcds.store_sales.ss_store_sk, RF007 -> ss_sold_date_sk
 |
-30:EXCHANGE [HASH(d_week_seq,s_store_id)]
+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: RF002 <- s_store_sk
 |
-|--23:EXCHANGE [BROADCAST]
+|--22:EXCHANGE [BROADCAST]
 |  |
 |  04:SCAN HDFS [tpcds.store]
-|     partitions=1/1 files=1 size=3.08KB
+|     partitions=1/1 files=1 size=3.07KB
 |     runtime filters: RF001 -> s_store_id
 |
 06:HASH JOIN [INNER JOIN, BROADCAST]
 |  hash predicates: d_week_seq = d.d_week_seq
 |  runtime filters: RF003 <- d.d_week_seq
 |
-|--22:EXCHANGE [BROADCAST]
+|--21:EXCHANGE [BROADCAST]
 |  |
 |  05:SCAN HDFS [tpcds.date_dim d]
 |     partitions=1/1 files=1 size=9.84MB
 |     predicates: d_month_seq <= 1196, d_month_seq >= 1185
 |     runtime filters: RF000 -> d.d_week_seq
 |
-21:AGGREGATE [FINALIZE]
+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
 |
-20:EXCHANGE [HASH(d_week_seq,ss_store_sk)]
+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
 |
-02:HASH JOIN [INNER JOIN, PARTITIONED]
+02:HASH JOIN [INNER JOIN, BROADCAST]
 |  hash predicates: ss_sold_date_sk = d_date_sk
 |  runtime filters: RF004 <- d_date_sk
 |
-|--19:EXCHANGE [HASH(d_date_sk)]
+|--18:EXCHANGE [BROADCAST]
 |  |
 |  01:SCAN HDFS [tpcds.date_dim]
 |     partitions=1/1 files=1 size=9.84MB
 |     runtime filters: RF000 -> tpcds.date_dim.d_week_seq, RF003 -> tpcds.date_dim.d_week_seq
 |
-18:EXCHANGE [HASH(ss_sold_date_sk)]
-|
 00:SCAN HDFS [tpcds.store_sales]
-   partitions=120/120 files=120 size=21.31MB
+   partitions=1824/1824 files=1824 size=326.32MB
    runtime filters: RF002 -> tpcds.store_sales.ss_store_sk, RF004 -> ss_sold_date_sk
 ---- PARALLELPLANS
 PLAN-ROOT SINK
 |
-32:MERGING-EXCHANGE [UNPARTITIONED]
+30:MERGING-EXCHANGE [UNPARTITIONED]
 |  order by: s_store_name1 ASC, s_store_id1 ASC, d_week_seq1 ASC
 |  limit: 100
 |
@@ -2776,7 +2728,7 @@ PLAN-ROOT SINK
 |  |  join-table-id=00 plan-id=01 cohort-id=01
 |  |  build expressions: d_week_seq - 52, s_store_id
 |  |
-|  31:EXCHANGE [HASH(d_week_seq - 52,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
@@ -2786,10 +2738,10 @@ PLAN-ROOT 

<TRUNCATED>