blob: 00ec59e9f905d7b189b16aa7f73e9def6280d6cc [file] [log] [blame]
# 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=49.56MB Threads=8
Per-Host Resource Estimates: Memory=394MB
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=394.06MB mem-reservation=49.56MB thread-reservation=8 runtime-filters-memory=6.00MB
PLAN-ROOT SINK
| output exprs: c_last_name, c_first_name, ca_city, bought_city, ss_ticket_number, amt, profit
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
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
| mem-estimate=11.51KB mem-reservation=0B thread-reservation=0
| tuple-ids=9 row-size=118B cardinality=100
| in pipelines: 14(GETNEXT), 09(OPEN)
|
13:HASH JOIN [INNER JOIN]
| hash predicates: customer.c_current_addr_sk = current_addr.ca_address_sk
| fk/pk conjuncts: customer.c_current_addr_sk = current_addr.ca_address_sk
| other predicates: current_addr.ca_city != ca_city
| runtime filters: RF000[bloom] <- current_addr.ca_address_sk
| mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
| tuple-ids=5,7,8 row-size=138B cardinality=230.45K
| in pipelines: 09(GETNEXT), 11(OPEN)
|
|--11:SCAN HDFS [tpcds_parquet.customer_address current_addr]
| HDFS partitions=1/1 files=1 size=1.16MB
| stored statistics:
| table: rows=50.00K size=1.16MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=50.00K
| mem-estimate=32.00MB mem-reservation=512.00KB thread-reservation=1
| tuple-ids=8 row-size=25B cardinality=50.00K
| in pipelines: 11(GETNEXT)
|
12:HASH JOIN [INNER JOIN]
| hash predicates: ss_customer_sk = c_customer_sk
| fk/pk conjuncts: ss_customer_sk = c_customer_sk
| runtime filters: RF002[bloom] <- c_customer_sk
| mem-estimate=8.50MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
| tuple-ids=5,7 row-size=113B cardinality=230.45K
| in pipelines: 09(GETNEXT), 10(OPEN)
|
|--10:SCAN HDFS [tpcds_parquet.customer]
| HDFS partitions=1/1 files=1 size=5.49MB
| runtime filters: RF000[bloom] -> customer.c_current_addr_sk
| stored statistics:
| table: rows=100.00K size=5.49MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=100.00K
| mem-estimate=64.00MB mem-reservation=2.00MB thread-reservation=1
| tuple-ids=7 row-size=44B cardinality=100.00K
| in pipelines: 10(GETNEXT)
|
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
| mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| tuple-ids=5 row-size=69B cardinality=230.45K
| in pipelines: 09(GETNEXT), 00(OPEN)
|
08:HASH JOIN [INNER JOIN]
| hash predicates: store_sales.ss_addr_sk = customer_address.ca_address_sk
| fk/pk conjuncts: store_sales.ss_addr_sk = customer_address.ca_address_sk
| runtime filters: RF004[bloom] <- customer_address.ca_address_sk
| mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
| tuple-ids=0,3,1,2,4 row-size=107B cardinality=230.45K
| in pipelines: 00(GETNEXT), 04(OPEN)
|
|--04:SCAN HDFS [tpcds_parquet.customer_address]
| HDFS partitions=1/1 files=1 size=1.16MB
| stored statistics:
| table: rows=50.00K size=1.16MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=50.00K
| mem-estimate=32.00MB mem-reservation=512.00KB thread-reservation=1
| tuple-ids=4 row-size=25B cardinality=50.00K
| in pipelines: 04(GETNEXT)
|
07:HASH JOIN [INNER JOIN]
| hash predicates: store_sales.ss_store_sk = store.s_store_sk
| fk/pk conjuncts: store_sales.ss_store_sk = store.s_store_sk
| runtime filters: RF006[bloom] <- store.s_store_sk
| mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| tuple-ids=0,3,1,2 row-size=83B cardinality=230.45K
| in pipelines: 00(GETNEXT), 02(OPEN)
|
|--02:SCAN HDFS [tpcds_parquet.store]
| HDFS partitions=1/1 files=1 size=9.93KB
| predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville')
| stored statistics:
| table: rows=12 size=9.93KB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=12
| parquet statistics predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville')
| parquet dictionary predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville')
| mem-estimate=32.00MB mem-reservation=16.00KB thread-reservation=1
| tuple-ids=2 row-size=23B cardinality=12
| in pipelines: 02(GETNEXT)
|
06:HASH JOIN [INNER JOIN]
| hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk
| fk/pk conjuncts: store_sales.ss_sold_date_sk = date_dim.d_date_sk
| runtime filters: RF008[bloom] <- date_dim.d_date_sk
| mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| tuple-ids=0,3,1 row-size=60B cardinality=230.45K
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--01:SCAN HDFS [tpcds_parquet.date_dim]
| HDFS partitions=1/1 files=1 size=2.15MB
| predicates: date_dim.d_dow IN (CAST(6 AS INT), CAST(0 AS INT)), date_dim.d_year IN (CAST(1999 AS INT), CAST(2000 AS INT), CAST(2001 AS INT))
| stored statistics:
| table: rows=73.05K size=2.15MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=73.05K
| parquet statistics predicates: date_dim.d_dow IN (CAST(6 AS INT), CAST(0 AS INT)), date_dim.d_year IN (CAST(1999 AS INT), CAST(2000 AS INT), CAST(2001 AS INT))
| parquet dictionary predicates: date_dim.d_dow IN (CAST(6 AS INT), CAST(0 AS INT)), date_dim.d_year IN (CAST(1999 AS INT), CAST(2000 AS INT), CAST(2001 AS INT))
| mem-estimate=48.00MB mem-reservation=512.00KB thread-reservation=1
| tuple-ids=1 row-size=12B cardinality=598
| in pipelines: 01(GETNEXT)
|
05:HASH JOIN [INNER JOIN]
| hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
| fk/pk conjuncts: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
| runtime filters: RF010[bloom] <- household_demographics.hd_demo_sk
| mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| tuple-ids=0,3 row-size=48B cardinality=702.92K
| in pipelines: 00(GETNEXT), 03(OPEN)
|
|--03:SCAN HDFS [tpcds_parquet.household_demographics]
| HDFS partitions=1/1 files=1 size=41.69KB
| predicates: (household_demographics.hd_dep_count = CAST(5 AS INT) OR household_demographics.hd_vehicle_count = CAST(3 AS INT))
| stored statistics:
| table: rows=7.20K size=41.69KB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=7.20K
| mem-estimate=48.00MB mem-reservation=64.00KB thread-reservation=1
| tuple-ids=3 row-size=12B cardinality=1.80K
| in pipelines: 03(GETNEXT)
|
00:SCAN HDFS [tpcds_parquet.store_sales]
HDFS partitions=1824/1824 files=1824 size=200.95MB
runtime filters: RF002[bloom] -> tpcds_parquet.store_sales.ss_customer_sk, RF004[bloom] -> store_sales.ss_addr_sk, RF006[bloom] -> store_sales.ss_store_sk, RF008[bloom] -> store_sales.ss_sold_date_sk, RF010[bloom] -> store_sales.ss_hdemo_sk
stored statistics:
table: rows=2.88M size=200.95MB
partitions: 1824/1824 rows=2.88M
columns: all
extrapolated-rows=disabled max-scan-range-rows=130.09K
mem-estimate=112.00MB mem-reservation=4.00MB thread-reservation=1
tuple-ids=0 row-size=36B cardinality=2.88M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=47.52MB Threads=17
Per-Host Resource Estimates: Memory=428MB
F09:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=39.54KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: c_last_name, c_first_name, ca_city, bought_city, ss_ticket_number, amt, profit
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
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
| mem-estimate=39.54KB mem-reservation=0B thread-reservation=0
| tuple-ids=9 row-size=118B cardinality=100
| in pipelines: 14(GETNEXT)
|
F07:PLAN FRAGMENT [HASH(ss_customer_sk)] hosts=3 instances=3
Per-Host Resources: mem-estimate=18.47MB mem-reservation=7.75MB thread-reservation=1 runtime-filters-memory=2.00MB
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
| mem-estimate=11.51KB mem-reservation=0B thread-reservation=0
| tuple-ids=9 row-size=118B cardinality=100
| in pipelines: 14(GETNEXT), 20(OPEN)
|
13:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: customer.c_current_addr_sk = current_addr.ca_address_sk
| fk/pk conjuncts: customer.c_current_addr_sk = current_addr.ca_address_sk
| other predicates: current_addr.ca_city != ca_city
| runtime filters: RF000[bloom] <- current_addr.ca_address_sk
| mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
| tuple-ids=5,7,8 row-size=138B cardinality=230.45K
| in pipelines: 20(GETNEXT), 11(OPEN)
|
|--23:EXCHANGE [BROADCAST]
| | mem-estimate=1.22MB mem-reservation=0B thread-reservation=0
| | tuple-ids=8 row-size=25B cardinality=50.00K
| | in pipelines: 11(GETNEXT)
| |
| F08:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| Per-Host Resources: mem-estimate=32.00MB mem-reservation=512.00KB thread-reservation=2
| 11:SCAN HDFS [tpcds_parquet.customer_address current_addr, RANDOM]
| HDFS partitions=1/1 files=1 size=1.16MB
| stored statistics:
| table: rows=50.00K size=1.16MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=50.00K
| mem-estimate=32.00MB mem-reservation=512.00KB thread-reservation=1
| tuple-ids=8 row-size=25B cardinality=50.00K
| in pipelines: 11(GETNEXT)
|
12:HASH JOIN [INNER JOIN, PARTITIONED]
| hash predicates: ss_customer_sk = c_customer_sk
| fk/pk conjuncts: ss_customer_sk = c_customer_sk
| runtime filters: RF002[bloom] <- c_customer_sk
| mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
| tuple-ids=5,7 row-size=113B cardinality=230.45K
| in pipelines: 20(GETNEXT), 10(OPEN)
|
|--22:EXCHANGE [HASH(c_customer_sk)]
| | mem-estimate=4.24MB mem-reservation=0B thread-reservation=0
| | tuple-ids=7 row-size=44B cardinality=100.00K
| | in pipelines: 10(GETNEXT)
| |
| F06:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| Per-Host Resources: mem-estimate=65.00MB mem-reservation=3.00MB thread-reservation=2 runtime-filters-memory=1.00MB
| 10:SCAN HDFS [tpcds_parquet.customer, RANDOM]
| HDFS partitions=1/1 files=1 size=5.49MB
| runtime filters: RF000[bloom] -> customer.c_current_addr_sk
| stored statistics:
| table: rows=100.00K size=5.49MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=100.00K
| mem-estimate=64.00MB mem-reservation=2.00MB thread-reservation=1
| tuple-ids=7 row-size=44B cardinality=100.00K
| in pipelines: 10(GETNEXT)
|
21:EXCHANGE [HASH(ss_customer_sk)]
| mem-estimate=5.26MB mem-reservation=0B thread-reservation=0
| tuple-ids=5 row-size=69B cardinality=230.45K
| in pipelines: 20(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(ss_ticket_number,ss_customer_sk,ss_addr_sk,ca_city)] hosts=3 instances=3
Per-Host Resources: mem-estimate=15.26MB mem-reservation=8.50MB thread-reservation=1
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
| mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
| tuple-ids=5 row-size=69B cardinality=230.45K
| in pipelines: 20(GETNEXT), 00(OPEN)
|
19:EXCHANGE [HASH(ss_ticket_number,ss_customer_sk,ss_addr_sk,ca_city)]
| mem-estimate=5.26MB mem-reservation=0B thread-reservation=0
| tuple-ids=5 row-size=69B cardinality=230.45K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=136.97MB mem-reservation=26.69MB thread-reservation=2 runtime-filters-memory=5.00MB
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
| mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
| tuple-ids=5 row-size=69B cardinality=230.45K
| in pipelines: 00(GETNEXT)
|
08:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: store_sales.ss_addr_sk = customer_address.ca_address_sk
| fk/pk conjuncts: store_sales.ss_addr_sk = customer_address.ca_address_sk
| runtime filters: RF004[bloom] <- customer_address.ca_address_sk
| mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
| tuple-ids=0,3,1,2,4 row-size=107B cardinality=230.45K
| in pipelines: 00(GETNEXT), 04(OPEN)
|
|--18:EXCHANGE [BROADCAST]
| | mem-estimate=1.22MB mem-reservation=0B thread-reservation=0
| | tuple-ids=4 row-size=25B cardinality=50.00K
| | in pipelines: 04(GETNEXT)
| |
| F04:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| Per-Host Resources: mem-estimate=32.00MB mem-reservation=512.00KB thread-reservation=2
| 04:SCAN HDFS [tpcds_parquet.customer_address, RANDOM]
| HDFS partitions=1/1 files=1 size=1.16MB
| stored statistics:
| table: rows=50.00K size=1.16MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=50.00K
| mem-estimate=32.00MB mem-reservation=512.00KB thread-reservation=1
| tuple-ids=4 row-size=25B cardinality=50.00K
| in pipelines: 04(GETNEXT)
|
07:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: store_sales.ss_store_sk = store.s_store_sk
| fk/pk conjuncts: store_sales.ss_store_sk = store.s_store_sk
| runtime filters: RF006[bloom] <- store.s_store_sk
| mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| tuple-ids=0,3,1,2 row-size=83B cardinality=230.45K
| in pipelines: 00(GETNEXT), 02(OPEN)
|
|--17:EXCHANGE [BROADCAST]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=23B cardinality=12
| | in pipelines: 02(GETNEXT)
| |
| F03:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| Per-Host Resources: mem-estimate=32.00MB mem-reservation=16.00KB thread-reservation=2
| 02:SCAN HDFS [tpcds_parquet.store, RANDOM]
| HDFS partitions=1/1 files=1 size=9.93KB
| predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville')
| stored statistics:
| table: rows=12 size=9.93KB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=12
| parquet statistics predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville')
| parquet dictionary predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville')
| mem-estimate=32.00MB mem-reservation=16.00KB thread-reservation=1
| tuple-ids=2 row-size=23B cardinality=12
| in pipelines: 02(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk
| fk/pk conjuncts: store_sales.ss_sold_date_sk = date_dim.d_date_sk
| runtime filters: RF008[bloom] <- date_dim.d_date_sk
| mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| tuple-ids=0,3,1 row-size=60B cardinality=230.45K
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--16:EXCHANGE [BROADCAST]
| | mem-estimate=16.35KB mem-reservation=0B thread-reservation=0
| | tuple-ids=1 row-size=12B cardinality=598
| | in pipelines: 01(GETNEXT)
| |
| F02:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| Per-Host Resources: mem-estimate=48.00MB mem-reservation=512.00KB thread-reservation=2
| 01:SCAN HDFS [tpcds_parquet.date_dim, RANDOM]
| HDFS partitions=1/1 files=1 size=2.15MB
| predicates: date_dim.d_dow IN (CAST(6 AS INT), CAST(0 AS INT)), date_dim.d_year IN (CAST(1999 AS INT), CAST(2000 AS INT), CAST(2001 AS INT))
| stored statistics:
| table: rows=73.05K size=2.15MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=73.05K
| parquet statistics predicates: date_dim.d_dow IN (CAST(6 AS INT), CAST(0 AS INT)), date_dim.d_year IN (CAST(1999 AS INT), CAST(2000 AS INT), CAST(2001 AS INT))
| parquet dictionary predicates: date_dim.d_dow IN (CAST(6 AS INT), CAST(0 AS INT)), date_dim.d_year IN (CAST(1999 AS INT), CAST(2000 AS INT), CAST(2001 AS INT))
| mem-estimate=48.00MB mem-reservation=512.00KB thread-reservation=1
| tuple-ids=1 row-size=12B cardinality=598
| in pipelines: 01(GETNEXT)
|
05:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
| fk/pk conjuncts: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
| runtime filters: RF010[bloom] <- household_demographics.hd_demo_sk
| mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| tuple-ids=0,3 row-size=48B cardinality=702.92K
| in pipelines: 00(GETNEXT), 03(OPEN)
|
|--15:EXCHANGE [BROADCAST]
| | mem-estimate=37.09KB mem-reservation=0B thread-reservation=0
| | tuple-ids=3 row-size=12B cardinality=1.80K
| | in pipelines: 03(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| Per-Host Resources: mem-estimate=48.00MB mem-reservation=64.00KB thread-reservation=2
| 03:SCAN HDFS [tpcds_parquet.household_demographics, RANDOM]
| HDFS partitions=1/1 files=1 size=41.69KB
| predicates: (household_demographics.hd_dep_count = CAST(5 AS INT) OR household_demographics.hd_vehicle_count = CAST(3 AS INT))
| stored statistics:
| table: rows=7.20K size=41.69KB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=7.20K
| mem-estimate=48.00MB mem-reservation=64.00KB thread-reservation=1
| tuple-ids=3 row-size=12B cardinality=1.80K
| in pipelines: 03(GETNEXT)
|
00:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
HDFS partitions=1824/1824 files=1824 size=200.95MB
runtime filters: RF002[bloom] -> tpcds_parquet.store_sales.ss_customer_sk, RF004[bloom] -> store_sales.ss_addr_sk, RF006[bloom] -> store_sales.ss_store_sk, RF008[bloom] -> store_sales.ss_sold_date_sk, RF010[bloom] -> store_sales.ss_hdemo_sk
stored statistics:
table: rows=2.88M size=200.95MB
partitions: 1824/1824 rows=2.88M
columns: all
extrapolated-rows=disabled max-scan-range-rows=130.09K
mem-estimate=112.00MB mem-reservation=4.00MB thread-reservation=1
tuple-ids=0 row-size=36B cardinality=2.88M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=71.08MB Threads=20
Per-Host Resource Estimates: Memory=241MB
F09:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=75.24KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: c_last_name, c_first_name, ca_city, bought_city, ss_ticket_number, amt, profit
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
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
| mem-estimate=75.24KB mem-reservation=0B thread-reservation=0
| tuple-ids=9 row-size=118B cardinality=100
| in pipelines: 14(GETNEXT)
|
F07:PLAN FRAGMENT [HASH(ss_customer_sk)] hosts=3 instances=6
Per-Instance Resources: mem-estimate=5.49MB mem-reservation=0B thread-reservation=1
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
| mem-estimate=11.51KB mem-reservation=0B thread-reservation=0
| tuple-ids=9 row-size=118B cardinality=100
| in pipelines: 14(GETNEXT), 20(OPEN)
|
13:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=00
| hash predicates: customer.c_current_addr_sk = current_addr.ca_address_sk
| fk/pk conjuncts: customer.c_current_addr_sk = current_addr.ca_address_sk
| other predicates: current_addr.ca_city != ca_city
| mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
| tuple-ids=5,7,8 row-size=138B cardinality=230.45K
| in pipelines: 20(GETNEXT), 11(OPEN)
|
|--F10:PLAN FRAGMENT [HASH(ss_customer_sk)] hosts=3 instances=3
| | Per-Instance Resources: mem-estimate=7.97MB mem-reservation=6.75MB thread-reservation=1 runtime-filters-memory=1.00MB
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | build expressions: current_addr.ca_address_sk
| | runtime filters: RF000[bloom] <- current_addr.ca_address_sk
| | mem-estimate=5.75MB mem-reservation=5.75MB spill-buffer=128.00KB thread-reservation=0
| |
| 23:EXCHANGE [BROADCAST]
| | mem-estimate=1.22MB mem-reservation=0B thread-reservation=0
| | tuple-ids=8 row-size=25B cardinality=50.00K
| | in pipelines: 11(GETNEXT)
| |
| F08:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=1
| 11:SCAN HDFS [tpcds_parquet.customer_address current_addr, RANDOM]
| HDFS partitions=1/1 files=1 size=1.16MB
| stored statistics:
| table: rows=50.00K size=1.16MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=50.00K
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=8 row-size=25B cardinality=50.00K
| in pipelines: 11(GETNEXT)
|
12:HASH JOIN [INNER JOIN, PARTITIONED]
| hash-table-id=01
| hash predicates: ss_customer_sk = c_customer_sk
| fk/pk conjuncts: ss_customer_sk = c_customer_sk
| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
| tuple-ids=5,7 row-size=113B cardinality=230.45K
| in pipelines: 20(GETNEXT), 10(OPEN)
|
|--F11:PLAN FRAGMENT [HASH(ss_customer_sk)] hosts=3 instances=6
| | Per-Instance Resources: mem-estimate=7.18MB mem-reservation=2.94MB thread-reservation=1 runtime-filters-memory=1.00MB
| JOIN BUILD
| | join-table-id=01 plan-id=02 cohort-id=01
| | build expressions: c_customer_sk
| | runtime filters: RF002[bloom] <- c_customer_sk
| | mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| |
| 22:EXCHANGE [HASH(c_customer_sk)]
| | mem-estimate=4.24MB mem-reservation=0B thread-reservation=0
| | tuple-ids=7 row-size=44B cardinality=100.00K
| | in pipelines: 10(GETNEXT)
| |
| F06:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
| Per-Instance Resources: mem-estimate=16.00MB mem-reservation=2.00MB thread-reservation=1
| 10:SCAN HDFS [tpcds_parquet.customer, RANDOM]
| HDFS partitions=1/1 files=1 size=5.49MB
| runtime filters: RF000[bloom] -> customer.c_current_addr_sk
| stored statistics:
| table: rows=100.00K size=5.49MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=100.00K
| mem-estimate=16.00MB mem-reservation=2.00MB thread-reservation=0
| tuple-ids=7 row-size=44B cardinality=100.00K
| in pipelines: 10(GETNEXT)
|
21:EXCHANGE [HASH(ss_customer_sk)]
| mem-estimate=5.48MB mem-reservation=0B thread-reservation=0
| tuple-ids=5 row-size=69B cardinality=230.45K
| in pipelines: 20(GETNEXT)
|
F05:PLAN FRAGMENT [HASH(ss_ticket_number,ss_customer_sk,ss_addr_sk,ca_city)] hosts=3 instances=6
Per-Instance Resources: mem-estimate=15.48MB mem-reservation=4.75MB thread-reservation=1
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
| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| tuple-ids=5 row-size=69B cardinality=230.45K
| in pipelines: 20(GETNEXT), 00(OPEN)
|
19:EXCHANGE [HASH(ss_ticket_number,ss_customer_sk,ss_addr_sk,ca_city)]
| mem-estimate=5.48MB mem-reservation=0B thread-reservation=0
| tuple-ids=5 row-size=69B cardinality=230.45K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Shared Resources: mem-estimate=5.00MB mem-reservation=5.00MB thread-reservation=0 runtime-filters-memory=5.00MB
Per-Instance Resources: mem-estimate=26.00MB mem-reservation=9.00MB thread-reservation=1
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
| mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
| tuple-ids=5 row-size=69B cardinality=230.45K
| in pipelines: 00(GETNEXT)
|
08:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=02
| hash predicates: store_sales.ss_addr_sk = customer_address.ca_address_sk
| fk/pk conjuncts: store_sales.ss_addr_sk = customer_address.ca_address_sk
| mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
| tuple-ids=0,3,1,2,4 row-size=107B cardinality=230.45K
| in pipelines: 00(GETNEXT), 04(OPEN)
|
|--F12:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
| | Per-Instance Resources: mem-estimate=7.97MB mem-reservation=6.75MB thread-reservation=1 runtime-filters-memory=1.00MB
| JOIN BUILD
| | join-table-id=02 plan-id=03 cohort-id=01
| | build expressions: customer_address.ca_address_sk
| | runtime filters: RF004[bloom] <- customer_address.ca_address_sk
| | mem-estimate=5.75MB mem-reservation=5.75MB spill-buffer=128.00KB thread-reservation=0
| |
| 18:EXCHANGE [BROADCAST]
| | mem-estimate=1.22MB mem-reservation=0B thread-reservation=0
| | tuple-ids=4 row-size=25B cardinality=50.00K
| | in pipelines: 04(GETNEXT)
| |
| F04:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=1
| 04:SCAN HDFS [tpcds_parquet.customer_address, RANDOM]
| HDFS partitions=1/1 files=1 size=1.16MB
| stored statistics:
| table: rows=50.00K size=1.16MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=50.00K
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=4 row-size=25B cardinality=50.00K
| in pipelines: 04(GETNEXT)
|
07:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=03
| hash predicates: store_sales.ss_store_sk = store.s_store_sk
| fk/pk conjuncts: store_sales.ss_store_sk = store.s_store_sk
| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
| tuple-ids=0,3,1,2 row-size=83B cardinality=230.45K
| in pipelines: 00(GETNEXT), 02(OPEN)
|
|--F13:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
| | Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
| JOIN BUILD
| | join-table-id=03 plan-id=04 cohort-id=01
| | build expressions: store.s_store_sk
| | runtime filters: RF006[bloom] <- store.s_store_sk
| | mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0
| |
| 17:EXCHANGE [BROADCAST]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=23B cardinality=12
| | in pipelines: 02(GETNEXT)
| |
| F03:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=1
| 02:SCAN HDFS [tpcds_parquet.store, RANDOM]
| HDFS partitions=1/1 files=1 size=9.93KB
| predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville')
| stored statistics:
| table: rows=12 size=9.93KB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=12
| parquet statistics predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville')
| parquet dictionary predicates: store.s_city IN ('Midway', 'Concord', 'Spring Hill', 'Brownsville', 'Greenville')
| mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=0
| tuple-ids=2 row-size=23B cardinality=12
| in pipelines: 02(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=04
| hash predicates: store_sales.ss_sold_date_sk = date_dim.d_date_sk
| fk/pk conjuncts: store_sales.ss_sold_date_sk = date_dim.d_date_sk
| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
| tuple-ids=0,3,1 row-size=60B cardinality=230.45K
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--F14:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
| | Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
| JOIN BUILD
| | join-table-id=04 plan-id=05 cohort-id=01
| | build expressions: date_dim.d_date_sk
| | runtime filters: RF008[bloom] <- date_dim.d_date_sk
| | mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0
| |
| 16:EXCHANGE [BROADCAST]
| | mem-estimate=16.35KB mem-reservation=0B thread-reservation=0
| | tuple-ids=1 row-size=12B cardinality=598
| | in pipelines: 01(GETNEXT)
| |
| F02:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=1
| 01:SCAN HDFS [tpcds_parquet.date_dim, RANDOM]
| HDFS partitions=1/1 files=1 size=2.15MB
| predicates: date_dim.d_dow IN (CAST(6 AS INT), CAST(0 AS INT)), date_dim.d_year IN (CAST(1999 AS INT), CAST(2000 AS INT), CAST(2001 AS INT))
| stored statistics:
| table: rows=73.05K size=2.15MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=73.05K
| parquet statistics predicates: date_dim.d_dow IN (CAST(6 AS INT), CAST(0 AS INT)), date_dim.d_year IN (CAST(1999 AS INT), CAST(2000 AS INT), CAST(2001 AS INT))
| parquet dictionary predicates: date_dim.d_dow IN (CAST(6 AS INT), CAST(0 AS INT)), date_dim.d_year IN (CAST(1999 AS INT), CAST(2000 AS INT), CAST(2001 AS INT))
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=1 row-size=12B cardinality=598
| in pipelines: 01(GETNEXT)
|
05:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=05
| hash predicates: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
| fk/pk conjuncts: store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
| tuple-ids=0,3 row-size=48B cardinality=702.92K
| in pipelines: 00(GETNEXT), 03(OPEN)
|
|--F15:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
| | Per-Instance Resources: mem-estimate=4.91MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
| JOIN BUILD
| | join-table-id=05 plan-id=06 cohort-id=01
| | build expressions: household_demographics.hd_demo_sk
| | runtime filters: RF010[bloom] <- household_demographics.hd_demo_sk
| | mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0
| |
| 15:EXCHANGE [BROADCAST]
| | mem-estimate=37.09KB mem-reservation=0B thread-reservation=0
| | tuple-ids=3 row-size=12B cardinality=1.80K
| | in pipelines: 03(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=16.00MB mem-reservation=64.00KB thread-reservation=1
| 03:SCAN HDFS [tpcds_parquet.household_demographics, RANDOM]
| HDFS partitions=1/1 files=1 size=41.69KB
| predicates: (household_demographics.hd_dep_count = CAST(5 AS INT) OR household_demographics.hd_vehicle_count = CAST(3 AS INT))
| stored statistics:
| table: rows=7.20K size=41.69KB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=7.20K
| mem-estimate=16.00MB mem-reservation=64.00KB thread-reservation=0
| tuple-ids=3 row-size=12B cardinality=1.80K
| in pipelines: 03(GETNEXT)
|
00:SCAN HDFS [tpcds_parquet.store_sales, RANDOM]
HDFS partitions=1824/1824 files=1824 size=200.95MB
runtime filters: RF002[bloom] -> tpcds_parquet.store_sales.ss_customer_sk, RF004[bloom] -> store_sales.ss_addr_sk, RF006[bloom] -> store_sales.ss_store_sk, RF008[bloom] -> store_sales.ss_sold_date_sk, RF010[bloom] -> store_sales.ss_hdemo_sk
stored statistics:
table: rows=2.88M size=200.95MB
partitions: 1824/1824 rows=2.88M
columns: all
extrapolated-rows=disabled max-scan-range-rows=130.09K
mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
tuple-ids=0 row-size=36B cardinality=2.88M
in pipelines: 00(GETNEXT)
====