| # Q1 - Pricing Summary Report Query |
| select |
| l_returnflag, |
| l_linestatus, |
| round(sum(l_quantity), 1) as sum_qty, |
| round(sum(l_extendedprice), 1) as sum_base_price, |
| round(sum(l_extendedprice * (1 - l_discount)), 1) as sum_disc_price, |
| round(sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)), 1) as sum_charge, |
| round(avg(l_quantity), 1) as avg_qty, |
| round(avg(l_extendedprice), 1) as avg_price, |
| round(avg(l_discount), 1) as avg_disc, |
| count(*) as count_order |
| from |
| tpch_kudu.lineitem |
| where |
| l_shipdate <= '1998-09-02' |
| group by |
| l_returnflag, |
| l_linestatus |
| order by |
| l_returnflag, |
| l_linestatus |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=13.94MB Threads=2 |
| Per-Host Resource Estimates: Memory=22MB |
| PLAN-ROOT SINK |
| | |
| 02:SORT |
| | order by: l_returnflag ASC, l_linestatus ASC |
| | row-size=122B cardinality=6 |
| | |
| 01:AGGREGATE [FINALIZE] |
| | output: sum(l_quantity), sum(l_extendedprice), sum(l_extendedprice * (1 - l_discount)), sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)), avg(l_quantity), avg(l_extendedprice), avg(l_discount), count(*) |
| | group by: l_returnflag, l_linestatus |
| | row-size=122B cardinality=6 |
| | |
| 00:SCAN KUDU [tpch_kudu.lineitem] |
| kudu predicates: l_shipdate <= '1998-09-02' |
| row-size=66B cardinality=600.12K |
| ==== |
| # Q2 - Minimum Cost Supplier Query |
| select |
| round(s_acctbal, 2), |
| s_name, |
| n_name, |
| p_partkey, |
| p_mfgr, |
| s_address, |
| s_phone, |
| s_comment |
| from |
| tpch_kudu.part, |
| tpch_kudu.supplier, |
| tpch_kudu.partsupp, |
| tpch_kudu.nation, |
| tpch_kudu.region |
| where |
| p_partkey = ps_partkey |
| and s_suppkey = ps_suppkey |
| and p_size = 15 |
| and p_type like '%BRASS' |
| and s_nationkey = n_nationkey |
| and n_regionkey = r_regionkey |
| and r_name = 'EUROPE' |
| and ps_supplycost = ( |
| select |
| min(ps_supplycost) |
| from |
| tpch_kudu.partsupp, |
| tpch_kudu.supplier, |
| tpch_kudu.nation, |
| tpch_kudu.region |
| where |
| p_partkey = ps_partkey |
| and s_suppkey = ps_suppkey |
| and s_nationkey = n_nationkey |
| and n_regionkey = r_regionkey |
| and r_name = 'EUROPE' |
| ) |
| order by |
| s_acctbal desc, |
| n_name, |
| s_name, |
| p_partkey |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=18.31MB Threads=10 |
| Per-Host Resource Estimates: Memory=49MB |
| PLAN-ROOT SINK |
| | |
| 18:TOP-N [LIMIT=100] |
| | order by: s_acctbal DESC, n_name ASC, s_name ASC, p_partkey ASC |
| | row-size=230B cardinality=100 |
| | |
| 17:HASH JOIN [RIGHT SEMI JOIN] |
| | hash predicates: ps_partkey = p_partkey, min(ps_supplycost) = ps_supplycost |
| | runtime filters: RF002 <- p_partkey |
| | row-size=330B cardinality=1.01K |
| | |
| |--16:HASH JOIN [INNER JOIN] |
| | | hash predicates: n_regionkey = r_regionkey |
| | | runtime filters: RF011 <- r_regionkey |
| | | row-size=330B cardinality=1.01K |
| | | |
| | |--04:SCAN KUDU [tpch_kudu.region] |
| | | kudu predicates: r_name = 'EUROPE' |
| | | row-size=2B cardinality=1 |
| | | |
| | 15:HASH JOIN [INNER JOIN] |
| | | hash predicates: s_nationkey = n_nationkey |
| | | runtime filters: RF013 <- n_nationkey |
| | | row-size=328B cardinality=5.04K |
| | | |
| | |--03:SCAN KUDU [tpch_kudu.nation] |
| | | runtime filters: RF011 -> n_regionkey |
| | | row-size=27B cardinality=25 |
| | | |
| | 14:HASH JOIN [INNER JOIN] |
| | | hash predicates: s_suppkey = ps_suppkey |
| | | runtime filters: RF015 <- ps_suppkey |
| | | row-size=301B cardinality=5.04K |
| | | |
| | |--13:HASH JOIN [INNER JOIN] |
| | | | hash predicates: ps_partkey = p_partkey |
| | | | runtime filters: RF017 <- p_partkey |
| | | | row-size=99B cardinality=5.04K |
| | | | |
| | | |--00:SCAN KUDU [tpch_kudu.part] |
| | | | predicates: p_type LIKE '%BRASS' |
| | | | kudu predicates: p_size = 15 |
| | | | row-size=75B cardinality=1.26K |
| | | | |
| | | 02:SCAN KUDU [tpch_kudu.partsupp] |
| | | runtime filters: RF017 -> ps_partkey |
| | | row-size=24B cardinality=800.00K |
| | | |
| | 01:SCAN KUDU [tpch_kudu.supplier] |
| | runtime filters: RF013 -> s_nationkey, RF015 -> s_suppkey |
| | row-size=203B cardinality=10.00K |
| | |
| 12:AGGREGATE [FINALIZE] |
| | output: min(ps_supplycost) |
| | group by: ps_partkey |
| | row-size=16B cardinality=160.00K |
| | |
| 11:HASH JOIN [INNER JOIN] |
| | hash predicates: n_regionkey = r_regionkey |
| | runtime filters: RF005 <- r_regionkey |
| | row-size=40B cardinality=160.00K |
| | |
| |--08:SCAN KUDU [tpch_kudu.region] |
| | kudu predicates: r_name = 'EUROPE' |
| | row-size=2B cardinality=1 |
| | |
| 10:HASH JOIN [INNER JOIN] |
| | hash predicates: s_nationkey = n_nationkey |
| | runtime filters: RF007 <- n_nationkey |
| | row-size=38B cardinality=800.00K |
| | |
| |--07:SCAN KUDU [tpch_kudu.nation] |
| | runtime filters: RF005 -> n_regionkey |
| | row-size=4B cardinality=25 |
| | |
| 09:HASH JOIN [INNER JOIN] |
| | hash predicates: ps_suppkey = s_suppkey |
| | runtime filters: RF009 <- s_suppkey |
| | row-size=34B cardinality=800.00K |
| | |
| |--06:SCAN KUDU [tpch_kudu.supplier] |
| | runtime filters: RF007 -> s_nationkey |
| | row-size=10B cardinality=10.00K |
| | |
| 05:SCAN KUDU [tpch_kudu.partsupp] |
| runtime filters: RF002 -> tpch_kudu.partsupp.ps_partkey, RF009 -> ps_suppkey |
| row-size=24B cardinality=800.00K |
| ==== |
| # Q3 - Shipping Priority Query |
| select |
| l_orderkey, |
| round(sum(l_extendedprice * (1 - l_discount)), 2) as revenue, |
| o_orderdate, |
| o_shippriority |
| from |
| tpch_kudu.customer, |
| tpch_kudu.orders, |
| tpch_kudu.lineitem |
| where |
| c_mktsegment = 'BUILDING' |
| and c_custkey = o_custkey |
| and l_orderkey = o_orderkey |
| and o_orderdate < '1995-03-15' |
| and l_shipdate > '1995-03-15' |
| group by |
| l_orderkey, |
| o_orderdate, |
| o_shippriority |
| order by |
| revenue desc, |
| o_orderdate |
| limit 10 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=12.38MB Threads=4 |
| Per-Host Resource Estimates: Memory=26MB |
| PLAN-ROOT SINK |
| | |
| 06:TOP-N [LIMIT=10] |
| | order by: round(sum(l_extendedprice * (1 - l_discount)), 2) DESC, o_orderdate ASC |
| | row-size=50B cardinality=10 |
| | |
| 05:AGGREGATE [FINALIZE] |
| | output: sum(l_extendedprice * (1 - l_discount)) |
| | group by: l_orderkey, o_orderdate, o_shippriority |
| | row-size=50B cardinality=17.56K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: o_custkey = c_custkey |
| | runtime filters: RF001 <- c_custkey |
| | row-size=78B cardinality=17.56K |
| | |
| |--00:SCAN KUDU [tpch_kudu.customer] |
| | kudu predicates: c_mktsegment = 'BUILDING' |
| | row-size=8B cardinality=30.00K |
| | |
| 03:HASH JOIN [INNER JOIN] |
| | hash predicates: l_orderkey = o_orderkey |
| | runtime filters: RF003 <- o_orderkey |
| | row-size=70B cardinality=57.58K |
| | |
| |--01:SCAN KUDU [tpch_kudu.orders] |
| | kudu predicates: o_orderdate < '1995-03-15' |
| | runtime filters: RF001 -> o_custkey |
| | row-size=46B cardinality=150.00K |
| | |
| 02:SCAN KUDU [tpch_kudu.lineitem] |
| kudu predicates: l_shipdate > '1995-03-15' |
| runtime filters: RF003 -> l_orderkey |
| row-size=24B cardinality=600.12K |
| ==== |
| # Q4 - Order Priority Checking Query |
| select |
| o_orderpriority, |
| count(*) as order_count |
| from |
| tpch_kudu.orders |
| where |
| o_orderdate >= '1993-07-01' |
| and o_orderdate < '1993-10-01' |
| and exists ( |
| select |
| * |
| from |
| tpch_kudu.lineitem |
| where |
| l_orderkey = o_orderkey |
| and l_commitdate < l_receiptdate |
| ) |
| group by |
| o_orderpriority |
| order by |
| o_orderpriority |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=13.94MB Threads=3 |
| Per-Host Resource Estimates: Memory=42MB |
| PLAN-ROOT SINK |
| | |
| 04:SORT |
| | order by: o_orderpriority ASC |
| | row-size=28B cardinality=5 |
| | |
| 03:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | group by: o_orderpriority |
| | row-size=28B cardinality=5 |
| | |
| 02:HASH JOIN [RIGHT SEMI JOIN] |
| | hash predicates: l_orderkey = o_orderkey |
| | runtime filters: RF001 <- o_orderkey |
| | row-size=32B cardinality=150.00K |
| | |
| |--00:SCAN KUDU [tpch_kudu.orders] |
| | kudu predicates: o_orderdate < '1993-10-01', o_orderdate >= '1993-07-01' |
| | row-size=32B cardinality=150.00K |
| | |
| 01:SCAN KUDU [tpch_kudu.lineitem] |
| predicates: l_commitdate < l_receiptdate |
| runtime filters: RF001 -> l_orderkey |
| row-size=60B cardinality=600.12K |
| ==== |
| # Q5 - Local Supplier Volume Query |
| select |
| n_name, |
| round(sum(l_extendedprice * (1 - l_discount)), 2) as revenue |
| from |
| tpch_kudu.customer, |
| tpch_kudu.orders, |
| tpch_kudu.lineitem, |
| tpch_kudu.supplier, |
| tpch_kudu.nation, |
| tpch_kudu.region |
| where |
| c_custkey = o_custkey |
| and l_orderkey = o_orderkey |
| and l_suppkey = s_suppkey |
| and c_nationkey = s_nationkey |
| and s_nationkey = n_nationkey |
| and n_regionkey = r_regionkey |
| and r_name = 'ASIA' |
| and o_orderdate >= '1994-01-01' |
| and o_orderdate < '1995-01-01' |
| group by |
| n_name |
| order by |
| revenue desc |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=15.38MB Threads=7 |
| Per-Host Resource Estimates: Memory=32MB |
| PLAN-ROOT SINK |
| | |
| 12:SORT |
| | order by: round(sum(l_extendedprice * (1 - l_discount)), 2) DESC |
| | row-size=35B cardinality=25 |
| | |
| 11:AGGREGATE [FINALIZE] |
| | output: sum(l_extendedprice * (1 - l_discount)) |
| | group by: n_name |
| | row-size=35B cardinality=25 |
| | |
| 10:HASH JOIN [INNER JOIN] |
| | hash predicates: n_regionkey = r_regionkey |
| | runtime filters: RF001 <- r_regionkey |
| | row-size=97B cardinality=115.16K |
| | |
| |--05:SCAN KUDU [tpch_kudu.region] |
| | kudu predicates: r_name = 'ASIA' |
| | row-size=2B cardinality=1 |
| | |
| 09:HASH JOIN [INNER JOIN] |
| | hash predicates: s_nationkey = n_nationkey |
| | runtime filters: RF003 <- n_nationkey |
| | row-size=95B cardinality=575.77K |
| | |
| |--04:SCAN KUDU [tpch_kudu.nation] |
| | runtime filters: RF001 -> n_regionkey |
| | row-size=27B cardinality=25 |
| | |
| 08:HASH JOIN [INNER JOIN] |
| | hash predicates: c_nationkey = s_nationkey, l_suppkey = s_suppkey |
| | runtime filters: RF006 <- s_nationkey, RF007 <- s_suppkey |
| | row-size=68B cardinality=575.77K |
| | |
| |--03:SCAN KUDU [tpch_kudu.supplier] |
| | runtime filters: RF003 -> s_nationkey |
| | row-size=10B cardinality=10.00K |
| | |
| 07:HASH JOIN [INNER JOIN] |
| | hash predicates: o_custkey = c_custkey |
| | runtime filters: RF009 <- c_custkey |
| | row-size=58B cardinality=575.77K |
| | |
| |--00:SCAN KUDU [tpch_kudu.customer] |
| | runtime filters: RF003 -> tpch_kudu.customer.c_nationkey, RF006 -> c_nationkey |
| | row-size=10B cardinality=150.00K |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: l_orderkey = o_orderkey |
| | runtime filters: RF011 <- o_orderkey |
| | row-size=48B cardinality=575.77K |
| | |
| |--01:SCAN KUDU [tpch_kudu.orders] |
| | kudu predicates: o_orderdate < '1995-01-01', o_orderdate >= '1994-01-01' |
| | runtime filters: RF009 -> o_custkey |
| | row-size=16B cardinality=150.00K |
| | |
| 02:SCAN KUDU [tpch_kudu.lineitem] |
| runtime filters: RF007 -> l_suppkey, RF011 -> l_orderkey |
| row-size=32B cardinality=6.00M |
| ==== |
| # Q6 - Forecasting Revenue Change Query |
| select |
| round(sum(l_extendedprice * l_discount), 2) as revenue |
| from |
| tpch_kudu.lineitem |
| where |
| l_shipdate >= '1994-01-01' |
| and l_shipdate < '1995-01-01' |
| and l_discount between 0.05 and 0.07 |
| and l_quantity < 24 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=0B Threads=2 |
| Per-Host Resource Estimates: Memory=16MB |
| PLAN-ROOT SINK |
| | |
| 01:AGGREGATE [FINALIZE] |
| | output: sum(l_extendedprice * l_discount) |
| | row-size=16B cardinality=1 |
| | |
| 00:SCAN KUDU [tpch_kudu.lineitem] |
| kudu predicates: l_discount <= 0.07, l_discount >= 0.05, l_quantity < 24, l_shipdate < '1995-01-01', l_shipdate >= '1994-01-01' |
| row-size=16B cardinality=600.12K |
| ==== |
| # Q7 - Volume Shipping Query |
| select |
| supp_nation, |
| cust_nation, |
| l_year, |
| round(sum(volume), 2) as revenue |
| from ( |
| select |
| n1.n_name as supp_nation, |
| n2.n_name as cust_nation, |
| year(l_shipdate) as l_year, |
| round(l_extendedprice * (1 - l_discount), 2) as volume |
| from |
| tpch_kudu.supplier, |
| tpch_kudu.lineitem, |
| tpch_kudu.orders, |
| tpch_kudu.customer, |
| tpch_kudu.nation n1, |
| tpch_kudu.nation n2 |
| where |
| s_suppkey = l_suppkey |
| and o_orderkey = l_orderkey |
| and c_custkey = o_custkey |
| and s_nationkey = n1.n_nationkey |
| and c_nationkey = n2.n_nationkey |
| and ( |
| (n1.n_name = 'FRANCE' and n2.n_name = 'GERMANY') |
| or (n1.n_name = 'GERMANY' and n2.n_name = 'FRANCE') |
| ) |
| and l_shipdate between '1995-01-01' and '1996-12-31' |
| ) as shipping |
| group by |
| supp_nation, |
| cust_nation, |
| l_year |
| order by |
| supp_nation, |
| cust_nation, |
| l_year |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=76.69MB Threads=7 |
| Per-Host Resource Estimates: Memory=85MB |
| PLAN-ROOT SINK |
| | |
| 12:SORT |
| | order by: supp_nation ASC, cust_nation ASC, l_year ASC |
| | row-size=58B cardinality=575.77K |
| | |
| 11:AGGREGATE [FINALIZE] |
| | output: sum(round(l_extendedprice * (1 - l_discount), 2)) |
| | group by: n1.n_name, n2.n_name, year(l_shipdate) |
| | row-size=58B cardinality=575.77K |
| | |
| 10:HASH JOIN [INNER JOIN] |
| | hash predicates: c_nationkey = n2.n_nationkey |
| | other predicates: ((n1.n_name = 'FRANCE' AND n2.n_name = 'GERMANY') OR (n1.n_name = 'GERMANY' AND n2.n_name = 'FRANCE')) |
| | runtime filters: RF001 <- n2.n_nationkey |
| | row-size=144B cardinality=575.77K |
| | |
| |--05:SCAN KUDU [tpch_kudu.nation n2] |
| | row-size=25B cardinality=25 |
| | |
| 09:HASH JOIN [INNER JOIN] |
| | hash predicates: s_nationkey = n1.n_nationkey |
| | runtime filters: RF003 <- n1.n_nationkey |
| | row-size=119B cardinality=575.77K |
| | |
| |--04:SCAN KUDU [tpch_kudu.nation n1] |
| | row-size=25B cardinality=25 |
| | |
| 08:HASH JOIN [INNER JOIN] |
| | hash predicates: o_custkey = c_custkey |
| | runtime filters: RF005 <- c_custkey |
| | row-size=94B cardinality=575.77K |
| | |
| |--03:SCAN KUDU [tpch_kudu.customer] |
| | runtime filters: RF001 -> c_nationkey |
| | row-size=10B cardinality=150.00K |
| | |
| 07:HASH JOIN [INNER JOIN] |
| | hash predicates: l_suppkey = s_suppkey |
| | runtime filters: RF007 <- s_suppkey |
| | row-size=84B cardinality=575.77K |
| | |
| |--00:SCAN KUDU [tpch_kudu.supplier] |
| | runtime filters: RF003 -> s_nationkey |
| | row-size=10B cardinality=10.00K |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: l_orderkey = o_orderkey |
| | runtime filters: RF009 <- o_orderkey |
| | row-size=74B cardinality=575.77K |
| | |
| |--02:SCAN KUDU [tpch_kudu.orders] |
| | runtime filters: RF005 -> o_custkey |
| | row-size=16B cardinality=1.50M |
| | |
| 01:SCAN KUDU [tpch_kudu.lineitem] |
| kudu predicates: l_shipdate <= '1996-12-31', l_shipdate >= '1995-01-01' |
| runtime filters: RF007 -> l_suppkey, RF009 -> l_orderkey |
| row-size=58B cardinality=600.12K |
| ==== |
| # Q8 - National Market Share Query |
| select |
| o_year, |
| round(sum(case |
| when nation = 'BRAZIL' |
| then volume |
| else 0 |
| end) / sum(volume), 4) as mkt_share |
| from ( |
| select |
| year(o_orderdate) as o_year, |
| round(l_extendedprice * (1 - l_discount), 2) as volume, |
| n2.n_name as nation |
| from |
| tpch_kudu.part, |
| tpch_kudu.supplier, |
| tpch_kudu.lineitem, |
| tpch_kudu.orders, |
| tpch_kudu.customer, |
| tpch_kudu.nation n1, |
| tpch_kudu.nation n2, |
| tpch_kudu.region |
| where |
| p_partkey = l_partkey |
| and s_suppkey = l_suppkey |
| and l_orderkey = o_orderkey |
| and o_custkey = c_custkey |
| and c_nationkey = n1.n_nationkey |
| and n1.n_regionkey = r_regionkey |
| and r_name = 'AMERICA' |
| and s_nationkey = n2.n_nationkey |
| and o_orderdate between '1995-01-01' and '1996-12-31' |
| and p_type = 'ECONOMY ANODIZED STEEL' |
| ) as all_nations |
| group by |
| o_year |
| order by |
| o_year |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=12.56MB Threads=9 |
| Per-Host Resource Estimates: Memory=33MB |
| PLAN-ROOT SINK |
| | |
| 16:SORT |
| | order by: o_year ASC |
| | row-size=36B cardinality=761 |
| | |
| 15:AGGREGATE [FINALIZE] |
| | output: sum(CASE WHEN n2.n_name = 'BRAZIL' THEN round(l_extendedprice * (1 - l_discount), 2) ELSE 0 END), sum(round(l_extendedprice * (1 - l_discount), 2)) |
| | group by: year(o_orderdate) |
| | row-size=36B cardinality=761 |
| | |
| 14:HASH JOIN [INNER JOIN] |
| | hash predicates: s_nationkey = n2.n_nationkey |
| | runtime filters: RF001 <- n2.n_nationkey |
| | row-size=141B cardinality=761 |
| | |
| |--06:SCAN KUDU [tpch_kudu.nation n2] |
| | row-size=25B cardinality=25 |
| | |
| 13:HASH JOIN [INNER JOIN] |
| | hash predicates: n1.n_regionkey = r_regionkey |
| | runtime filters: RF003 <- r_regionkey |
| | row-size=116B cardinality=761 |
| | |
| |--07:SCAN KUDU [tpch_kudu.region] |
| | kudu predicates: r_name = 'AMERICA' |
| | row-size=2B cardinality=1 |
| | |
| 12:HASH JOIN [INNER JOIN] |
| | hash predicates: c_nationkey = n1.n_nationkey |
| | runtime filters: RF005 <- n1.n_nationkey |
| | row-size=114B cardinality=3.80K |
| | |
| |--05:SCAN KUDU [tpch_kudu.nation n1] |
| | runtime filters: RF003 -> n1.n_regionkey |
| | row-size=4B cardinality=25 |
| | |
| 11:HASH JOIN [INNER JOIN] |
| | hash predicates: c_custkey = o_custkey |
| | runtime filters: RF007 <- o_custkey |
| | row-size=110B cardinality=3.80K |
| | |
| |--10:HASH JOIN [INNER JOIN] |
| | | hash predicates: l_suppkey = s_suppkey |
| | | runtime filters: RF009 <- s_suppkey |
| | | row-size=100B cardinality=3.80K |
| | | |
| | |--01:SCAN KUDU [tpch_kudu.supplier] |
| | | runtime filters: RF001 -> s_nationkey |
| | | row-size=10B cardinality=10.00K |
| | | |
| | 09:HASH JOIN [INNER JOIN] |
| | | hash predicates: o_orderkey = l_orderkey |
| | | runtime filters: RF011 <- l_orderkey |
| | | row-size=90B cardinality=3.80K |
| | | |
| | |--08:HASH JOIN [INNER JOIN] |
| | | | hash predicates: l_partkey = p_partkey |
| | | | runtime filters: RF013 <- p_partkey |
| | | | row-size=48B cardinality=39.63K |
| | | | |
| | | |--00:SCAN KUDU [tpch_kudu.part] |
| | | | kudu predicates: p_type = 'ECONOMY ANODIZED STEEL' |
| | | | row-size=8B cardinality=1.32K |
| | | | |
| | | 02:SCAN KUDU [tpch_kudu.lineitem] |
| | | runtime filters: RF009 -> l_suppkey, RF013 -> l_partkey |
| | | row-size=40B cardinality=6.00M |
| | | |
| | 03:SCAN KUDU [tpch_kudu.orders] |
| | kudu predicates: o_orderdate <= '1996-12-31', o_orderdate >= '1995-01-01' |
| | runtime filters: RF011 -> o_orderkey |
| | row-size=42B cardinality=150.00K |
| | |
| 04:SCAN KUDU [tpch_kudu.customer] |
| runtime filters: RF005 -> c_nationkey, RF007 -> c_custkey |
| row-size=10B cardinality=150.00K |
| ==== |
| # Q9 - Product Type Measure Query |
| select |
| nation, |
| o_year, |
| round(sum(amount), 2) as sum_profit |
| from( |
| select |
| n_name as nation, |
| year(o_orderdate) as o_year, |
| round(l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity, 2) as amount |
| from |
| tpch_kudu.part, |
| tpch_kudu.supplier, |
| tpch_kudu.lineitem, |
| tpch_kudu.partsupp, |
| tpch_kudu.orders, |
| tpch_kudu.nation |
| where |
| s_suppkey = l_suppkey |
| and ps_suppkey = l_suppkey |
| and ps_partkey = l_partkey |
| and p_partkey = l_partkey |
| and o_orderkey = l_orderkey |
| and s_nationkey = n_nationkey |
| and p_name like '%green%' |
| ) as profit |
| group by |
| nation, |
| o_year |
| order by |
| nation, |
| o_year desc |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=79.50MB Threads=7 |
| Per-Host Resource Estimates: Memory=118MB |
| PLAN-ROOT SINK |
| | |
| 12:SORT |
| | order by: nation ASC, o_year DESC |
| | row-size=39B cardinality=61.70K |
| | |
| 11:AGGREGATE [FINALIZE] |
| | output: sum(round(l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity, 2)) |
| | group by: n_name, year(o_orderdate) |
| | row-size=39B cardinality=61.70K |
| | |
| 10:HASH JOIN [INNER JOIN] |
| | hash predicates: s_nationkey = n_nationkey |
| | runtime filters: RF001 <- n_nationkey |
| | row-size=198B cardinality=574.29K |
| | |
| |--05:SCAN KUDU [tpch_kudu.nation] |
| | row-size=25B cardinality=25 |
| | |
| 09:HASH JOIN [INNER JOIN] |
| | hash predicates: l_partkey = ps_partkey, l_suppkey = ps_suppkey |
| | runtime filters: RF004 <- ps_partkey, RF005 <- ps_suppkey |
| | row-size=173B cardinality=574.29K |
| | |
| |--03:SCAN KUDU [tpch_kudu.partsupp] |
| | row-size=24B cardinality=800.00K |
| | |
| 08:HASH JOIN [INNER JOIN] |
| | hash predicates: l_suppkey = s_suppkey |
| | runtime filters: RF007 <- s_suppkey |
| | row-size=149B cardinality=574.29K |
| | |
| |--01:SCAN KUDU [tpch_kudu.supplier] |
| | runtime filters: RF001 -> s_nationkey, RF005 -> tpch_kudu.supplier.s_suppkey |
| | row-size=10B cardinality=10.00K |
| | |
| 07:HASH JOIN [INNER JOIN] |
| | hash predicates: l_orderkey = o_orderkey |
| | runtime filters: RF009 <- o_orderkey |
| | row-size=139B cardinality=574.29K |
| | |
| |--04:SCAN KUDU [tpch_kudu.orders] |
| | row-size=34B cardinality=1.50M |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: l_partkey = p_partkey |
| | runtime filters: RF011 <- p_partkey |
| | row-size=105B cardinality=598.58K |
| | |
| |--00:SCAN KUDU [tpch_kudu.part] |
| | predicates: p_name LIKE '%green%' |
| | runtime filters: RF004 -> tpch_kudu.part.p_partkey |
| | row-size=57B cardinality=20.00K |
| | |
| 02:SCAN KUDU [tpch_kudu.lineitem] |
| runtime filters: RF004 -> l_partkey, RF005 -> l_suppkey, RF007 -> l_suppkey, RF009 -> l_orderkey, RF011 -> l_partkey |
| row-size=48B cardinality=6.00M |
| ==== |
| # Q10 - Returned Item Reporting Query |
| # Converted select from multiple tables to joins |
| select |
| c_custkey, |
| c_name, |
| round(sum(l_extendedprice * (1 - l_discount)), 1) as revenue, |
| cast (c_acctbal as bigint), |
| n_name, |
| c_address, |
| c_phone, |
| c_comment |
| from |
| tpch_kudu.customer, |
| tpch_kudu.orders, |
| tpch_kudu.lineitem, |
| tpch_kudu.nation |
| where |
| c_custkey = o_custkey |
| and l_orderkey = o_orderkey |
| and o_orderdate >= '1993-10-01' |
| and o_orderdate < '1994-01-01' |
| and l_returnflag = 'R' |
| and c_nationkey = n_nationkey |
| group by |
| c_custkey, |
| c_name, |
| cast(c_acctbal as bigint), |
| c_phone, |
| n_name, |
| c_address, |
| c_comment |
| order by |
| revenue desc |
| limit 20 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=44.44MB Threads=5 |
| Per-Host Resource Estimates: Memory=67MB |
| PLAN-ROOT SINK |
| | |
| 08:TOP-N [LIMIT=20] |
| | order by: round(sum(l_extendedprice * (1 - l_discount)), 1) DESC |
| | row-size=230B cardinality=20 |
| | |
| 07:AGGREGATE [FINALIZE] |
| | output: sum(l_extendedprice * (1 - l_discount)) |
| | group by: c_custkey, c_name, CAST(c_acctbal AS BIGINT), c_phone, n_name, c_address, c_comment |
| | row-size=230B cardinality=191.92K |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: c_nationkey = n_nationkey |
| | runtime filters: RF001 <- n_nationkey |
| | row-size=278B cardinality=191.92K |
| | |
| |--03:SCAN KUDU [tpch_kudu.nation] |
| | row-size=25B cardinality=25 |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: c_custkey = o_custkey |
| | runtime filters: RF003 <- o_custkey |
| | row-size=253B cardinality=191.92K |
| | |
| |--04:HASH JOIN [INNER JOIN] |
| | | hash predicates: l_orderkey = o_orderkey |
| | | runtime filters: RF005 <- o_orderkey |
| | | row-size=40B cardinality=191.92K |
| | | |
| | |--01:SCAN KUDU [tpch_kudu.orders] |
| | | kudu predicates: o_orderdate < '1994-01-01', o_orderdate >= '1993-10-01' |
| | | row-size=16B cardinality=150.00K |
| | | |
| | 02:SCAN KUDU [tpch_kudu.lineitem] |
| | kudu predicates: l_returnflag = 'R' |
| | runtime filters: RF005 -> l_orderkey |
| | row-size=24B cardinality=2.00M |
| | |
| 00:SCAN KUDU [tpch_kudu.customer] |
| runtime filters: RF001 -> c_nationkey, RF003 -> c_custkey |
| row-size=213B cardinality=150.00K |
| ==== |
| # Q11 - Important Stock Identification |
| # Modifications: query was rewritten to not have a subquery in the having clause |
| select |
| * |
| from ( |
| select |
| ps_partkey, |
| round(sum(ps_supplycost * ps_availqty), 2) as value |
| from |
| tpch_kudu.partsupp, |
| tpch_kudu.supplier, |
| tpch_kudu.nation |
| where |
| ps_suppkey = s_suppkey |
| and s_nationkey = n_nationkey |
| and n_name = 'GERMANY' |
| group by |
| ps_partkey |
| ) as inner_query |
| where |
| value > ( |
| select |
| round(sum(ps_supplycost * ps_availqty) * 0.0001, 2) |
| from |
| tpch_kudu.partsupp, |
| tpch_kudu.supplier, |
| tpch_kudu.nation |
| where |
| ps_suppkey = s_suppkey |
| and s_nationkey = n_nationkey |
| and n_name = 'GERMANY' |
| ) |
| order by |
| value desc |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=9.69MB Threads=7 |
| Per-Host Resource Estimates: Memory=38MB |
| PLAN-ROOT SINK |
| | |
| 13:SORT |
| | order by: value DESC |
| | row-size=24B cardinality=32.00K |
| | |
| 12:NESTED LOOP JOIN [INNER JOIN] |
| | predicates: round(sum(ps_supplycost * ps_availqty), 2) > round(sum(ps_supplycost * ps_availqty) * 0.0001, 2) |
| | row-size=40B cardinality=32.00K |
| | |
| |--11:AGGREGATE [FINALIZE] |
| | | output: sum(ps_supplycost * ps_availqty) |
| | | row-size=16B cardinality=1 |
| | | |
| | 10:HASH JOIN [INNER JOIN] |
| | | hash predicates: s_nationkey = n_nationkey |
| | | runtime filters: RF005 <- n_nationkey |
| | | row-size=36B cardinality=32.00K |
| | | |
| | |--08:SCAN KUDU [tpch_kudu.nation] |
| | | kudu predicates: n_name = 'GERMANY' |
| | | row-size=2B cardinality=1 |
| | | |
| | 09:HASH JOIN [INNER JOIN] |
| | | hash predicates: ps_suppkey = s_suppkey |
| | | runtime filters: RF007 <- s_suppkey |
| | | row-size=34B cardinality=800.00K |
| | | |
| | |--07:SCAN KUDU [tpch_kudu.supplier] |
| | | runtime filters: RF005 -> s_nationkey |
| | | row-size=10B cardinality=10.00K |
| | | |
| | 06:SCAN KUDU [tpch_kudu.partsupp] |
| | runtime filters: RF007 -> ps_suppkey |
| | row-size=24B cardinality=800.00K |
| | |
| 05:AGGREGATE [FINALIZE] |
| | output: sum(ps_supplycost * ps_availqty) |
| | group by: ps_partkey |
| | row-size=24B cardinality=32.00K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: s_nationkey = n_nationkey |
| | runtime filters: RF001 <- n_nationkey |
| | row-size=44B cardinality=32.00K |
| | |
| |--02:SCAN KUDU [tpch_kudu.nation] |
| | kudu predicates: n_name = 'GERMANY' |
| | row-size=2B cardinality=1 |
| | |
| 03:HASH JOIN [INNER JOIN] |
| | hash predicates: ps_suppkey = s_suppkey |
| | runtime filters: RF003 <- s_suppkey |
| | row-size=42B cardinality=800.00K |
| | |
| |--01:SCAN KUDU [tpch_kudu.supplier] |
| | runtime filters: RF001 -> s_nationkey |
| | row-size=10B cardinality=10.00K |
| | |
| 00:SCAN KUDU [tpch_kudu.partsupp] |
| runtime filters: RF003 -> ps_suppkey |
| row-size=32B cardinality=800.00K |
| ==== |
| # Q12 - Shipping Mode and Order Priority Query |
| select |
| l_shipmode, |
| sum(case |
| when o_orderpriority = '1-URGENT' |
| or o_orderpriority = '2-HIGH' |
| then 1 |
| else 0 |
| end) as high_line_count, |
| sum(case |
| when o_orderpriority <> '1-URGENT' |
| and o_orderpriority <> '2-HIGH' |
| then 1 |
| else 0 |
| end) as low_line_count |
| from |
| tpch_kudu.orders, |
| tpch_kudu.lineitem |
| where |
| o_orderkey = l_orderkey |
| and l_shipmode in ('MAIL', 'SHIP') |
| and l_commitdate < l_receiptdate |
| and l_shipdate < l_commitdate |
| and l_receiptdate >= '1994-01-01' |
| and l_receiptdate < '1995-01-01' |
| group by |
| l_shipmode |
| order by |
| l_shipmode |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=35.94MB Threads=3 |
| Per-Host Resource Estimates: Memory=49MB |
| PLAN-ROOT SINK |
| | |
| 04:SORT |
| | order by: l_shipmode ASC |
| | row-size=32B cardinality=7 |
| | |
| 03:AGGREGATE [FINALIZE] |
| | output: sum(CASE WHEN o_orderpriority IN ('1-URGENT', '2-HIGH') THEN 1 ELSE 0 END), sum(CASE WHEN o_orderpriority != '1-URGENT' AND o_orderpriority != '2-HIGH' THEN 1 ELSE 0 END) |
| | group by: l_shipmode |
| | row-size=32B cardinality=7 |
| | |
| 02:HASH JOIN [INNER JOIN] |
| | hash predicates: o_orderkey = l_orderkey |
| | runtime filters: RF001 <- l_orderkey |
| | row-size=139B cardinality=320.78K |
| | |
| |--01:SCAN KUDU [tpch_kudu.lineitem] |
| | predicates: l_commitdate < l_receiptdate, l_shipdate < l_commitdate |
| | kudu predicates: l_shipmode IN ('MAIL', 'SHIP'), l_receiptdate < '1995-01-01', l_receiptdate >= '1994-01-01' |
| | row-size=106B cardinality=320.78K |
| | |
| 00:SCAN KUDU [tpch_kudu.orders] |
| runtime filters: RF001 -> o_orderkey |
| row-size=32B cardinality=1.50M |
| ==== |
| # Q13 - Customer Distribution Query |
| select |
| c_count, |
| count(*) as custdist |
| from ( |
| select |
| c_custkey, |
| count(o_orderkey) as c_count |
| from |
| tpch_kudu.customer left outer join tpch_kudu.orders on ( |
| c_custkey = o_custkey |
| and o_comment not like '%special%requests%' |
| ) |
| group by |
| c_custkey |
| ) as c_orders |
| group by |
| c_count |
| order by |
| custdist desc, |
| c_count desc |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=10.75MB Threads=3 |
| Per-Host Resource Estimates: Memory=20MB |
| PLAN-ROOT SINK |
| | |
| 05:SORT |
| | order by: count(*) DESC, c_count DESC |
| | row-size=16B cardinality=150.00K |
| | |
| 04:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | group by: count(o_orderkey) |
| | row-size=16B cardinality=150.00K |
| | |
| 03:AGGREGATE [FINALIZE] |
| | output: count(o_orderkey) |
| | group by: c_custkey |
| | row-size=16B cardinality=150.00K |
| | |
| 02:HASH JOIN [RIGHT OUTER JOIN] |
| | hash predicates: o_custkey = c_custkey |
| | runtime filters: RF001 <- c_custkey |
| | row-size=89B cardinality=150.00K |
| | |
| |--00:SCAN KUDU [tpch_kudu.customer] |
| | row-size=8B cardinality=150.00K |
| | |
| 01:SCAN KUDU [tpch_kudu.orders] |
| predicates: NOT o_comment LIKE '%special%requests%' |
| runtime filters: RF001 -> o_custkey |
| row-size=81B cardinality=150.00K |
| ==== |
| # Q14 - Promotion Effect |
| select |
| round(100.00 * sum(case |
| when p_type like 'PROMO%' |
| then l_extendedprice * (1 - l_discount) |
| else 0.0 |
| end) / sum(l_extendedprice * (1 - l_discount)), 4) as promo_revenue |
| from |
| tpch_kudu.lineitem, |
| tpch_kudu.part |
| where |
| l_partkey = p_partkey |
| and l_shipdate >= '1995-09-01' |
| and l_shipdate < '1995-10-01' |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=17.00MB Threads=3 |
| Per-Host Resource Estimates: Memory=33MB |
| PLAN-ROOT SINK |
| | |
| 03:AGGREGATE [FINALIZE] |
| | output: sum(CASE WHEN p_type LIKE 'PROMO%' THEN l_extendedprice * (1 - l_discount) ELSE 0 END), sum(l_extendedprice * (1 - l_discount)) |
| | row-size=32B cardinality=1 |
| | |
| 02:HASH JOIN [INNER JOIN] |
| | hash predicates: l_partkey = p_partkey |
| | runtime filters: RF001 <- p_partkey |
| | row-size=69B cardinality=598.58K |
| | |
| |--01:SCAN KUDU [tpch_kudu.part] |
| | row-size=45B cardinality=200.00K |
| | |
| 00:SCAN KUDU [tpch_kudu.lineitem] |
| kudu predicates: l_shipdate < '1995-10-01', l_shipdate >= '1995-09-01' |
| runtime filters: RF001 -> l_partkey |
| row-size=24B cardinality=600.12K |
| ==== |
| # Q15 - Top Supplier Query |
| with revenue_view as ( |
| select |
| l_suppkey as supplier_no, |
| round(sum(l_extendedprice * (1 - l_discount)), 1) as total_revenue |
| from |
| tpch_kudu.lineitem |
| where |
| l_shipdate >= '1996-01-01' |
| and l_shipdate < '1996-04-01' |
| group by |
| l_suppkey) |
| select |
| s_suppkey, |
| s_name, |
| s_address, |
| s_phone, |
| total_revenue |
| from |
| tpch_kudu.supplier, |
| revenue_view |
| where |
| s_suppkey = supplier_no |
| and total_revenue = ( |
| select |
| max(total_revenue) |
| from |
| revenue_view |
| ) |
| order by |
| s_suppkey |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=15.88MB Threads=4 |
| Per-Host Resource Estimates: Memory=42MB |
| PLAN-ROOT SINK |
| | |
| 08:SORT |
| | order by: s_suppkey ASC |
| | row-size=118B cardinality=10.00K |
| | |
| 07:HASH JOIN [LEFT SEMI JOIN] |
| | hash predicates: round(sum(l_extendedprice * (1 - l_discount)), 1) = max(total_revenue) |
| | row-size=138B cardinality=10.00K |
| | |
| |--05:AGGREGATE [FINALIZE] |
| | | output: max(round(sum(l_extendedprice * (1 - l_discount)), 1)) |
| | | row-size=16B cardinality=1 |
| | | |
| | 04:AGGREGATE [FINALIZE] |
| | | output: sum(l_extendedprice * (1 - l_discount)) |
| | | group by: l_suppkey |
| | | row-size=24B cardinality=9.71K |
| | | |
| | 03:SCAN KUDU [tpch_kudu.lineitem] |
| | kudu predicates: l_shipdate < '1996-04-01', l_shipdate >= '1996-01-01' |
| | row-size=24B cardinality=600.12K |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: s_suppkey = l_suppkey |
| | runtime filters: RF001 <- l_suppkey |
| | row-size=138B cardinality=10.00K |
| | |
| |--02:AGGREGATE [FINALIZE] |
| | | output: sum(l_extendedprice * (1 - l_discount)) |
| | | group by: l_suppkey |
| | | row-size=24B cardinality=9.71K |
| | | |
| | 01:SCAN KUDU [tpch_kudu.lineitem] |
| | kudu predicates: l_shipdate < '1996-04-01', l_shipdate >= '1996-01-01' |
| | row-size=24B cardinality=600.12K |
| | |
| 00:SCAN KUDU [tpch_kudu.supplier] |
| runtime filters: RF001 -> s_suppkey |
| row-size=114B cardinality=10.00K |
| ==== |
| # Q16 - Parts/Supplier Relation Query |
| select |
| p_brand, |
| p_type, |
| p_size, |
| count(distinct ps_suppkey) as supplier_cnt |
| from |
| tpch_kudu.partsupp, |
| tpch_kudu.part |
| where |
| p_partkey = ps_partkey |
| and p_brand <> 'Brand#45' |
| and p_type not like 'MEDIUM POLISHED%' |
| and p_size in (49, 14, 23, 45, 19, 3, 36, 9) |
| and ps_suppkey not in ( |
| select |
| s_suppkey |
| from |
| tpch_kudu.supplier |
| where |
| s_comment like '%Customer%Complaints%' |
| ) |
| group by |
| p_brand, |
| p_type, |
| p_size |
| order by |
| supplier_cnt desc, |
| p_brand, |
| p_type, |
| p_size |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=14.88MB Threads=4 |
| Per-Host Resource Estimates: Memory=22MB |
| PLAN-ROOT SINK |
| | |
| 07:SORT |
| | order by: count(ps_suppkey) DESC, p_brand ASC, p_type ASC, p_size ASC |
| | row-size=65B cardinality=31.92K |
| | |
| 06:AGGREGATE [FINALIZE] |
| | output: count(ps_suppkey) |
| | group by: p_brand, p_type, p_size |
| | row-size=65B cardinality=31.92K |
| | |
| 05:AGGREGATE |
| | group by: p_brand, p_type, p_size, ps_suppkey |
| | row-size=65B cardinality=31.92K |
| | |
| 04:HASH JOIN [NULL AWARE LEFT ANTI JOIN] |
| | hash predicates: ps_suppkey = s_suppkey |
| | row-size=89B cardinality=31.92K |
| | |
| |--02:SCAN KUDU [tpch_kudu.supplier] |
| | predicates: s_comment LIKE '%Customer%Complaints%' |
| | row-size=87B cardinality=1.00K |
| | |
| 03:HASH JOIN [INNER JOIN] |
| | hash predicates: ps_partkey = p_partkey |
| | runtime filters: RF001 <- p_partkey |
| | row-size=89B cardinality=31.92K |
| | |
| |--01:SCAN KUDU [tpch_kudu.part] |
| | predicates: p_brand != 'Brand#45', NOT p_type LIKE 'MEDIUM POLISHED%' |
| | kudu predicates: p_size IN (49, 14, 23, 45, 19, 3, 36, 9) |
| | row-size=73B cardinality=8.00K |
| | |
| 00:SCAN KUDU [tpch_kudu.partsupp] |
| runtime filters: RF001 -> ps_partkey |
| row-size=16B cardinality=800.00K |
| ==== |
| # Q17 - Small-Quantity-Order Revenue Query |
| select |
| round(sum(l_extendedprice) / 7.0, 2) as avg_yearly |
| from |
| tpch_kudu.lineitem, |
| tpch_kudu.part |
| where |
| p_partkey = l_partkey |
| and p_brand = 'Brand#23' |
| and p_container = 'MED BOX' |
| and l_quantity < ( |
| select |
| round(0.2 * avg(l_quantity), 2) |
| from |
| tpch_kudu.lineitem |
| where |
| l_partkey = p_partkey |
| ) |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=8.62MB Threads=4 |
| Per-Host Resource Estimates: Memory=24MB |
| PLAN-ROOT SINK |
| | |
| 06:AGGREGATE [FINALIZE] |
| | output: sum(l_extendedprice) |
| | row-size=16B cardinality=1 |
| | |
| 05:HASH JOIN [RIGHT SEMI JOIN] |
| | hash predicates: l_partkey = p_partkey |
| | other join predicates: l_quantity < round(0.2 * avg(l_quantity), 2) |
| | runtime filters: RF001 <- p_partkey |
| | row-size=32B cardinality=29.93K |
| | |
| |--04:HASH JOIN [INNER JOIN] |
| | | hash predicates: l_partkey = p_partkey |
| | | runtime filters: RF003 <- p_partkey |
| | | row-size=32B cardinality=29.93K |
| | | |
| | |--01:SCAN KUDU [tpch_kudu.part] |
| | | kudu predicates: p_container = 'MED BOX', p_brand = 'Brand#23' |
| | | row-size=8B cardinality=1.00K |
| | | |
| | 00:SCAN KUDU [tpch_kudu.lineitem] |
| | runtime filters: RF003 -> l_partkey |
| | row-size=24B cardinality=6.00M |
| | |
| 03:AGGREGATE [FINALIZE] |
| | output: avg(l_quantity) |
| | group by: l_partkey |
| | row-size=16B cardinality=200.52K |
| | |
| 02:SCAN KUDU [tpch_kudu.lineitem] |
| runtime filters: RF001 -> tpch_kudu.lineitem.l_partkey |
| row-size=16B cardinality=6.00M |
| ==== |
| # Q18 - Large Value tpch_kudu.customer Query |
| select |
| c_name, |
| c_custkey, |
| o_orderkey, |
| o_orderdate, |
| o_totalprice, |
| round(sum(l_quantity), 2) |
| from |
| tpch_kudu.customer, |
| tpch_kudu.orders, |
| tpch_kudu.lineitem |
| where |
| o_orderkey in ( |
| select |
| l_orderkey |
| from |
| tpch_kudu.lineitem |
| group by |
| l_orderkey |
| having |
| sum(l_quantity) > 300 |
| ) |
| and c_custkey = o_custkey |
| and o_orderkey = l_orderkey |
| group by |
| c_name, |
| c_custkey, |
| o_orderkey, |
| o_orderdate, |
| o_totalprice |
| order by |
| o_totalprice desc, |
| o_orderdate |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=81.25MB Threads=5 |
| Per-Host Resource Estimates: Memory=153MB |
| PLAN-ROOT SINK |
| | |
| 09:TOP-N [LIMIT=100] |
| | order by: o_totalprice DESC, o_orderdate ASC |
| | row-size=92B cardinality=100 |
| | |
| 08:AGGREGATE [FINALIZE] |
| | output: sum(l_quantity) |
| | group by: c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice |
| | row-size=92B cardinality=600.12K |
| | |
| 07:HASH JOIN [LEFT SEMI JOIN] |
| | hash predicates: o_orderkey = l_orderkey |
| | runtime filters: RF001 <- l_orderkey |
| | row-size=108B cardinality=600.12K |
| | |
| |--04:AGGREGATE [FINALIZE] |
| | | output: sum(l_quantity) |
| | | group by: l_orderkey |
| | | having: sum(l_quantity) > 300 |
| | | row-size=24B cardinality=156.34K |
| | | |
| | 03:SCAN KUDU [tpch_kudu.lineitem] |
| | row-size=16B cardinality=6.00M |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: o_custkey = c_custkey |
| | runtime filters: RF003 <- c_custkey |
| | row-size=108B cardinality=5.76M |
| | |
| |--00:SCAN KUDU [tpch_kudu.customer] |
| | row-size=42B cardinality=150.00K |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: l_orderkey = o_orderkey |
| | runtime filters: RF005 <- o_orderkey |
| | row-size=66B cardinality=5.76M |
| | |
| |--01:SCAN KUDU [tpch_kudu.orders] |
| | runtime filters: RF001 -> o_orderkey, RF003 -> o_custkey |
| | row-size=50B cardinality=1.50M |
| | |
| 02:SCAN KUDU [tpch_kudu.lineitem] |
| runtime filters: RF001 -> tpch_kudu.lineitem.l_orderkey, RF005 -> l_orderkey |
| row-size=16B cardinality=6.00M |
| ==== |
| # Q19 - Discounted Revenue Query |
| select |
| round(sum(l_extendedprice * (1 - l_discount)), 2) as revenue |
| from |
| tpch_kudu.lineitem, |
| tpch_kudu.part |
| where |
| p_partkey = l_partkey |
| and ( |
| ( |
| p_brand = 'Brand#12' |
| and p_container in ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG') |
| and l_quantity >= 1 and l_quantity <= 11 |
| and p_size between 1 and 5 |
| and l_shipmode in ('AIR', 'AIR REG') |
| and l_shipinstruct = 'DELIVER IN PERSON' |
| ) |
| or |
| ( |
| p_brand = 'Brand#23' |
| and p_container in ('MED BAG', 'MED BOX', 'MED PKG', 'MED PACK') |
| and l_quantity >= 10 and l_quantity <= 20 |
| and p_size between 1 and 10 |
| and l_shipmode in ('AIR', 'AIR REG') |
| and l_shipinstruct = 'DELIVER IN PERSON' |
| ) |
| or |
| ( |
| p_brand = 'Brand#34' |
| and p_container in ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG') |
| and l_quantity >= 20 and l_quantity <= 30 |
| and p_size between 1 and 15 |
| and l_shipmode in ('AIR', 'AIR REG') |
| and l_shipinstruct = 'DELIVER IN PERSON' |
| ) |
| ) |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=2.88MB Threads=3 |
| Per-Host Resource Estimates: Memory=22MB |
| PLAN-ROOT SINK |
| | |
| 03:AGGREGATE [FINALIZE] |
| | output: sum(l_extendedprice * (1 - l_discount)) |
| | row-size=16B cardinality=1 |
| | |
| 02:HASH JOIN [INNER JOIN] |
| | hash predicates: l_partkey = p_partkey |
| | other predicates: ((p_brand = 'Brand#12' AND p_container IN ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG') AND l_quantity >= 1 AND l_quantity <= 11 AND p_size <= 5) OR (p_brand = 'Brand#23' AND p_container IN ('MED BAG', 'MED BOX', 'MED PKG', 'MED PACK') AND l_quantity >= 10 AND l_quantity <= 20 AND p_size <= 10) OR (p_brand = 'Brand#34' AND p_container IN ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG') AND l_quantity >= 20 AND l_quantity <= 30 AND p_size <= 15)) |
| | runtime filters: RF001 <- p_partkey |
| | row-size=92B cardinality=79.99K |
| | |
| |--01:SCAN KUDU [tpch_kudu.part] |
| | kudu predicates: p_size >= 1 |
| | row-size=60B cardinality=20.00K |
| | |
| 00:SCAN KUDU [tpch_kudu.lineitem] |
| kudu predicates: l_shipmode IN ('AIR', 'AIR REG'), l_shipinstruct = 'DELIVER IN PERSON' |
| runtime filters: RF001 -> l_partkey |
| row-size=32B cardinality=801.95K |
| ==== |
| # Q20 - Potential Part Promotion Query |
| select |
| s_name, |
| s_address |
| from |
| tpch_kudu.supplier, tpch_kudu.nation |
| where |
| s_suppkey in ( |
| select |
| ps_suppkey |
| from |
| tpch_kudu.partsupp |
| where |
| ps_partkey in ( |
| select |
| p_partkey |
| from |
| tpch_kudu.part |
| where |
| p_name like 'forest%' |
| ) |
| and ps_availqty > ( |
| select |
| 0.5 * sum(l_quantity) |
| from |
| tpch_kudu.lineitem |
| where |
| l_partkey = ps_partkey |
| and l_suppkey = ps_suppkey |
| and l_shipdate >= '1994-01-01' |
| and l_shipdate < '1995-01-01' |
| ) |
| ) |
| and s_nationkey = n_nationkey |
| and n_name = 'CANADA' |
| order by |
| s_name |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=50.81MB Threads=6 |
| Per-Host Resource Estimates: Memory=60MB |
| PLAN-ROOT SINK |
| | |
| 10:SORT |
| | order by: s_name ASC |
| | row-size=67B cardinality=400 |
| | |
| 09:HASH JOIN [RIGHT SEMI JOIN] |
| | hash predicates: ps_suppkey = s_suppkey |
| | runtime filters: RF001 <- s_suppkey |
| | row-size=87B cardinality=400 |
| | |
| |--08:HASH JOIN [INNER JOIN] |
| | | hash predicates: s_nationkey = n_nationkey |
| | | runtime filters: RF009 <- n_nationkey |
| | | row-size=87B cardinality=400 |
| | | |
| | |--01:SCAN KUDU [tpch_kudu.nation] |
| | | kudu predicates: n_name = 'CANADA' |
| | | row-size=2B cardinality=1 |
| | | |
| | 00:SCAN KUDU [tpch_kudu.supplier] |
| | runtime filters: RF009 -> s_nationkey |
| | row-size=85B cardinality=10.00K |
| | |
| 07:HASH JOIN [RIGHT SEMI JOIN] |
| | hash predicates: l_partkey = ps_partkey, l_suppkey = ps_suppkey |
| | other join predicates: ps_availqty > 0.5 * sum(l_quantity) |
| | runtime filters: RF004 <- ps_partkey, RF005 <- ps_suppkey |
| | row-size=24B cardinality=79.79K |
| | |
| |--06:HASH JOIN [LEFT SEMI JOIN] |
| | | hash predicates: ps_partkey = p_partkey |
| | | runtime filters: RF007 <- p_partkey |
| | | row-size=24B cardinality=79.79K |
| | | |
| | |--03:SCAN KUDU [tpch_kudu.part] |
| | | predicates: p_name LIKE 'forest%' |
| | | row-size=57B cardinality=20.00K |
| | | |
| | 02:SCAN KUDU [tpch_kudu.partsupp] |
| | runtime filters: RF001 -> ps_suppkey, RF007 -> ps_partkey |
| | row-size=24B cardinality=800.00K |
| | |
| 05:AGGREGATE [FINALIZE] |
| | output: sum(l_quantity) |
| | group by: l_partkey, l_suppkey |
| | row-size=32B cardinality=600.12K |
| | |
| 04:SCAN KUDU [tpch_kudu.lineitem] |
| kudu predicates: l_shipdate < '1995-01-01', l_shipdate >= '1994-01-01' |
| runtime filters: RF001 -> tpch_kudu.lineitem.l_suppkey, RF004 -> tpch_kudu.lineitem.l_partkey, RF005 -> tpch_kudu.lineitem.l_suppkey |
| row-size=24B cardinality=600.12K |
| ==== |
| # Q21 - Suppliers Who Kept Orders Waiting Query |
| select |
| s_name, |
| count(*) as numwait |
| from |
| tpch_kudu.supplier, |
| tpch_kudu.lineitem l1, |
| tpch_kudu.orders, |
| tpch_kudu.nation |
| where |
| s_suppkey = l1.l_suppkey |
| and o_orderkey = l1.l_orderkey |
| and o_orderstatus = 'F' |
| and l1.l_receiptdate > l1.l_commitdate |
| and exists ( |
| select |
| * |
| from |
| tpch_kudu.lineitem l2 |
| where |
| l2.l_orderkey = l1.l_orderkey |
| and l2.l_suppkey <> l1.l_suppkey |
| ) |
| and not exists ( |
| select |
| * |
| from |
| tpch_kudu.lineitem l3 |
| where |
| l3.l_orderkey = l1.l_orderkey |
| and l3.l_suppkey <> l1.l_suppkey |
| and l3.l_receiptdate > l3.l_commitdate |
| ) |
| and s_nationkey = n_nationkey |
| and n_name = 'SAUDI ARABIA' |
| group by |
| s_name |
| order by |
| numwait desc, |
| s_name |
| limit 100 |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=10.56MB Threads=7 |
| Per-Host Resource Estimates: Memory=71MB |
| PLAN-ROOT SINK |
| | |
| 12:TOP-N [LIMIT=100] |
| | order by: count(*) DESC, s_name ASC |
| | row-size=38B cardinality=100 |
| | |
| 11:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | group by: s_name |
| | row-size=38B cardinality=7.68K |
| | |
| 10:HASH JOIN [RIGHT ANTI JOIN] |
| | hash predicates: l3.l_orderkey = l1.l_orderkey |
| | other join predicates: l3.l_suppkey != l1.l_suppkey |
| | row-size=122B cardinality=7.68K |
| | |
| |--09:HASH JOIN [RIGHT SEMI JOIN] |
| | | hash predicates: l2.l_orderkey = l1.l_orderkey |
| | | other join predicates: l2.l_suppkey != l1.l_suppkey |
| | | runtime filters: RF001 <- l1.l_orderkey |
| | | row-size=122B cardinality=7.68K |
| | | |
| | |--08:HASH JOIN [INNER JOIN] |
| | | | hash predicates: s_nationkey = n_nationkey |
| | | | runtime filters: RF003 <- n_nationkey |
| | | | row-size=122B cardinality=7.68K |
| | | | |
| | | |--03:SCAN KUDU [tpch_kudu.nation] |
| | | | kudu predicates: n_name = 'SAUDI ARABIA' |
| | | | row-size=2B cardinality=1 |
| | | | |
| | | 07:HASH JOIN [INNER JOIN] |
| | | | hash predicates: l1.l_suppkey = s_suppkey |
| | | | runtime filters: RF005 <- s_suppkey |
| | | | row-size=120B cardinality=191.92K |
| | | | |
| | | |--00:SCAN KUDU [tpch_kudu.supplier] |
| | | | runtime filters: RF003 -> s_nationkey |
| | | | row-size=44B cardinality=10.00K |
| | | | |
| | | 06:HASH JOIN [INNER JOIN] |
| | | | hash predicates: l1.l_orderkey = o_orderkey |
| | | | runtime filters: RF007 <- o_orderkey |
| | | | row-size=76B cardinality=191.92K |
| | | | |
| | | |--02:SCAN KUDU [tpch_kudu.orders] |
| | | | kudu predicates: o_orderstatus = 'F' |
| | | | row-size=8B cardinality=500.00K |
| | | | |
| | | 01:SCAN KUDU [tpch_kudu.lineitem l1] |
| | | predicates: l1.l_receiptdate > l1.l_commitdate |
| | | runtime filters: RF005 -> l1.l_suppkey, RF007 -> l1.l_orderkey |
| | | row-size=68B cardinality=600.12K |
| | | |
| | 04:SCAN KUDU [tpch_kudu.lineitem l2] |
| | runtime filters: RF001 -> l2.l_orderkey |
| | row-size=16B cardinality=6.00M |
| | |
| 05:SCAN KUDU [tpch_kudu.lineitem l3] |
| predicates: l3.l_receiptdate > l3.l_commitdate |
| row-size=68B cardinality=600.12K |
| ==== |
| # Q22 - Global Sales Opportunity Query |
| select |
| cntrycode, |
| count(*) as numcust, |
| round(sum(c_acctbal), 2) as totacctbal |
| from ( |
| select |
| substr(c_phone, 1, 2) as cntrycode, |
| c_acctbal |
| from |
| tpch_kudu.customer |
| where |
| substr(c_phone, 1, 2) in ('13', '31', '23', '29', '30', '18', '17') |
| and c_acctbal > ( |
| select |
| round(avg(c_acctbal), 1) |
| from |
| tpch_kudu.customer |
| where |
| c_acctbal > 0.00 |
| and substr(c_phone, 1, 2) in ('13', '31', '23', '29', '30', '18', '17') |
| ) |
| and not exists ( |
| select |
| * |
| from |
| tpch_kudu.orders |
| where |
| o_custkey = c_custkey |
| ) |
| ) as custsale |
| group by |
| cntrycode |
| order by |
| cntrycode |
| ---- PLAN |
| Max Per-Host Resource Reservation: Memory=13.94MB Threads=4 |
| Per-Host Resource Estimates: Memory=31MB |
| PLAN-ROOT SINK |
| | |
| 07:SORT |
| | order by: cntrycode ASC |
| | row-size=36B cardinality=15.00K |
| | |
| 06:AGGREGATE [FINALIZE] |
| | output: count(*), sum(c_acctbal) |
| | group by: substr(c_phone, 1, 2) |
| | row-size=36B cardinality=15.00K |
| | |
| 05:HASH JOIN [RIGHT ANTI JOIN] |
| | hash predicates: o_custkey = c_custkey |
| | row-size=55B cardinality=15.00K |
| | |
| |--04:NESTED LOOP JOIN [INNER JOIN] |
| | | predicates: c_acctbal > round(avg(c_acctbal), 1) |
| | | row-size=55B cardinality=15.00K |
| | | |
| | |--02:AGGREGATE [FINALIZE] |
| | | | output: avg(c_acctbal) |
| | | | row-size=8B cardinality=1 |
| | | | |
| | | 01:SCAN KUDU [tpch_kudu.customer] |
| | | predicates: substr(c_phone, 1, 2) IN ('13', '31', '23', '29', '30', '18', '17') |
| | | kudu predicates: c_acctbal > 0 |
| | | row-size=39B cardinality=15.00K |
| | | |
| | 00:SCAN KUDU [tpch_kudu.customer] |
| | predicates: substr(c_phone, 1, 2) IN ('13', '31', '23', '29', '30', '18', '17') |
| | row-size=47B cardinality=15.00K |
| | |
| 03:SCAN KUDU [tpch_kudu.orders] |
| row-size=8B cardinality=1.50M |
| ==== |