blob: d9b4c7d46f0cd9d1b2c109c0e3e5c36987245748 [file] [log] [blame]
# Parquet scan
select * from tpch_parquet.lineitem
---- PLAN
Max Per-Host Resource Reservation: Memory=40.00MB Threads=2
Per-Host Resource Estimates: Memory=80MB
Analyzed query: SELECT * FROM tpch_parquet.lineitem
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: tpch_parquet.lineitem.l_orderkey, tpch_parquet.lineitem.l_partkey, tpch_parquet.lineitem.l_suppkey, tpch_parquet.lineitem.l_linenumber, tpch_parquet.lineitem.l_quantity, tpch_parquet.lineitem.l_extendedprice, tpch_parquet.lineitem.l_discount, tpch_parquet.lineitem.l_tax, tpch_parquet.lineitem.l_returnflag, tpch_parquet.lineitem.l_linestatus, tpch_parquet.lineitem.l_shipdate, tpch_parquet.lineitem.l_commitdate, tpch_parquet.lineitem.l_receiptdate, tpch_parquet.lineitem.l_shipinstruct, tpch_parquet.lineitem.l_shipmode, tpch_parquet.lineitem.l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch_parquet.lineitem]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=40.00MB Threads=3
Per-Host Resource Estimates: Memory=91MB
Analyzed query: SELECT * FROM tpch_parquet.lineitem
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.69MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch_parquet.lineitem.l_orderkey, tpch_parquet.lineitem.l_partkey, tpch_parquet.lineitem.l_suppkey, tpch_parquet.lineitem.l_linenumber, tpch_parquet.lineitem.l_quantity, tpch_parquet.lineitem.l_extendedprice, tpch_parquet.lineitem.l_discount, tpch_parquet.lineitem.l_tax, tpch_parquet.lineitem.l_returnflag, tpch_parquet.lineitem.l_linestatus, tpch_parquet.lineitem.l_shipdate, tpch_parquet.lineitem.l_commitdate, tpch_parquet.lineitem.l_receiptdate, tpch_parquet.lineitem.l_shipinstruct, tpch_parquet.lineitem.l_shipmode, tpch_parquet.lineitem.l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.69MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=231B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=2
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=80.00MB Threads=3
Per-Host Resource Estimates: Memory=171MB
Analyzed query: SELECT * FROM tpch_parquet.lineitem
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=11.38MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch_parquet.lineitem.l_orderkey, tpch_parquet.lineitem.l_partkey, tpch_parquet.lineitem.l_suppkey, tpch_parquet.lineitem.l_linenumber, tpch_parquet.lineitem.l_quantity, tpch_parquet.lineitem.l_extendedprice, tpch_parquet.lineitem.l_discount, tpch_parquet.lineitem.l_tax, tpch_parquet.lineitem.l_returnflag, tpch_parquet.lineitem.l_linestatus, tpch_parquet.lineitem.l_shipdate, tpch_parquet.lineitem.l_commitdate, tpch_parquet.lineitem.l_receiptdate, tpch_parquet.lineitem.l_shipinstruct, tpch_parquet.lineitem.l_shipmode, tpch_parquet.lineitem.l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=11.38MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=231B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=160.00MB mem-reservation=80.00MB thread-reservation=2
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=0
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# Single column parquet scan - memory reservation is reduced compared to multi-column
# scan.
select l_comment from tpch_parquet.lineitem
---- PLAN
Max Per-Host Resource Reservation: Memory=4.00MB Threads=2
Per-Host Resource Estimates: Memory=80MB
Analyzed query: SELECT l_comment FROM tpch_parquet.lineitem
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=80.00MB mem-reservation=4.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch_parquet.lineitem]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=4.00MB thread-reservation=1
tuple-ids=0 row-size=38B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=4.00MB Threads=3
Per-Host Resource Estimates: Memory=90MB
Analyzed query: SELECT l_comment FROM tpch_parquet.lineitem
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.12MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.12MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=38B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=80.00MB mem-reservation=4.00MB thread-reservation=2
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=4.00MB thread-reservation=1
tuple-ids=0 row-size=38B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
Per-Host Resource Estimates: Memory=170MB
Analyzed query: SELECT l_comment FROM tpch_parquet.lineitem
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.25MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.25MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=38B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=160.00MB mem-reservation=8.00MB thread-reservation=2
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=4.00MB thread-reservation=0
tuple-ids=0 row-size=38B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# Small parquet files - memory reservation is reduced because of small file size.
select string_col from functional_parquet.alltypes;
---- PLAN
Max Per-Host Resource Reservation: Memory=16.00KB Threads=2
Per-Host Resource Estimates: Memory=16MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional_parquet.alltypes
Analyzed query: SELECT string_col FROM functional_parquet.alltypes
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=2
PLAN-ROOT SINK
| output exprs: string_col
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [functional_parquet.alltypes]
partitions=24/24 files=24 size=189.28KB
stored statistics:
table: rows=unavailable size=unavailable
partitions: 0/24 rows=unavailable
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=1
tuple-ids=0 row-size=12B cardinality=unavailable
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=16.00KB Threads=3
Per-Host Resource Estimates: Memory=16MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional_parquet.alltypes
Analyzed query: SELECT string_col FROM functional_parquet.alltypes
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=48.00KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: string_col
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=48.00KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=12B cardinality=unavailable
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=2
00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
partitions=24/24 files=24 size=189.28KB
stored statistics:
table: rows=unavailable size=unavailable
partitions: 0/24 rows=unavailable
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=1
tuple-ids=0 row-size=12B cardinality=unavailable
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=32.00KB Threads=3
Per-Host Resource Estimates: Memory=32MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional_parquet.alltypes
Analyzed query: SELECT string_col FROM functional_parquet.alltypes
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=96.00KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: string_col
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=96.00KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=12B cardinality=unavailable
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=32.00MB mem-reservation=32.00KB thread-reservation=2
00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
partitions=24/24 files=24 size=189.28KB
stored statistics:
table: rows=unavailable size=unavailable
partitions: 0/24 rows=unavailable
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=0
tuple-ids=0 row-size=12B cardinality=unavailable
in pipelines: 00(GETNEXT)
====
# Multi-column parquet scan with small files - memory reservation is reduced because of
# small file size but a minimum amount is reserved per column.
select int_col, float_col, string_col from functional_parquet.alltypes;
---- PLAN
Max Per-Host Resource Reservation: Memory=24.00KB Threads=2
Per-Host Resource Estimates: Memory=16MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional_parquet.alltypes
Analyzed query: SELECT int_col, float_col, string_col FROM
functional_parquet.alltypes
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=16.00MB mem-reservation=24.00KB thread-reservation=2
PLAN-ROOT SINK
| output exprs: int_col, float_col, string_col
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [functional_parquet.alltypes]
partitions=24/24 files=24 size=189.28KB
stored statistics:
table: rows=unavailable size=unavailable
partitions: 0/24 rows=unavailable
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=16.00MB mem-reservation=24.00KB thread-reservation=1
tuple-ids=0 row-size=20B cardinality=unavailable
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=24.00KB Threads=3
Per-Host Resource Estimates: Memory=16MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional_parquet.alltypes
Analyzed query: SELECT int_col, float_col, string_col FROM
functional_parquet.alltypes
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=71.99KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: int_col, float_col, string_col
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=71.99KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=20B cardinality=unavailable
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=16.00MB mem-reservation=24.00KB thread-reservation=2
00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
partitions=24/24 files=24 size=189.28KB
stored statistics:
table: rows=unavailable size=unavailable
partitions: 0/24 rows=unavailable
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=16.00MB mem-reservation=24.00KB thread-reservation=1
tuple-ids=0 row-size=20B cardinality=unavailable
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=48.00KB Threads=3
Per-Host Resource Estimates: Memory=32MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional_parquet.alltypes
Analyzed query: SELECT int_col, float_col, string_col FROM
functional_parquet.alltypes
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=143.99KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: int_col, float_col, string_col
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=143.99KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=20B cardinality=unavailable
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=32.00MB mem-reservation=48.00KB thread-reservation=2
00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
partitions=24/24 files=24 size=189.28KB
stored statistics:
table: rows=unavailable size=unavailable
partitions: 0/24 rows=unavailable
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=16.00MB mem-reservation=24.00KB thread-reservation=0
tuple-ids=0 row-size=20B cardinality=unavailable
in pipelines: 00(GETNEXT)
====
# Parquet scan with no materialized columns. Need reservation to scan levels to determine
# row count.
select 'foo' from functional_parquet.alltypes
---- PLAN
Max Per-Host Resource Reservation: Memory=16.00KB Threads=2
Per-Host Resource Estimates: Memory=10MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional_parquet.alltypes
Analyzed query: SELECT 'foo' FROM functional_parquet.alltypes
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=1.00MB mem-reservation=16.00KB thread-reservation=2
PLAN-ROOT SINK
| output exprs: 'foo'
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [functional_parquet.alltypes]
partitions=24/24 files=24 size=189.28KB
stored statistics:
table: rows=unavailable size=unavailable
partitions: 0/24 rows=unavailable
columns: all
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=1.00MB mem-reservation=16.00KB thread-reservation=1
tuple-ids=0 row-size=0B cardinality=unavailable
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=16.00KB Threads=3
Per-Host Resource Estimates: Memory=10MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional_parquet.alltypes
Analyzed query: SELECT 'foo' FROM functional_parquet.alltypes
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=16.00KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: 'foo'
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=0B cardinality=unavailable
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=1.00MB mem-reservation=16.00KB thread-reservation=2
00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
partitions=24/24 files=24 size=189.28KB
stored statistics:
table: rows=unavailable size=unavailable
partitions: 0/24 rows=unavailable
columns: all
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=1.00MB mem-reservation=16.00KB thread-reservation=1
tuple-ids=0 row-size=0B cardinality=unavailable
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=32.00KB Threads=3
Per-Host Resource Estimates: Memory=32MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional_parquet.alltypes
Analyzed query: SELECT 'foo' FROM functional_parquet.alltypes
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=24.00KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: 'foo'
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=24.00KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=0B cardinality=unavailable
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=32.00MB mem-reservation=32.00KB thread-reservation=2
00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
partitions=24/24 files=24 size=189.28KB
stored statistics:
table: rows=unavailable size=unavailable
partitions: 0/24 rows=unavailable
columns: all
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=0
tuple-ids=0 row-size=0B cardinality=unavailable
in pipelines: 00(GETNEXT)
====
# Parquet scan - reservation estimate based on dictionary-encoded size reduces
# reservation for column with low NDV.
select c_nationkey from tpch_parquet.customer
---- PLAN
Max Per-Host Resource Reservation: Memory=128.00KB Threads=2
Per-Host Resource Estimates: Memory=24MB
Analyzed query: SELECT c_nationkey FROM tpch_parquet.customer
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=24.00MB mem-reservation=128.00KB thread-reservation=2
PLAN-ROOT SINK
| output exprs: c_nationkey
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch_parquet.customer]
partitions=1/1 files=1 size=12.31MB
stored statistics:
table: rows=150.00K size=12.31MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=150.00K
mem-estimate=24.00MB mem-reservation=128.00KB thread-reservation=1
tuple-ids=0 row-size=2B cardinality=150.00K
in pipelines: 00(GETNEXT)
====
# Parquet scan - reservation estimate based on uncompressed size reduces reservation
# for fixed-width column with high NDV.
select c_custkey from tpch_parquet.customer
---- PLAN
Max Per-Host Resource Reservation: Memory=2.00MB Threads=2
Per-Host Resource Estimates: Memory=24MB
Analyzed query: SELECT c_custkey FROM tpch_parquet.customer
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=24.00MB mem-reservation=2.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: c_custkey
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch_parquet.customer]
partitions=1/1 files=1 size=12.31MB
stored statistics:
table: rows=150.00K size=12.31MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=150.00K
mem-estimate=24.00MB mem-reservation=2.00MB thread-reservation=1
tuple-ids=0 row-size=8B cardinality=150.00K
in pipelines: 00(GETNEXT)
====
# Parquet scan - reservation estimate is not reduced based on column stats when they
# are not present (c_mktsegment is a low NDV column so we can reduce our estimate of
# the column size to significantly smaller than the file size.
select c_mktsegment from functional_parquet.customer_multiblock
---- PLAN
Max Per-Host Resource Reservation: Memory=512.00KB Threads=2
Per-Host Resource Estimates: Memory=16MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional_parquet.customer_multiblock
Analyzed query: SELECT c_mktsegment FROM functional_parquet.customer_multiblock
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=2
PLAN-ROOT SINK
| output exprs: c_mktsegment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [functional_parquet.customer_multiblock]
partitions=1/1 files=1 size=482.93KB
stored statistics:
table: rows=unavailable size=unavailable
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=1
tuple-ids=0 row-size=12B cardinality=unavailable
in pipelines: 00(GETNEXT)
====
# Parquet nested types, unnested in scan - should reserve memory for each column.
select o_orderkey, o_orderstatus, o_totalprice, o_orderdate, o_orderpriority, o_clerk
from tpch_nested_parquet.customer.c_orders
---- PLAN
Max Per-Host Resource Reservation: Memory=24.00MB Threads=2
Per-Host Resource Estimates: Memory=88MB
Analyzed query: SELECT o_orderkey, o_orderstatus, o_totalprice, o_orderdate,
o_orderpriority, o_clerk FROM tpch_nested_parquet.customer.c_orders
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=24.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: o_orderkey, o_orderstatus, o_totalprice, o_orderdate, o_orderpriority, o_clerk
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch_nested_parquet.customer.c_orders]
partitions=1/1 files=4 size=288.99MB
stored statistics:
table: rows=150.00K size=288.98MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=44.22K
mem-estimate=88.00MB mem-reservation=24.00MB thread-reservation=1
tuple-ids=0 row-size=64B cardinality=1.50M
in pipelines: 00(GETNEXT)
====
# Parquet nested types, unnested in scan - don't reserve extra memory for "pos" virtual
# column that piggy-backs on another column.
select o_orderkey, pos
from tpch_nested_parquet.customer.c_orders
---- PLAN
Max Per-Host Resource Reservation: Memory=4.00MB Threads=2
Per-Host Resource Estimates: Memory=88MB
Analyzed query: SELECT o_orderkey, pos FROM
tpch_nested_parquet.customer.c_orders
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=4.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: o_orderkey, pos
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch_nested_parquet.customer.c_orders]
partitions=1/1 files=4 size=288.99MB
stored statistics:
table: rows=150.00K size=288.98MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=44.22K
mem-estimate=88.00MB mem-reservation=4.00MB thread-reservation=1
tuple-ids=0 row-size=16B cardinality=1.50M
in pipelines: 00(GETNEXT)
====
# Parquet nested types, unnested in scan - reserve memory for "pos" virtual column if it
# is the only column materialized.
select pos
from tpch_nested_parquet.customer.c_orders
---- PLAN
Max Per-Host Resource Reservation: Memory=4.00MB Threads=2
Per-Host Resource Estimates: Memory=88MB
Analyzed query: SELECT pos FROM tpch_nested_parquet.customer.c_orders
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=4.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: pos
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch_nested_parquet.customer.c_orders]
partitions=1/1 files=4 size=288.99MB
stored statistics:
table: rows=150.00K size=288.98MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=44.22K
mem-estimate=88.00MB mem-reservation=4.00MB thread-reservation=1
tuple-ids=0 row-size=8B cardinality=1.50M
in pipelines: 00(GETNEXT)
====
# Parquet nested types, left nested in scan - should reserve memory for each scalar
# column in the nested collection plus the top-level column.
select c_custkey, o_orderkey, o_orderstatus, o_totalprice, o_orderdate, o_orderpriority,
o_clerk
from tpch_nested_parquet.customer c, c.c_orders
---- PLAN
Max Per-Host Resource Reservation: Memory=32.00MB Threads=2
Per-Host Resource Estimates: Memory=88MB
Analyzed query: SELECT c_custkey, o_orderkey, o_orderstatus, o_totalprice,
o_orderdate, o_orderpriority, o_clerk FROM tpch_nested_parquet.customer c,
c.c_orders
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=32.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: c_custkey, o_orderkey, o_orderstatus, o_totalprice, o_orderdate, o_orderpriority, o_clerk
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1,0 row-size=84B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
|--04:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=20B mem-reservation=0B thread-reservation=0
| | tuple-ids=1,0 row-size=84B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| |--02:SINGULAR ROW SRC
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=0 row-size=20B cardinality=1
| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
partitions=1/1 files=4 size=288.99MB
predicates: !empty(c.c_orders)
stored statistics:
table: rows=150.00K size=288.98MB
columns missing stats: c_orders
extrapolated-rows=disabled max-scan-range-rows=44.23K
mem-estimate=88.00MB mem-reservation=32.00MB thread-reservation=1
tuple-ids=0 row-size=20B cardinality=150.00K
in pipelines: 00(GETNEXT)
====
# Parquet nested types, left nested in scan - should reserve memory for each scalar
# column (excluding pos) in the nested collection plus the top-level column.
select c_custkey, o_orderkey, pos
from tpch_nested_parquet.customer c, c.c_orders
---- PLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=2
Per-Host Resource Estimates: Memory=88MB
Analyzed query: SELECT c_custkey, o_orderkey, pos FROM
tpch_nested_parquet.customer c, c.c_orders
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: c_custkey, o_orderkey, pos
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1,0 row-size=36B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
|--04:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=20B mem-reservation=0B thread-reservation=0
| | tuple-ids=1,0 row-size=36B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| |--02:SINGULAR ROW SRC
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=0 row-size=20B cardinality=1
| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
partitions=1/1 files=4 size=288.99MB
predicates: !empty(c.c_orders)
stored statistics:
table: rows=150.00K size=288.98MB
columns missing stats: c_orders
extrapolated-rows=disabled max-scan-range-rows=44.23K
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=20B cardinality=150.00K
in pipelines: 00(GETNEXT)
====
# Parquet nested types, left nested in scan - should reserve memory for virtual
# pos column in the nested collection because nothing else is materialized from
# the collection, plus the top-level column.
select c_custkey, pos
from tpch_nested_parquet.customer c, c.c_orders
---- PLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=2
Per-Host Resource Estimates: Memory=88MB
Analyzed query: SELECT c_custkey, pos FROM tpch_nested_parquet.customer c,
c.c_orders
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: c_custkey, pos
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1,0 row-size=28B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
|--04:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=20B mem-reservation=0B thread-reservation=0
| | tuple-ids=1,0 row-size=28B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| |--02:SINGULAR ROW SRC
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=0 row-size=20B cardinality=1
| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
partitions=1/1 files=4 size=288.99MB
predicates: !empty(c.c_orders)
stored statistics:
table: rows=150.00K size=288.98MB
columns missing stats: c_orders
extrapolated-rows=disabled max-scan-range-rows=44.23K
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=20B cardinality=150.00K
in pipelines: 00(GETNEXT)
====
# Parquet nested types, left nested in scan - should reserve memory for nested column
# plus top-level column even though nested fields are not materialized because the
# column levels still need to be scanned to determine the # of elements in the collection.
select c_custkey
from tpch_nested_parquet.customer c, c.c_orders
---- PLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=2
Per-Host Resource Estimates: Memory=88MB
Analyzed query: SELECT c_custkey FROM tpch_nested_parquet.customer c, c.c_orders
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: c_custkey
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1,0 row-size=20B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
|--04:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=20B mem-reservation=0B thread-reservation=0
| | tuple-ids=1,0 row-size=20B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| |--02:SINGULAR ROW SRC
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=0 row-size=20B cardinality=1
| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
partitions=1/1 files=4 size=288.99MB
predicates: !empty(c.c_orders)
stored statistics:
table: rows=150.00K size=288.98MB
columns missing stats: c_orders
extrapolated-rows=disabled max-scan-range-rows=44.23K
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=20B cardinality=150.00K
in pipelines: 00(GETNEXT)
====
# Parquet nested types, left nested in scan - should reserve memory for nested column
# only when no top-level column is materialized.
select o_orderkey
from tpch_nested_parquet.customer c, c.c_orders
---- PLAN
Max Per-Host Resource Reservation: Memory=4.00MB Threads=2
Per-Host Resource Estimates: Memory=88MB
Analyzed query: SELECT o_orderkey FROM tpch_nested_parquet.customer c,
c.c_orders
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=4.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: o_orderkey
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1,0 row-size=20B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
|--04:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=12B mem-reservation=0B thread-reservation=0
| | tuple-ids=1,0 row-size=20B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| |--02:SINGULAR ROW SRC
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=0 row-size=12B cardinality=1
| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
partitions=1/1 files=4 size=288.99MB
predicates: !empty(c.c_orders)
stored statistics:
table: rows=150.00K size=288.98MB
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=44.23K
mem-estimate=88.00MB mem-reservation=4.00MB thread-reservation=1
tuple-ids=0 row-size=12B cardinality=150.00K
in pipelines: 00(GETNEXT)
====
# Parquet nested types with two levels of nesting materialized in scan. Should
# reserve memory for columns at all three levels
select c_custkey, o_orderkey, l_comment
from tpch_nested_parquet.customer c, c.c_orders o, o.o_lineitems
---- PLAN
Max Per-Host Resource Reservation: Memory=16.00MB Threads=2
Per-Host Resource Estimates: Memory=88MB
Analyzed query: SELECT c_custkey, o_orderkey, l_comment FROM
tpch_nested_parquet.customer c, c.c_orders o, o.o_lineitems
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=16.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: c_custkey, o_orderkey, l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=2,1,0 row-size=52B cardinality=15.00M
| in pipelines: 00(GETNEXT)
|
|--08:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=20B mem-reservation=0B thread-reservation=0
| | tuple-ids=2,1,0 row-size=52B cardinality=100
| | in pipelines: 00(GETNEXT)
| |
| |--02:SINGULAR ROW SRC
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=0 row-size=20B cardinality=1
| | in pipelines: 00(GETNEXT)
| |
| 04:SUBPLAN
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2,1 row-size=32B cardinality=100
| | in pipelines: 00(GETNEXT)
| |
| |--07:NESTED LOOP JOIN [CROSS JOIN]
| | | mem-estimate=20B mem-reservation=0B thread-reservation=0
| | | tuple-ids=2,1 row-size=32B cardinality=10
| | | in pipelines: 00(GETNEXT)
| | |
| | |--05:SINGULAR ROW SRC
| | | parent-subplan=04
| | | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | | tuple-ids=1 row-size=20B cardinality=1
| | | in pipelines: 00(GETNEXT)
| | |
| | 06:UNNEST [o.o_lineitems]
| | parent-subplan=04
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=0B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders o]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
partitions=1/1 files=4 size=288.99MB
predicates: !empty(c.c_orders)
predicates on o: !empty(o.o_lineitems)
stored statistics:
table: rows=150.00K size=288.98MB
columns missing stats: c_orders
extrapolated-rows=disabled max-scan-range-rows=44.23K
mem-estimate=88.00MB mem-reservation=16.00MB thread-reservation=1
tuple-ids=0 row-size=20B cardinality=150.00K
in pipelines: 00(GETNEXT)
====
# Text scan
select * from tpch.lineitem
---- PLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=2
Per-Host Resource Estimates: Memory=88MB
Analyzed query: SELECT * FROM tpch.lineitem
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: tpch.lineitem.l_orderkey, tpch.lineitem.l_partkey, tpch.lineitem.l_suppkey, tpch.lineitem.l_linenumber, tpch.lineitem.l_quantity, tpch.lineitem.l_extendedprice, tpch.lineitem.l_discount, tpch.lineitem.l_tax, tpch.lineitem.l_returnflag, tpch.lineitem.l_linestatus, tpch.lineitem.l_shipdate, tpch.lineitem.l_commitdate, tpch.lineitem.l_receiptdate, tpch.lineitem.l_shipinstruct, tpch.lineitem.l_shipmode, tpch.lineitem.l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch.lineitem]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
Per-Host Resource Estimates: Memory=99MB
Analyzed query: SELECT * FROM tpch.lineitem
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.69MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch.lineitem.l_orderkey, tpch.lineitem.l_partkey, tpch.lineitem.l_suppkey, tpch.lineitem.l_linenumber, tpch.lineitem.l_quantity, tpch.lineitem.l_extendedprice, tpch.lineitem.l_discount, tpch.lineitem.l_tax, tpch.lineitem.l_returnflag, tpch.lineitem.l_linestatus, tpch.lineitem.l_shipdate, tpch.lineitem.l_commitdate, tpch.lineitem.l_receiptdate, tpch.lineitem.l_shipinstruct, tpch.lineitem.l_shipmode, tpch.lineitem.l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.69MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=231B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
00:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=16.00MB Threads=3
Per-Host Resource Estimates: Memory=187MB
Analyzed query: SELECT * FROM tpch.lineitem
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=11.38MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch.lineitem.l_orderkey, tpch.lineitem.l_partkey, tpch.lineitem.l_suppkey, tpch.lineitem.l_linenumber, tpch.lineitem.l_quantity, tpch.lineitem.l_extendedprice, tpch.lineitem.l_discount, tpch.lineitem.l_tax, tpch.lineitem.l_returnflag, tpch.lineitem.l_linestatus, tpch.lineitem.l_shipdate, tpch.lineitem.l_commitdate, tpch.lineitem.l_receiptdate, tpch.lineitem.l_shipinstruct, tpch.lineitem.l_shipmode, tpch.lineitem.l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=11.38MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=231B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=176.00MB mem-reservation=16.00MB thread-reservation=2
00:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# Single column text scan - memory reservation is same as multi-column scan.
select l_comment from tpch.lineitem
---- PLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=2
Per-Host Resource Estimates: Memory=88MB
Analyzed query: SELECT l_comment FROM tpch.lineitem
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch.lineitem]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=38B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
Per-Host Resource Estimates: Memory=98MB
Analyzed query: SELECT l_comment FROM tpch.lineitem
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.12MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.12MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=38B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
00:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=38B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=16.00MB Threads=3
Per-Host Resource Estimates: Memory=186MB
Analyzed query: SELECT l_comment FROM tpch.lineitem
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.25MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.25MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=38B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=176.00MB mem-reservation=16.00MB thread-reservation=2
00:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
tuple-ids=0 row-size=38B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# Text scan on small files - memory reservation is reduced.
select * from functional.alltypes
---- PLAN
Max Per-Host Resource Reservation: Memory=32.00KB Threads=2
Per-Host Resource Estimates: Memory=16MB
Codegen disabled by planner
Analyzed query: SELECT * FROM functional.alltypes
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=2
PLAN-ROOT SINK
| output exprs: functional.alltypes.id, functional.alltypes.bool_col, functional.alltypes.tinyint_col, functional.alltypes.smallint_col, functional.alltypes.int_col, functional.alltypes.bigint_col, functional.alltypes.float_col, functional.alltypes.double_col, functional.alltypes.date_string_col, functional.alltypes.string_col, functional.alltypes.timestamp_col, functional.alltypes.year, functional.alltypes.month
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [functional.alltypes]
partitions=24/24 files=24 size=478.45KB
stored statistics:
table: rows=7.30K size=478.45KB
partitions: 24/24 rows=7.30K
columns: all
extrapolated-rows=disabled max-scan-range-rows=310
mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=1
tuple-ids=0 row-size=89B cardinality=7.30K
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=32.00KB Threads=3
Per-Host Resource Estimates: Memory=16MB
Codegen disabled by planner
Analyzed query: SELECT * FROM functional.alltypes
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=490.49KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: functional.alltypes.id, functional.alltypes.bool_col, functional.alltypes.tinyint_col, functional.alltypes.smallint_col, functional.alltypes.int_col, functional.alltypes.bigint_col, functional.alltypes.float_col, functional.alltypes.double_col, functional.alltypes.date_string_col, functional.alltypes.string_col, functional.alltypes.timestamp_col, functional.alltypes.year, functional.alltypes.month
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=490.49KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=89B cardinality=7.30K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=2
00:SCAN HDFS [functional.alltypes, RANDOM]
partitions=24/24 files=24 size=478.45KB
stored statistics:
table: rows=7.30K size=478.45KB
partitions: 24/24 rows=7.30K
columns: all
extrapolated-rows=disabled max-scan-range-rows=310
mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=1
tuple-ids=0 row-size=89B cardinality=7.30K
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=64.00KB Threads=3
Per-Host Resource Estimates: Memory=33MB
Codegen disabled by planner
Analyzed query: SELECT * FROM functional.alltypes
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=769.49KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: functional.alltypes.id, functional.alltypes.bool_col, functional.alltypes.tinyint_col, functional.alltypes.smallint_col, functional.alltypes.int_col, functional.alltypes.bigint_col, functional.alltypes.float_col, functional.alltypes.double_col, functional.alltypes.date_string_col, functional.alltypes.string_col, functional.alltypes.timestamp_col, functional.alltypes.year, functional.alltypes.month
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=769.49KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=89B cardinality=7.30K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=32.00MB mem-reservation=64.00KB thread-reservation=2
00:SCAN HDFS [functional.alltypes, RANDOM]
partitions=24/24 files=24 size=478.45KB
stored statistics:
table: rows=7.30K size=478.45KB
partitions: 24/24 rows=7.30K
columns: all
extrapolated-rows=disabled max-scan-range-rows=310
mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=0
tuple-ids=0 row-size=89B cardinality=7.30K
in pipelines: 00(GETNEXT)
====
# Avro scan.
select * from tpch_avro.orders
---- HIVE_MAJOR_VERSION
# Hive 3 creates different number of files for this table than Hive 2.
2
---- PLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=2
Per-Host Resource Estimates: Memory=88MB
WARNING: The following tables are missing relevant table and/or column statistics.
tpch_avro.orders
Analyzed query: SELECT * FROM tpch_avro.orders
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: tpch_avro.orders.o_orderkey, tpch_avro.orders.o_custkey, tpch_avro.orders.o_orderstatus, tpch_avro.orders.o_totalprice, tpch_avro.orders.o_orderdate, tpch_avro.orders.o_orderpriority, tpch_avro.orders.o_clerk, tpch_avro.orders.o_shippriority, tpch_avro.orders.o_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch_avro.orders]
partitions=1/1 files=2 size=156.92MB
stored statistics:
table: rows=unavailable size=156.92MB
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=88B cardinality=unavailable
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
Per-Host Resource Estimates: Memory=88MB
WARNING: The following tables are missing relevant table and/or column statistics.
tpch_avro.orders
Analyzed query: SELECT * FROM tpch_avro.orders
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=183.96KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch_avro.orders.o_orderkey, tpch_avro.orders.o_custkey, tpch_avro.orders.o_orderstatus, tpch_avro.orders.o_totalprice, tpch_avro.orders.o_orderdate, tpch_avro.orders.o_orderpriority, tpch_avro.orders.o_clerk, tpch_avro.orders.o_shippriority, tpch_avro.orders.o_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=183.96KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=88B cardinality=unavailable
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
00:SCAN HDFS [tpch_avro.orders, RANDOM]
partitions=1/1 files=2 size=156.92MB
stored statistics:
table: rows=unavailable size=156.92MB
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=88B cardinality=unavailable
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=16.00MB Threads=3
Per-Host Resource Estimates: Memory=176MB
WARNING: The following tables are missing relevant table and/or column statistics.
tpch_avro.orders
Analyzed query: SELECT * FROM tpch_avro.orders
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=367.96KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch_avro.orders.o_orderkey, tpch_avro.orders.o_custkey, tpch_avro.orders.o_orderstatus, tpch_avro.orders.o_totalprice, tpch_avro.orders.o_orderdate, tpch_avro.orders.o_orderpriority, tpch_avro.orders.o_clerk, tpch_avro.orders.o_shippriority, tpch_avro.orders.o_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=367.96KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=88B cardinality=unavailable
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
Per-Host Resources: mem-estimate=176.00MB mem-reservation=16.00MB thread-reservation=2
00:SCAN HDFS [tpch_avro.orders, RANDOM]
partitions=1/1 files=2 size=156.92MB
stored statistics:
table: rows=unavailable size=156.92MB
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
tuple-ids=0 row-size=88B cardinality=unavailable
in pipelines: 00(GETNEXT)
====
select * from tpch_avro.orders
---- HIVE_MAJOR_VERSION
# Hive 3 creates different number of files for this table than Hive 2.
3
---- PLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=2
Per-Host Resource Estimates: Memory=64MB
WARNING: The following tables are missing relevant table and/or column statistics.
tpch_avro.orders
Analyzed query: SELECT * FROM tpch_avro.orders
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=64.00MB mem-reservation=8.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: tpch_avro.orders.o_orderkey, tpch_avro.orders.o_custkey, tpch_avro.orders.o_orderstatus, tpch_avro.orders.o_totalprice, tpch_avro.orders.o_orderdate, tpch_avro.orders.o_orderpriority, tpch_avro.orders.o_clerk, tpch_avro.orders.o_shippriority, tpch_avro.orders.o_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch_avro.orders]
HDFS partitions=1/1 files=3 size=156.92MB
stored statistics:
table: rows=unavailable size=156.92MB
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=64.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=88B cardinality=unavailable
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
Per-Host Resource Estimates: Memory=64MB
WARNING: The following tables are missing relevant table and/or column statistics.
tpch_avro.orders
Analyzed query: SELECT * FROM tpch_avro.orders
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=275.97KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch_avro.orders.o_orderkey, tpch_avro.orders.o_custkey, tpch_avro.orders.o_orderstatus, tpch_avro.orders.o_totalprice, tpch_avro.orders.o_orderdate, tpch_avro.orders.o_orderpriority, tpch_avro.orders.o_clerk, tpch_avro.orders.o_shippriority, tpch_avro.orders.o_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=275.97KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=88B cardinality=unavailable
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=64.00MB mem-reservation=8.00MB thread-reservation=2
00:SCAN HDFS [tpch_avro.orders, RANDOM]
HDFS partitions=1/1 files=3 size=156.92MB
stored statistics:
table: rows=unavailable size=156.92MB
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=64.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=88B cardinality=unavailable
in pipelines: 00(GETNEXT)
====
# RC scan.
select * from tpch_rc.customer
---- PLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=2
Per-Host Resource Estimates: Memory=32MB
WARNING: The following tables are missing relevant table and/or column statistics.
tpch_rc.customer
Analyzed query: SELECT * FROM tpch_rc.customer
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=32.00MB mem-reservation=8.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: tpch_rc.customer.c_custkey, tpch_rc.customer.c_name, tpch_rc.customer.c_address, tpch_rc.customer.c_nationkey, tpch_rc.customer.c_phone, tpch_rc.customer.c_acctbal, tpch_rc.customer.c_mktsegment, tpch_rc.customer.c_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch_rc.customer]
partitions=1/1 files=1 size=22.47MB
stored statistics:
table: rows=unavailable size=22.47MB
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=32.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=78B cardinality=unavailable
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
Per-Host Resource Estimates: Memory=32MB
WARNING: The following tables are missing relevant table and/or column statistics.
tpch_rc.customer
Analyzed query: SELECT * FROM tpch_rc.customer
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=81.92KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch_rc.customer.c_custkey, tpch_rc.customer.c_name, tpch_rc.customer.c_address, tpch_rc.customer.c_nationkey, tpch_rc.customer.c_phone, tpch_rc.customer.c_acctbal, tpch_rc.customer.c_mktsegment, tpch_rc.customer.c_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=81.92KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=78B cardinality=unavailable
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
Per-Host Resources: mem-estimate=32.00MB mem-reservation=8.00MB thread-reservation=2
00:SCAN HDFS [tpch_rc.customer, RANDOM]
partitions=1/1 files=1 size=22.47MB
stored statistics:
table: rows=unavailable size=22.47MB
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=32.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=78B cardinality=unavailable
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=16.00MB Threads=3
Per-Host Resource Estimates: Memory=64MB
WARNING: The following tables are missing relevant table and/or column statistics.
tpch_rc.customer
Analyzed query: SELECT * FROM tpch_rc.customer
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=163.92KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch_rc.customer.c_custkey, tpch_rc.customer.c_name, tpch_rc.customer.c_address, tpch_rc.customer.c_nationkey, tpch_rc.customer.c_phone, tpch_rc.customer.c_acctbal, tpch_rc.customer.c_mktsegment, tpch_rc.customer.c_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=163.92KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=78B cardinality=unavailable
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=2
Per-Host Resources: mem-estimate=64.00MB mem-reservation=16.00MB thread-reservation=2
00:SCAN HDFS [tpch_rc.customer, RANDOM]
partitions=1/1 files=1 size=22.47MB
stored statistics:
table: rows=unavailable size=22.47MB
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=32.00MB mem-reservation=8.00MB thread-reservation=0
tuple-ids=0 row-size=78B cardinality=unavailable
in pipelines: 00(GETNEXT)
====
# Seq scan.
select * from tpcds_seq_snap.web_returns
---- PLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=2
Per-Host Resource Estimates: Memory=16MB
WARNING: The following tables are missing relevant table and/or column statistics.
tpcds_seq_snap.web_returns
Analyzed query: SELECT * FROM tpcds_seq_snap.web_returns
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=16.00MB mem-reservation=8.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: tpcds_seq_snap.web_returns.wr_returned_date_sk, tpcds_seq_snap.web_returns.wr_returned_time_sk, tpcds_seq_snap.web_returns.wr_item_sk, tpcds_seq_snap.web_returns.wr_refunded_customer_sk, tpcds_seq_snap.web_returns.wr_refunded_cdemo_sk, tpcds_seq_snap.web_returns.wr_refunded_hdemo_sk, tpcds_seq_snap.web_returns.wr_refunded_addr_sk, tpcds_seq_snap.web_returns.wr_returning_customer_sk, tpcds_seq_snap.web_returns.wr_returning_cdemo_sk, tpcds_seq_snap.web_returns.wr_returning_hdemo_sk, tpcds_seq_snap.web_returns.wr_returning_addr_sk, tpcds_seq_snap.web_returns.wr_web_page_sk, tpcds_seq_snap.web_returns.wr_reason_sk, tpcds_seq_snap.web_returns.wr_order_number, tpcds_seq_snap.web_returns.wr_return_quantity, tpcds_seq_snap.web_returns.wr_return_amt, tpcds_seq_snap.web_returns.wr_return_tax, tpcds_seq_snap.web_returns.wr_return_amt_inc_tax, tpcds_seq_snap.web_returns.wr_fee, tpcds_seq_snap.web_returns.wr_return_ship_cost, tpcds_seq_snap.web_returns.wr_refunded_cash, tpcds_seq_snap.web_returns.wr_reversed_charge, tpcds_seq_snap.web_returns.wr_account_credit, tpcds_seq_snap.web_returns.wr_net_loss
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpcds_seq_snap.web_returns]
partitions=1/1 files=1 size=6.61MB
stored statistics:
table: rows=unavailable size=6.61MB
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=16.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=104B cardinality=unavailable
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
Per-Host Resource Estimates: Memory=16MB
WARNING: The following tables are missing relevant table and/or column statistics.
tpcds_seq_snap.web_returns
Analyzed query: SELECT * FROM tpcds_seq_snap.web_returns
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=107.90KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpcds_seq_snap.web_returns.wr_returned_date_sk, tpcds_seq_snap.web_returns.wr_returned_time_sk, tpcds_seq_snap.web_returns.wr_item_sk, tpcds_seq_snap.web_returns.wr_refunded_customer_sk, tpcds_seq_snap.web_returns.wr_refunded_cdemo_sk, tpcds_seq_snap.web_returns.wr_refunded_hdemo_sk, tpcds_seq_snap.web_returns.wr_refunded_addr_sk, tpcds_seq_snap.web_returns.wr_returning_customer_sk, tpcds_seq_snap.web_returns.wr_returning_cdemo_sk, tpcds_seq_snap.web_returns.wr_returning_hdemo_sk, tpcds_seq_snap.web_returns.wr_returning_addr_sk, tpcds_seq_snap.web_returns.wr_web_page_sk, tpcds_seq_snap.web_returns.wr_reason_sk, tpcds_seq_snap.web_returns.wr_order_number, tpcds_seq_snap.web_returns.wr_return_quantity, tpcds_seq_snap.web_returns.wr_return_amt, tpcds_seq_snap.web_returns.wr_return_tax, tpcds_seq_snap.web_returns.wr_return_amt_inc_tax, tpcds_seq_snap.web_returns.wr_fee, tpcds_seq_snap.web_returns.wr_return_ship_cost, tpcds_seq_snap.web_returns.wr_refunded_cash, tpcds_seq_snap.web_returns.wr_reversed_charge, tpcds_seq_snap.web_returns.wr_account_credit, tpcds_seq_snap.web_returns.wr_net_loss
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=107.90KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=104B cardinality=unavailable
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
Per-Host Resources: mem-estimate=16.00MB mem-reservation=8.00MB thread-reservation=2
00:SCAN HDFS [tpcds_seq_snap.web_returns, RANDOM]
partitions=1/1 files=1 size=6.61MB
stored statistics:
table: rows=unavailable size=6.61MB
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=16.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=104B cardinality=unavailable
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=16.00MB Threads=3
Per-Host Resource Estimates: Memory=32MB
WARNING: The following tables are missing relevant table and/or column statistics.
tpcds_seq_snap.web_returns
Analyzed query: SELECT * FROM tpcds_seq_snap.web_returns
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=215.90KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpcds_seq_snap.web_returns.wr_returned_date_sk, tpcds_seq_snap.web_returns.wr_returned_time_sk, tpcds_seq_snap.web_returns.wr_item_sk, tpcds_seq_snap.web_returns.wr_refunded_customer_sk, tpcds_seq_snap.web_returns.wr_refunded_cdemo_sk, tpcds_seq_snap.web_returns.wr_refunded_hdemo_sk, tpcds_seq_snap.web_returns.wr_refunded_addr_sk, tpcds_seq_snap.web_returns.wr_returning_customer_sk, tpcds_seq_snap.web_returns.wr_returning_cdemo_sk, tpcds_seq_snap.web_returns.wr_returning_hdemo_sk, tpcds_seq_snap.web_returns.wr_returning_addr_sk, tpcds_seq_snap.web_returns.wr_web_page_sk, tpcds_seq_snap.web_returns.wr_reason_sk, tpcds_seq_snap.web_returns.wr_order_number, tpcds_seq_snap.web_returns.wr_return_quantity, tpcds_seq_snap.web_returns.wr_return_amt, tpcds_seq_snap.web_returns.wr_return_tax, tpcds_seq_snap.web_returns.wr_return_amt_inc_tax, tpcds_seq_snap.web_returns.wr_fee, tpcds_seq_snap.web_returns.wr_return_ship_cost, tpcds_seq_snap.web_returns.wr_refunded_cash, tpcds_seq_snap.web_returns.wr_reversed_charge, tpcds_seq_snap.web_returns.wr_account_credit, tpcds_seq_snap.web_returns.wr_net_loss
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=215.90KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=104B cardinality=unavailable
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=2
Per-Host Resources: mem-estimate=32.00MB mem-reservation=16.00MB thread-reservation=2
00:SCAN HDFS [tpcds_seq_snap.web_returns, RANDOM]
partitions=1/1 files=1 size=6.61MB
stored statistics:
table: rows=unavailable size=6.61MB
columns: unavailable
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=16.00MB mem-reservation=8.00MB thread-reservation=0
tuple-ids=0 row-size=104B cardinality=unavailable
in pipelines: 00(GETNEXT)
====
# ORC scan
select * from tpch_orc_def.lineitem
---- HIVE_MAJOR_VERSION
# Hive 3 creates different number of files for this table than Hive 2.
2
---- PLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=2
Per-Host Resource Estimates: Memory=40MB
Analyzed query: SELECT * FROM tpch_orc_def.lineitem
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=40.00MB mem-reservation=8.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: tpch_orc_def.lineitem.l_orderkey, tpch_orc_def.lineitem.l_partkey, tpch_orc_def.lineitem.l_suppkey, tpch_orc_def.lineitem.l_linenumber, tpch_orc_def.lineitem.l_quantity, tpch_orc_def.lineitem.l_extendedprice, tpch_orc_def.lineitem.l_discount, tpch_orc_def.lineitem.l_tax, tpch_orc_def.lineitem.l_returnflag, tpch_orc_def.lineitem.l_linestatus, tpch_orc_def.lineitem.l_shipdate, tpch_orc_def.lineitem.l_commitdate, tpch_orc_def.lineitem.l_receiptdate, tpch_orc_def.lineitem.l_shipinstruct, tpch_orc_def.lineitem.l_shipmode, tpch_orc_def.lineitem.l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch_orc_def.lineitem]
partitions=1/1 files=6 size=144.66MB
stored statistics:
table: rows=6.00M size=144.66MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.08M
mem-estimate=40.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# ORC scan
select * from tpch_orc_def.lineitem
---- HIVE_MAJOR_VERSION
# Hive 3 creates different number of files for this table than Hive 2.
3
---- PLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=2
Per-Host Resource Estimates: Memory=88MB
Analyzed query: SELECT * FROM tpch_orc_def.lineitem
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: tpch_orc_def.lineitem.l_orderkey, tpch_orc_def.lineitem.l_partkey, tpch_orc_def.lineitem.l_suppkey, tpch_orc_def.lineitem.l_linenumber, tpch_orc_def.lineitem.l_quantity, tpch_orc_def.lineitem.l_extendedprice, tpch_orc_def.lineitem.l_discount, tpch_orc_def.lineitem.l_tax, tpch_orc_def.lineitem.l_returnflag, tpch_orc_def.lineitem.l_linestatus, tpch_orc_def.lineitem.l_shipdate, tpch_orc_def.lineitem.l_commitdate, tpch_orc_def.lineitem.l_receiptdate, tpch_orc_def.lineitem.l_shipinstruct, tpch_orc_def.lineitem.l_shipmode, tpch_orc_def.lineitem.l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch_orc_def.lineitem]
HDFS partitions=1/1 files=1 size=142.84MB
stored statistics:
table: rows=6.00M size=142.84MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=6.00M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# Single column ORC scan - memory reservation is same as multi-column scan.
select l_comment from tpch_orc_def.lineitem
---- HIVE_MAJOR_VERSION
# Hive 3 creates different number of files for this table than Hive 2.
2
---- PLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=2
Per-Host Resource Estimates: Memory=40MB
Analyzed query: SELECT l_comment FROM tpch_orc_def.lineitem
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=40.00MB mem-reservation=8.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch_orc_def.lineitem]
partitions=1/1 files=6 size=144.66MB
stored statistics:
table: rows=6.00M size=144.66MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.08M
mem-estimate=40.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=38B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
select l_comment from tpch_orc_def.lineitem
---- HIVE_MAJOR_VERSION
# Hive 3 creates different number of files for this table than Hive 2.
3
---- PLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=2
Per-Host Resource Estimates: Memory=88MB
Analyzed query: SELECT l_comment FROM tpch_orc_def.lineitem
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch_orc_def.lineitem]
HDFS partitions=1/1 files=1 size=142.84MB
stored statistics:
table: rows=6.00M size=142.84MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=6.00M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=38B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# ORC scan on small files - memory reservation is reduced.
select * from functional_orc_def.alltypes
---- PLAN
Max Per-Host Resource Reservation: Memory=88.00KB Threads=2
Per-Host Resource Estimates: Memory=16MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional_orc_def.alltypes
Analyzed query: SELECT * FROM functional_orc_def.alltypes
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=16.00MB mem-reservation=88.00KB thread-reservation=2
PLAN-ROOT SINK
| output exprs: functional_orc_def.alltypes.id, functional_orc_def.alltypes.bool_col, functional_orc_def.alltypes.tinyint_col, functional_orc_def.alltypes.smallint_col, functional_orc_def.alltypes.int_col, functional_orc_def.alltypes.bigint_col, functional_orc_def.alltypes.float_col, functional_orc_def.alltypes.double_col, functional_orc_def.alltypes.date_string_col, functional_orc_def.alltypes.string_col, functional_orc_def.alltypes.timestamp_col, functional_orc_def.alltypes.year, functional_orc_def.alltypes.month
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [functional_orc_def.alltypes]
partitions=24/24 files=24 size=42.27KB
stored statistics:
table: rows=unavailable size=unavailable
partitions: 0/24 rows=unavailable
columns missing stats: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=16.00MB mem-reservation=88.00KB thread-reservation=1
tuple-ids=0 row-size=80B cardinality=unavailable
in pipelines: 00(GETNEXT)
====
# Mixed table format scan
select * from functional.alltypesmixedformat
---- PLAN
Max Per-Host Resource Reservation: Memory=88.00KB Threads=2
Per-Host Resource Estimates: Memory=16MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional.alltypesmixedformat
Analyzed query: SELECT * FROM functional.alltypesmixedformat
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=16.00MB mem-reservation=88.00KB thread-reservation=2
PLAN-ROOT SINK
| output exprs: functional.alltypesmixedformat.id, functional.alltypesmixedformat.bool_col, functional.alltypesmixedformat.tinyint_col, functional.alltypesmixedformat.smallint_col, functional.alltypesmixedformat.int_col, functional.alltypesmixedformat.bigint_col, functional.alltypesmixedformat.float_col, functional.alltypesmixedformat.double_col, functional.alltypesmixedformat.date_string_col, functional.alltypesmixedformat.string_col, functional.alltypesmixedformat.timestamp_col, functional.alltypesmixedformat.year, functional.alltypesmixedformat.month
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [functional.alltypesmixedformat]
partitions=4/4 files=4 size=66.12KB
stored statistics:
table: rows=unavailable size=unavailable
partitions: 0/4 rows=unavailable
columns missing stats: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=16.00MB mem-reservation=88.00KB thread-reservation=1
tuple-ids=0 row-size=80B cardinality=unavailable
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=88.00KB Threads=3
Per-Host Resource Estimates: Memory=16MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional.alltypesmixedformat
Analyzed query: SELECT * FROM functional.alltypesmixedformat
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=251.97KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: functional.alltypesmixedformat.id, functional.alltypesmixedformat.bool_col, functional.alltypesmixedformat.tinyint_col, functional.alltypesmixedformat.smallint_col, functional.alltypesmixedformat.int_col, functional.alltypesmixedformat.bigint_col, functional.alltypesmixedformat.float_col, functional.alltypesmixedformat.double_col, functional.alltypesmixedformat.date_string_col, functional.alltypesmixedformat.string_col, functional.alltypesmixedformat.timestamp_col, functional.alltypesmixedformat.year, functional.alltypesmixedformat.month
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=251.97KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=80B cardinality=unavailable
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=16.00MB mem-reservation=88.00KB thread-reservation=2
00:SCAN HDFS [functional.alltypesmixedformat, RANDOM]
partitions=4/4 files=4 size=66.12KB
stored statistics:
table: rows=unavailable size=unavailable
partitions: 0/4 rows=unavailable
columns missing stats: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=16.00MB mem-reservation=88.00KB thread-reservation=1
tuple-ids=0 row-size=80B cardinality=unavailable
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=176.00KB Threads=3
Per-Host Resource Estimates: Memory=32MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional.alltypesmixedformat
Analyzed query: SELECT * FROM functional.alltypesmixedformat
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=503.97KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: functional.alltypesmixedformat.id, functional.alltypesmixedformat.bool_col, functional.alltypesmixedformat.tinyint_col, functional.alltypesmixedformat.smallint_col, functional.alltypesmixedformat.int_col, functional.alltypesmixedformat.bigint_col, functional.alltypesmixedformat.float_col, functional.alltypesmixedformat.double_col, functional.alltypesmixedformat.date_string_col, functional.alltypesmixedformat.string_col, functional.alltypesmixedformat.timestamp_col, functional.alltypesmixedformat.year, functional.alltypesmixedformat.month
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=503.97KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=80B cardinality=unavailable
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=32.00MB mem-reservation=176.00KB thread-reservation=2
00:SCAN HDFS [functional.alltypesmixedformat, RANDOM]
partitions=4/4 files=4 size=66.12KB
stored statistics:
table: rows=unavailable size=unavailable
partitions: 0/4 rows=unavailable
columns missing stats: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col
extrapolated-rows=disabled max-scan-range-rows=unavailable
mem-estimate=16.00MB mem-reservation=88.00KB thread-reservation=0
tuple-ids=0 row-size=80B cardinality=unavailable
in pipelines: 00(GETNEXT)
====
# HBase scan on table without stats.
select * from functional_hbase.alltypes
---- PLAN
Max Per-Host Resource Reservation: Memory=0B Threads=1
Per-Host Resource Estimates: Memory=10MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional_hbase.alltypes
Analyzed query: SELECT * FROM functional_hbase.alltypes
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=256.00KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: functional_hbase.alltypes.id, functional_hbase.alltypes.bigint_col, functional_hbase.alltypes.bool_col, functional_hbase.alltypes.date_string_col, functional_hbase.alltypes.double_col, functional_hbase.alltypes.float_col, functional_hbase.alltypes.int_col, functional_hbase.alltypes.month, functional_hbase.alltypes.smallint_col, functional_hbase.alltypes.string_col, functional_hbase.alltypes.timestamp_col, functional_hbase.alltypes.tinyint_col, functional_hbase.alltypes.year
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HBASE [functional_hbase.alltypes]
stored statistics:
table: rows=unavailable
columns: unavailable
mem-estimate=256.00KB mem-reservation=0B thread-reservation=0
tuple-ids=0 row-size=80B cardinality=14.30K
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=0B Threads=2
Per-Host Resource Estimates: Memory=10MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional_hbase.alltypes
Analyzed query: SELECT * FROM functional_hbase.alltypes
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=1.17MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: functional_hbase.alltypes.id, functional_hbase.alltypes.bigint_col, functional_hbase.alltypes.bool_col, functional_hbase.alltypes.date_string_col, functional_hbase.alltypes.double_col, functional_hbase.alltypes.float_col, functional_hbase.alltypes.int_col, functional_hbase.alltypes.month, functional_hbase.alltypes.smallint_col, functional_hbase.alltypes.string_col, functional_hbase.alltypes.timestamp_col, functional_hbase.alltypes.tinyint_col, functional_hbase.alltypes.year
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=1.17MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=80B cardinality=14.30K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
Per-Host Resources: mem-estimate=256.00KB mem-reservation=0B thread-reservation=1
00:SCAN HBASE [functional_hbase.alltypes]
stored statistics:
table: rows=unavailable
columns: unavailable
mem-estimate=256.00KB mem-reservation=0B thread-reservation=0
tuple-ids=0 row-size=80B cardinality=14.30K
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=0B Threads=3
Per-Host Resource Estimates: Memory=10MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional_hbase.alltypes
Analyzed query: SELECT * FROM functional_hbase.alltypes
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=1.25MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: functional_hbase.alltypes.id, functional_hbase.alltypes.bigint_col, functional_hbase.alltypes.bool_col, functional_hbase.alltypes.date_string_col, functional_hbase.alltypes.double_col, functional_hbase.alltypes.float_col, functional_hbase.alltypes.int_col, functional_hbase.alltypes.month, functional_hbase.alltypes.smallint_col, functional_hbase.alltypes.string_col, functional_hbase.alltypes.timestamp_col, functional_hbase.alltypes.tinyint_col, functional_hbase.alltypes.year
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=1.25MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=80B cardinality=14.30K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=2
Per-Host Resources: mem-estimate=512.00KB mem-reservation=0B thread-reservation=2
00:SCAN HBASE [functional_hbase.alltypes]
stored statistics:
table: rows=unavailable
columns: unavailable
mem-estimate=256.00KB mem-reservation=0B thread-reservation=0
tuple-ids=0 row-size=80B cardinality=14.30K
in pipelines: 00(GETNEXT)
====
# HBase scan on table with stats.
select * from functional_hbase.alltypessmall
---- PLAN
Max Per-Host Resource Reservation: Memory=0B Threads=1
Per-Host Resource Estimates: Memory=10MB
Codegen disabled by planner
Analyzed query: SELECT * FROM functional_hbase.alltypessmall
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.00KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: functional_hbase.alltypessmall.id, functional_hbase.alltypessmall.bigint_col, functional_hbase.alltypessmall.bool_col, functional_hbase.alltypessmall.date_string_col, functional_hbase.alltypessmall.double_col, functional_hbase.alltypessmall.float_col, functional_hbase.alltypessmall.int_col, functional_hbase.alltypessmall.month, functional_hbase.alltypessmall.smallint_col, functional_hbase.alltypessmall.string_col, functional_hbase.alltypessmall.timestamp_col, functional_hbase.alltypessmall.tinyint_col, functional_hbase.alltypessmall.year
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN HBASE [functional_hbase.alltypessmall]
stored statistics:
table: rows=100
columns: all
mem-estimate=4.00KB mem-reservation=0B thread-reservation=0
tuple-ids=0 row-size=89B cardinality=50
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=0B Threads=2
Per-Host Resource Estimates: Memory=10MB
Codegen disabled by planner
Analyzed query: SELECT * FROM functional_hbase.alltypessmall
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=16.00KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: functional_hbase.alltypessmall.id, functional_hbase.alltypessmall.bigint_col, functional_hbase.alltypessmall.bool_col, functional_hbase.alltypessmall.date_string_col, functional_hbase.alltypessmall.double_col, functional_hbase.alltypessmall.float_col, functional_hbase.alltypessmall.int_col, functional_hbase.alltypessmall.month, functional_hbase.alltypessmall.smallint_col, functional_hbase.alltypessmall.string_col, functional_hbase.alltypessmall.timestamp_col, functional_hbase.alltypessmall.tinyint_col, functional_hbase.alltypessmall.year
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=89B cardinality=50
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=4.00KB mem-reservation=0B thread-reservation=1
00:SCAN HBASE [functional_hbase.alltypessmall]
stored statistics:
table: rows=100
columns: all
mem-estimate=4.00KB mem-reservation=0B thread-reservation=0
tuple-ids=0 row-size=89B cardinality=50
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=0B Threads=3
Per-Host Resource Estimates: Memory=10MB
Codegen disabled by planner
Analyzed query: SELECT * FROM functional_hbase.alltypessmall
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=28.69KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: functional_hbase.alltypessmall.id, functional_hbase.alltypessmall.bigint_col, functional_hbase.alltypessmall.bool_col, functional_hbase.alltypessmall.date_string_col, functional_hbase.alltypessmall.double_col, functional_hbase.alltypessmall.float_col, functional_hbase.alltypessmall.int_col, functional_hbase.alltypessmall.month, functional_hbase.alltypessmall.smallint_col, functional_hbase.alltypessmall.string_col, functional_hbase.alltypessmall.timestamp_col, functional_hbase.alltypessmall.tinyint_col, functional_hbase.alltypessmall.year
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=28.69KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=89B cardinality=50
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=8.00KB mem-reservation=0B thread-reservation=2
00:SCAN HBASE [functional_hbase.alltypessmall]
stored statistics:
table: rows=100
columns: all
mem-estimate=4.00KB mem-reservation=0B thread-reservation=0
tuple-ids=0 row-size=89B cardinality=50
in pipelines: 00(GETNEXT)
====
# Data source scan
select * from functional.alltypes_datasource
---- PLAN
Max Per-Host Resource Reservation: Memory=0B Threads=1
Per-Host Resource Estimates: Memory=1.00GB
WARNING: The following tables are missing relevant table and/or column statistics.
functional.alltypes_datasource
Analyzed query: SELECT * FROM functional.alltypes_datasource
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=1.00GB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: functional.alltypes_datasource.id, functional.alltypes_datasource.bool_col, functional.alltypes_datasource.tinyint_col, functional.alltypes_datasource.smallint_col, functional.alltypes_datasource.int_col, functional.alltypes_datasource.bigint_col, functional.alltypes_datasource.float_col, functional.alltypes_datasource.double_col, functional.alltypes_datasource.timestamp_col, functional.alltypes_datasource.string_col, functional.alltypes_datasource.dec_col1, functional.alltypes_datasource.dec_col2, functional.alltypes_datasource.dec_col3, functional.alltypes_datasource.dec_col4, functional.alltypes_datasource.dec_col5, functional.alltypes_datasource.date_col
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN DATA SOURCE [functional.alltypes_datasource]
mem-estimate=1.00GB mem-reservation=0B thread-reservation=0
tuple-ids=0 row-size=112B cardinality=5.00K
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=0B Threads=2
Per-Host Resource Estimates: Memory=1.00GB
WARNING: The following tables are missing relevant table and/or column statistics.
functional.alltypes_datasource
Analyzed query: SELECT * FROM functional.alltypes_datasource
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=686.41KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: functional.alltypes_datasource.id, functional.alltypes_datasource.bool_col, functional.alltypes_datasource.tinyint_col, functional.alltypes_datasource.smallint_col, functional.alltypes_datasource.int_col, functional.alltypes_datasource.bigint_col, functional.alltypes_datasource.float_col, functional.alltypes_datasource.double_col, functional.alltypes_datasource.timestamp_col, functional.alltypes_datasource.string_col, functional.alltypes_datasource.dec_col1, functional.alltypes_datasource.dec_col2, functional.alltypes_datasource.dec_col3, functional.alltypes_datasource.dec_col4, functional.alltypes_datasource.dec_col5, functional.alltypes_datasource.date_col
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=686.41KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=112B cardinality=5.00K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
Per-Host Resources: mem-estimate=1.00GB mem-reservation=0B thread-reservation=1
00:SCAN DATA SOURCE [functional.alltypes_datasource]
mem-estimate=1.00GB mem-reservation=0B thread-reservation=0
tuple-ids=0 row-size=112B cardinality=5.00K
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=0B Threads=3
Per-Host Resource Estimates: Memory=2.00GB
WARNING: The following tables are missing relevant table and/or column statistics.
functional.alltypes_datasource
Analyzed query: SELECT * FROM functional.alltypes_datasource
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=806.41KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: functional.alltypes_datasource.id, functional.alltypes_datasource.bool_col, functional.alltypes_datasource.tinyint_col, functional.alltypes_datasource.smallint_col, functional.alltypes_datasource.int_col, functional.alltypes_datasource.bigint_col, functional.alltypes_datasource.float_col, functional.alltypes_datasource.double_col, functional.alltypes_datasource.timestamp_col, functional.alltypes_datasource.string_col, functional.alltypes_datasource.dec_col1, functional.alltypes_datasource.dec_col2, functional.alltypes_datasource.dec_col3, functional.alltypes_datasource.dec_col4, functional.alltypes_datasource.dec_col5, functional.alltypes_datasource.date_col
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [UNPARTITIONED]
| mem-estimate=806.41KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=112B cardinality=5.00K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=2
Per-Host Resources: mem-estimate=2.00GB mem-reservation=0B thread-reservation=2
00:SCAN DATA SOURCE [functional.alltypes_datasource]
mem-estimate=1.00GB mem-reservation=0B thread-reservation=0
tuple-ids=0 row-size=112B cardinality=5.00K
in pipelines: 00(GETNEXT)
====
# Union
select * from tpch.lineitem
union all
select * from tpch.lineitem
---- PLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=2
Per-Host Resource Estimates: Memory=88MB
Analyzed query: SELECT * FROM tpch.lineitem UNION ALL SELECT * FROM
tpch.lineitem
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=2 row-size=231B cardinality=12.00M
| in pipelines: 01(GETNEXT), 02(GETNEXT)
|
|--02:SCAN HDFS [tpch.lineitem]
| partitions=1/1 files=1 size=718.94MB
| stored statistics:
| table: rows=6.00M size=718.94MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.07M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
| tuple-ids=1 row-size=231B cardinality=6.00M
| in pipelines: 02(GETNEXT)
|
01:SCAN HDFS [tpch.lineitem]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 01(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
Per-Host Resource Estimates: Memory=99MB
Analyzed query: SELECT * FROM tpch.lineitem UNION ALL SELECT * FROM
tpch.lineitem
F03:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.69MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
03:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.69MB mem-reservation=0B thread-reservation=0
| tuple-ids=2 row-size=231B cardinality=12.00M
| in pipelines: 01(GETNEXT), 02(GETNEXT)
|
F02:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
00:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=2 row-size=231B cardinality=12.00M
| in pipelines: 01(GETNEXT), 02(GETNEXT)
|
|--02:SCAN HDFS [tpch.lineitem, RANDOM]
| partitions=1/1 files=1 size=718.94MB
| stored statistics:
| table: rows=6.00M size=718.94MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.07M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
| tuple-ids=1 row-size=231B cardinality=6.00M
| in pipelines: 02(GETNEXT)
|
01:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 01(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=16.00MB Threads=3
Per-Host Resource Estimates: Memory=187MB
Analyzed query: SELECT * FROM tpch.lineitem UNION ALL SELECT * FROM
tpch.lineitem
F03:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=11.38MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
03:EXCHANGE [UNPARTITIONED]
| mem-estimate=11.38MB mem-reservation=0B thread-reservation=0
| tuple-ids=2 row-size=231B cardinality=12.00M
| in pipelines: 01(GETNEXT), 02(GETNEXT)
|
F02:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=176.00MB mem-reservation=16.00MB thread-reservation=2
00:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=2 row-size=231B cardinality=12.00M
| in pipelines: 01(GETNEXT), 02(GETNEXT)
|
|--02:SCAN HDFS [tpch.lineitem, RANDOM]
| partitions=1/1 files=1 size=718.94MB
| stored statistics:
| table: rows=6.00M size=718.94MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.07M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=6.00M
| in pipelines: 02(GETNEXT)
|
01:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 01(GETNEXT)
====
# Grouping aggregation
select l_orderkey, count(*)
from tpch_parquet.lineitem
group by l_orderkey
---- PLAN
Max Per-Host Resource Reservation: Memory=38.00MB Threads=2
Per-Host Resource Estimates: Memory=114MB
Analyzed query: SELECT l_orderkey, count(*) FROM tpch_parquet.lineitem GROUP BY
l_orderkey
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=114.00MB mem-reservation=38.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: l_orderkey, count(*)
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:AGGREGATE [FINALIZE]
| output: count(*)
| group by: l_orderkey
| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=16B cardinality=1.56M
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.lineitem]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=4.00MB thread-reservation=1
tuple-ids=0 row-size=8B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=46.50MB Threads=4
Per-Host Resource Estimates: Memory=140MB
Analyzed query: SELECT l_orderkey, count(*) FROM tpch_parquet.lineitem GROUP BY
l_orderkey
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=8.01MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_orderkey, count(*)
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
04:EXCHANGE [UNPARTITIONED]
| mem-estimate=8.01MB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=16B cardinality=1.56M
| in pipelines: 03(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=3
Per-Host Resources: mem-estimate=18.01MB mem-reservation=8.50MB thread-reservation=1
03:AGGREGATE [FINALIZE]
| output: count:merge(*)
| group by: l_orderkey
| mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
| tuple-ids=1 row-size=16B cardinality=1.56M
| in pipelines: 03(GETNEXT), 00(OPEN)
|
02:EXCHANGE [HASH(l_orderkey)]
| mem-estimate=8.01MB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=16B cardinality=1.56M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=114.00MB mem-reservation=38.00MB thread-reservation=2
01:AGGREGATE [STREAMING]
| output: count(*)
| group by: l_orderkey
| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=16B cardinality=1.56M
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=4.00MB thread-reservation=1
tuple-ids=0 row-size=8B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=85.50MB Threads=5
Per-Host Resource Estimates: Memory=272MB
Analyzed query: SELECT l_orderkey, count(*) FROM tpch_parquet.lineitem GROUP BY
l_orderkey
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=8.07MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_orderkey, count(*)
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
04:EXCHANGE [UNPARTITIONED]
| mem-estimate=8.07MB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=16B cardinality=1.56M
| in pipelines: 03(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=6
Per-Host Resources: mem-estimate=36.14MB mem-reservation=9.50MB thread-reservation=2
03:AGGREGATE [FINALIZE]
| output: count:merge(*)
| group by: l_orderkey
| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| tuple-ids=1 row-size=16B cardinality=1.56M
| in pipelines: 03(GETNEXT), 00(OPEN)
|
02:EXCHANGE [HASH(l_orderkey)]
| mem-estimate=8.07MB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=16B cardinality=1.56M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=228.00MB mem-reservation=76.00MB thread-reservation=2
01:AGGREGATE [STREAMING]
| output: count(*)
| group by: l_orderkey
| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=16B cardinality=1.56M
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
partitions=1/1 files=3 size=193.59MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=4.00MB thread-reservation=0
tuple-ids=0 row-size=8B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# Non-grouping aggregation with zero-slot parquet scan
select count(*) from tpch_parquet.lineitem
---- PLAN
Max Per-Host Resource Reservation: Memory=128.00KB Threads=2
Per-Host Resource Estimates: Memory=11MB
Analyzed query: SELECT count(*) FROM tpch_parquet.lineitem
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=11.00MB mem-reservation=128.00KB thread-reservation=2
PLAN-ROOT SINK
| output exprs: count(*)
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:AGGREGATE [FINALIZE]
| output: sum_init_zero(tpch_parquet.lineitem.stats: num_rows)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.lineitem]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=1.00MB mem-reservation=128.00KB thread-reservation=1
tuple-ids=0 row-size=8B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=128.00KB Threads=3
Per-Host Resource Estimates: Memory=21MB
Analyzed query: SELECT count(*) FROM tpch_parquet.lineitem
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.02MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: count(*)
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
03:AGGREGATE [FINALIZE]
| output: count:merge(*)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
| in pipelines: 03(GETNEXT), 01(OPEN)
|
02:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=11.00MB mem-reservation=128.00KB thread-reservation=2
01:AGGREGATE
| output: sum_init_zero(tpch_parquet.lineitem.stats: num_rows)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=1.00MB mem-reservation=128.00KB thread-reservation=1
tuple-ids=0 row-size=8B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=256.00KB Threads=3
Per-Host Resource Estimates: Memory=190MB
Analyzed query: SELECT count(*) FROM tpch_parquet.lineitem
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.02MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: count(*)
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
03:AGGREGATE [FINALIZE]
| output: count:merge(*)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
| in pipelines: 03(GETNEXT), 01(OPEN)
|
02:EXCHANGE [UNPARTITIONED]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=180.00MB mem-reservation=256.00KB thread-reservation=2
01:AGGREGATE
| output: sum_init_zero(tpch_parquet.lineitem.stats: num_rows)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=128.00KB thread-reservation=0
tuple-ids=0 row-size=8B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# Sort
select *
from tpch_parquet.lineitem
order by l_comment
---- PLAN
Max Per-Host Resource Reservation: Memory=52.00MB Threads=2
Per-Host Resource Estimates: Memory=118MB
Analyzed query: SELECT * FROM tpch_parquet.lineitem ORDER BY l_comment ASC
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=118.00MB mem-reservation=52.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:SORT
| order by: l_comment ASC
| mem-estimate=38.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=6.00M
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.lineitem]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=52.00MB Threads=3
Per-Host Resource Estimates: Memory=149MB
Analyzed query: SELECT * FROM tpch_parquet.lineitem ORDER BY l_comment ASC
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=30.69MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
02:MERGING-EXCHANGE [UNPARTITIONED]
| order by: l_comment ASC
| mem-estimate=30.69MB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=6.00M
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=118.00MB mem-reservation=52.00MB thread-reservation=2
01:SORT
| order by: l_comment ASC
| mem-estimate=38.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=6.00M
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=104.00MB Threads=3
Per-Host Resource Estimates: Memory=297MB
Analyzed query: SELECT * FROM tpch_parquet.lineitem ORDER BY l_comment ASC
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=61.38MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
02:MERGING-EXCHANGE [UNPARTITIONED]
| order by: l_comment ASC
| mem-estimate=61.38MB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=6.00M
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=236.00MB mem-reservation=104.00MB thread-reservation=2
01:SORT
| order by: l_comment ASC
| mem-estimate=38.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=6.00M
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=0
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# TOP-N
select *
from tpch_parquet.lineitem
order by l_comment
limit 100
---- PLAN
Max Per-Host Resource Reservation: Memory=40.00MB Threads=2
Per-Host Resource Estimates: Memory=80MB
Analyzed query: SELECT * FROM tpch_parquet.lineitem ORDER BY l_comment ASC LIMIT
CAST(100 AS TINYINT)
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=80.02MB mem-reservation=40.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:TOP-N [LIMIT=100]
| order by: l_comment ASC
| mem-estimate=22.54KB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=100
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.lineitem]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=40.00MB Threads=3
Per-Host Resource Estimates: Memory=80MB
Analyzed query: SELECT * FROM tpch_parquet.lineitem ORDER BY l_comment ASC LIMIT
CAST(100 AS TINYINT)
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=76.29KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
02:MERGING-EXCHANGE [UNPARTITIONED]
| order by: l_comment ASC
| limit: 100
| mem-estimate=76.29KB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=100
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=80.02MB mem-reservation=40.00MB thread-reservation=2
01:TOP-N [LIMIT=100]
| order by: l_comment ASC
| mem-estimate=22.54KB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=100
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=80.00MB Threads=3
Per-Host Resource Estimates: Memory=160MB
Analyzed query: SELECT * FROM tpch_parquet.lineitem ORDER BY l_comment ASC LIMIT
CAST(100 AS TINYINT)
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=145.08KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
02:MERGING-EXCHANGE [UNPARTITIONED]
| order by: l_comment ASC
| limit: 100
| mem-estimate=145.08KB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=100
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=160.04MB mem-reservation=80.00MB thread-reservation=2
01:TOP-N [LIMIT=100]
| order by: l_comment ASC
| mem-estimate=22.54KB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=100
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=0
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# Broadcast Hash Join
select *
from tpch.lineitem inner join tpch.orders on l_orderkey = o_orderkey
---- PLAN
Max Per-Host Resource Reservation: Memory=51.00MB Threads=3
Per-Host Resource Estimates: Memory=446MB
Analyzed query: SELECT * FROM tpch.lineitem INNER JOIN tpch.orders ON l_orderkey
= o_orderkey
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=445.94MB mem-reservation=51.00MB thread-reservation=3 runtime-filters-memory=1.00MB
PLAN-ROOT SINK
| output exprs: tpch.lineitem.l_orderkey, tpch.lineitem.l_partkey, tpch.lineitem.l_suppkey, tpch.lineitem.l_linenumber, tpch.lineitem.l_quantity, tpch.lineitem.l_extendedprice, tpch.lineitem.l_discount, tpch.lineitem.l_tax, tpch.lineitem.l_returnflag, tpch.lineitem.l_linestatus, tpch.lineitem.l_shipdate, tpch.lineitem.l_commitdate, tpch.lineitem.l_receiptdate, tpch.lineitem.l_shipinstruct, tpch.lineitem.l_shipmode, tpch.lineitem.l_comment, tpch.orders.o_orderkey, tpch.orders.o_custkey, tpch.orders.o_orderstatus, tpch.orders.o_totalprice, tpch.orders.o_orderdate, tpch.orders.o_orderpriority, tpch.orders.o_clerk, tpch.orders.o_shippriority, tpch.orders.o_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
02:HASH JOIN [INNER JOIN]
| hash predicates: l_orderkey = o_orderkey
| fk/pk conjuncts: l_orderkey = o_orderkey
| runtime filters: RF000[bloom] <- o_orderkey
| mem-estimate=268.94MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=0,1 row-size=402B cardinality=5.76M
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--01:SCAN HDFS [tpch.orders]
| partitions=1/1 files=1 size=162.56MB
| stored statistics:
| table: rows=1.50M size=162.56MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
| tuple-ids=1 row-size=171B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpch.lineitem]
partitions=1/1 files=1 size=718.94MB
runtime filters: RF000[bloom] -> l_orderkey
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=51.00MB Threads=5
Per-Host Resource Estimates: Memory=467MB
Analyzed query: SELECT * FROM tpch.lineitem INNER JOIN tpch.orders ON l_orderkey
= o_orderkey
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=11.20MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch.lineitem.l_orderkey, tpch.lineitem.l_partkey, tpch.lineitem.l_suppkey, tpch.lineitem.l_linenumber, tpch.lineitem.l_quantity, tpch.lineitem.l_extendedprice, tpch.lineitem.l_discount, tpch.lineitem.l_tax, tpch.lineitem.l_returnflag, tpch.lineitem.l_linestatus, tpch.lineitem.l_shipdate, tpch.lineitem.l_commitdate, tpch.lineitem.l_receiptdate, tpch.lineitem.l_shipinstruct, tpch.lineitem.l_shipmode, tpch.lineitem.l_comment, tpch.orders.o_orderkey, tpch.orders.o_custkey, tpch.orders.o_orderstatus, tpch.orders.o_totalprice, tpch.orders.o_orderdate, tpch.orders.o_orderpriority, tpch.orders.o_clerk, tpch.orders.o_shippriority, tpch.orders.o_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
04:EXCHANGE [UNPARTITIONED]
| mem-estimate=11.20MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1 row-size=402B cardinality=5.76M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=368.29MB mem-reservation=43.00MB thread-reservation=2 runtime-filters-memory=1.00MB
02:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: l_orderkey = o_orderkey
| fk/pk conjuncts: l_orderkey = o_orderkey
| runtime filters: RF000[bloom] <- o_orderkey
| mem-estimate=268.94MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=0,1 row-size=402B cardinality=5.76M
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--03:EXCHANGE [BROADCAST]
| | mem-estimate=10.34MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1 row-size=171B cardinality=1.50M
| | in pipelines: 01(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
| 01:SCAN HDFS [tpch.orders, RANDOM]
| partitions=1/1 files=1 size=162.56MB
| stored statistics:
| table: rows=1.50M size=162.56MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
| tuple-ids=1 row-size=171B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
runtime filters: RF000[bloom] -> l_orderkey
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=102.00MB Threads=5
Per-Host Resource Estimates: Memory=904MB
Analyzed query: SELECT * FROM tpch.lineitem INNER JOIN tpch.orders ON l_orderkey
= o_orderkey
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=12.40MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch.lineitem.l_orderkey, tpch.lineitem.l_partkey, tpch.lineitem.l_suppkey, tpch.lineitem.l_linenumber, tpch.lineitem.l_quantity, tpch.lineitem.l_extendedprice, tpch.lineitem.l_discount, tpch.lineitem.l_tax, tpch.lineitem.l_returnflag, tpch.lineitem.l_linestatus, tpch.lineitem.l_shipdate, tpch.lineitem.l_commitdate, tpch.lineitem.l_receiptdate, tpch.lineitem.l_shipinstruct, tpch.lineitem.l_shipmode, tpch.lineitem.l_comment, tpch.orders.o_orderkey, tpch.orders.o_custkey, tpch.orders.o_orderstatus, tpch.orders.o_totalprice, tpch.orders.o_orderdate, tpch.orders.o_orderpriority, tpch.orders.o_clerk, tpch.orders.o_shippriority, tpch.orders.o_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
04:EXCHANGE [UNPARTITIONED]
| mem-estimate=12.40MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1 row-size=402B cardinality=5.76M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=715.89MB mem-reservation=86.00MB thread-reservation=2 runtime-filters-memory=1.00MB
02:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=00
| hash predicates: l_orderkey = o_orderkey
| fk/pk conjuncts: l_orderkey = o_orderkey
| runtime filters: RF000[bloom] <- o_orderkey
| mem-estimate=268.94MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=0,1 row-size=402B cardinality=5.76M
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--F03:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
| | Per-Host Resources: included in parent fragment
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | build expressions: o_orderkey
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| |
| 03:EXCHANGE [BROADCAST]
| | mem-estimate=10.68MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1 row-size=171B cardinality=1.50M
| | in pipelines: 01(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
| Per-Host Resources: mem-estimate=176.00MB mem-reservation=16.00MB thread-reservation=2
| 01:SCAN HDFS [tpch.orders, RANDOM]
| partitions=1/1 files=1 size=162.56MB
| stored statistics:
| table: rows=1.50M size=162.56MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
| tuple-ids=1 row-size=171B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
runtime filters: RF000[bloom] -> l_orderkey
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# Shuffle Hash Join
select *
from tpch.lineitem inner join /* +shuffle */ tpch.orders on l_orderkey = o_orderkey
---- PLAN
Max Per-Host Resource Reservation: Memory=51.00MB Threads=3
Per-Host Resource Estimates: Memory=446MB
Analyzed query: SELECT * FROM tpch.lineitem INNER JOIN /* +shuffle */
tpch.orders ON l_orderkey = o_orderkey
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=445.94MB mem-reservation=51.00MB thread-reservation=3 runtime-filters-memory=1.00MB
PLAN-ROOT SINK
| output exprs: tpch.lineitem.l_orderkey, tpch.lineitem.l_partkey, tpch.lineitem.l_suppkey, tpch.lineitem.l_linenumber, tpch.lineitem.l_quantity, tpch.lineitem.l_extendedprice, tpch.lineitem.l_discount, tpch.lineitem.l_tax, tpch.lineitem.l_returnflag, tpch.lineitem.l_linestatus, tpch.lineitem.l_shipdate, tpch.lineitem.l_commitdate, tpch.lineitem.l_receiptdate, tpch.lineitem.l_shipinstruct, tpch.lineitem.l_shipmode, tpch.lineitem.l_comment, tpch.orders.o_orderkey, tpch.orders.o_custkey, tpch.orders.o_orderstatus, tpch.orders.o_totalprice, tpch.orders.o_orderdate, tpch.orders.o_orderpriority, tpch.orders.o_clerk, tpch.orders.o_shippriority, tpch.orders.o_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
02:HASH JOIN [INNER JOIN]
| hash predicates: l_orderkey = o_orderkey
| fk/pk conjuncts: l_orderkey = o_orderkey
| runtime filters: RF000[bloom] <- o_orderkey
| mem-estimate=268.94MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=0,1 row-size=402B cardinality=5.76M
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--01:SCAN HDFS [tpch.orders]
| partitions=1/1 files=1 size=162.56MB
| stored statistics:
| table: rows=1.50M size=162.56MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
| tuple-ids=1 row-size=171B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpch.lineitem]
partitions=1/1 files=1 size=718.94MB
runtime filters: RF000[bloom] -> l_orderkey
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=52.00MB Threads=6
Per-Host Resource Estimates: Memory=300MB
Analyzed query: SELECT * FROM tpch.lineitem INNER JOIN /* +shuffle */
tpch.orders ON l_orderkey = o_orderkey
F03:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=11.20MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch.lineitem.l_orderkey, tpch.lineitem.l_partkey, tpch.lineitem.l_suppkey, tpch.lineitem.l_linenumber, tpch.lineitem.l_quantity, tpch.lineitem.l_extendedprice, tpch.lineitem.l_discount, tpch.lineitem.l_tax, tpch.lineitem.l_returnflag, tpch.lineitem.l_linestatus, tpch.lineitem.l_shipdate, tpch.lineitem.l_commitdate, tpch.lineitem.l_receiptdate, tpch.lineitem.l_shipinstruct, tpch.lineitem.l_shipmode, tpch.lineitem.l_comment, tpch.orders.o_orderkey, tpch.orders.o_custkey, tpch.orders.o_orderstatus, tpch.orders.o_totalprice, tpch.orders.o_orderdate, tpch.orders.o_orderpriority, tpch.orders.o_clerk, tpch.orders.o_shippriority, tpch.orders.o_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
05:EXCHANGE [UNPARTITIONED]
| mem-estimate=11.20MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1 row-size=402B cardinality=5.76M
| in pipelines: 00(GETNEXT)
|
F02:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=3
Per-Host Resources: mem-estimate=111.68MB mem-reservation=35.00MB thread-reservation=1 runtime-filters-memory=1.00MB
02:HASH JOIN [INNER JOIN, PARTITIONED]
| hash predicates: l_orderkey = o_orderkey
| fk/pk conjuncts: l_orderkey = o_orderkey
| runtime filters: RF000[bloom] <- o_orderkey
| mem-estimate=89.65MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=0,1 row-size=402B cardinality=5.76M
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--04:EXCHANGE [HASH(o_orderkey)]
| | mem-estimate=10.34MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1 row-size=171B cardinality=1.50M
| | in pipelines: 01(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
| 01:SCAN HDFS [tpch.orders, RANDOM]
| partitions=1/1 files=1 size=162.56MB
| stored statistics:
| table: rows=1.50M size=162.56MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
| tuple-ids=1 row-size=171B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
03:EXCHANGE [HASH(l_orderkey)]
| mem-estimate=10.69MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=231B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=89.00MB mem-reservation=9.00MB thread-reservation=2 runtime-filters-memory=1.00MB
00:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
runtime filters: RF000[bloom] -> l_orderkey
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=104.00MB Threads=7
Per-Host Resource Estimates: Memory=481MB
Analyzed query: SELECT * FROM tpch.lineitem INNER JOIN /* +shuffle */
tpch.orders ON l_orderkey = o_orderkey
F03:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=12.40MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch.lineitem.l_orderkey, tpch.lineitem.l_partkey, tpch.lineitem.l_suppkey, tpch.lineitem.l_linenumber, tpch.lineitem.l_quantity, tpch.lineitem.l_extendedprice, tpch.lineitem.l_discount, tpch.lineitem.l_tax, tpch.lineitem.l_returnflag, tpch.lineitem.l_linestatus, tpch.lineitem.l_shipdate, tpch.lineitem.l_commitdate, tpch.lineitem.l_receiptdate, tpch.lineitem.l_shipinstruct, tpch.lineitem.l_shipmode, tpch.lineitem.l_comment, tpch.orders.o_orderkey, tpch.orders.o_custkey, tpch.orders.o_orderstatus, tpch.orders.o_totalprice, tpch.orders.o_orderdate, tpch.orders.o_orderpriority, tpch.orders.o_clerk, tpch.orders.o_shippriority, tpch.orders.o_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
05:EXCHANGE [UNPARTITIONED]
| mem-estimate=12.40MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1 row-size=402B cardinality=5.76M
| in pipelines: 00(GETNEXT)
|
F02:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=6
Per-Host Resources: mem-estimate=114.40MB mem-reservation=70.00MB thread-reservation=2 runtime-filters-memory=1.00MB
02:HASH JOIN [INNER JOIN, PARTITIONED]
| hash-table-id=00
| hash predicates: l_orderkey = o_orderkey
| fk/pk conjuncts: l_orderkey = o_orderkey
| runtime filters: RF000[bloom] <- o_orderkey
| mem-estimate=44.82MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=0,1 row-size=402B cardinality=5.76M
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--F04:PLAN FRAGMENT [HASH(l_orderkey)] hosts=2 instances=4
| | Per-Host Resources: included in parent fragment
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | build expressions: o_orderkey
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| |
| 04:EXCHANGE [HASH(o_orderkey)]
| | mem-estimate=10.68MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1 row-size=171B cardinality=1.50M
| | in pipelines: 01(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
| Per-Host Resources: mem-estimate=176.00MB mem-reservation=16.00MB thread-reservation=2
| 01:SCAN HDFS [tpch.orders, RANDOM]
| partitions=1/1 files=1 size=162.56MB
| stored statistics:
| table: rows=1.50M size=162.56MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
| tuple-ids=1 row-size=171B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
03:EXCHANGE [HASH(l_orderkey)]
| mem-estimate=11.38MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=231B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=178.00MB mem-reservation=18.00MB thread-reservation=2 runtime-filters-memory=1.00MB
00:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
runtime filters: RF000[bloom] -> l_orderkey
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# Nested loop join
select *
from tpch.lineitem, tpch.orders
---- PLAN
Max Per-Host Resource Reservation: Memory=16.00MB Threads=3
Per-Host Resource Estimates: Memory=420MB
Analyzed query: SELECT * FROM tpch.lineitem, tpch.orders
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=420.49MB mem-reservation=16.00MB thread-reservation=3
PLAN-ROOT SINK
| output exprs: tpch.lineitem.l_orderkey, tpch.lineitem.l_partkey, tpch.lineitem.l_suppkey, tpch.lineitem.l_linenumber, tpch.lineitem.l_quantity, tpch.lineitem.l_extendedprice, tpch.lineitem.l_discount, tpch.lineitem.l_tax, tpch.lineitem.l_returnflag, tpch.lineitem.l_linestatus, tpch.lineitem.l_shipdate, tpch.lineitem.l_commitdate, tpch.lineitem.l_receiptdate, tpch.lineitem.l_shipinstruct, tpch.lineitem.l_shipmode, tpch.lineitem.l_comment, tpch.orders.o_orderkey, tpch.orders.o_custkey, tpch.orders.o_orderstatus, tpch.orders.o_totalprice, tpch.orders.o_orderdate, tpch.orders.o_orderpriority, tpch.orders.o_clerk, tpch.orders.o_shippriority, tpch.orders.o_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
02:NESTED LOOP JOIN [CROSS JOIN]
| mem-estimate=244.49MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1 row-size=402B cardinality=9.00T
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--01:SCAN HDFS [tpch.orders]
| partitions=1/1 files=1 size=162.56MB
| stored statistics:
| table: rows=1.50M size=162.56MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
| tuple-ids=1 row-size=171B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpch.lineitem]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=16.00MB Threads=5
Per-Host Resource Estimates: Memory=442MB
Analyzed query: SELECT * FROM tpch.lineitem, tpch.orders
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=11.20MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch.lineitem.l_orderkey, tpch.lineitem.l_partkey, tpch.lineitem.l_suppkey, tpch.lineitem.l_linenumber, tpch.lineitem.l_quantity, tpch.lineitem.l_extendedprice, tpch.lineitem.l_discount, tpch.lineitem.l_tax, tpch.lineitem.l_returnflag, tpch.lineitem.l_linestatus, tpch.lineitem.l_shipdate, tpch.lineitem.l_commitdate, tpch.lineitem.l_receiptdate, tpch.lineitem.l_shipinstruct, tpch.lineitem.l_shipmode, tpch.lineitem.l_comment, tpch.orders.o_orderkey, tpch.orders.o_custkey, tpch.orders.o_orderstatus, tpch.orders.o_totalprice, tpch.orders.o_orderdate, tpch.orders.o_orderpriority, tpch.orders.o_clerk, tpch.orders.o_shippriority, tpch.orders.o_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
04:EXCHANGE [UNPARTITIONED]
| mem-estimate=11.20MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1 row-size=402B cardinality=9.00T
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=342.84MB mem-reservation=8.00MB thread-reservation=2
02:NESTED LOOP JOIN [CROSS JOIN, BROADCAST]
| mem-estimate=244.49MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1 row-size=402B cardinality=9.00T
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--03:EXCHANGE [BROADCAST]
| | mem-estimate=10.34MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1 row-size=171B cardinality=1.50M
| | in pipelines: 01(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
| Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
| 01:SCAN HDFS [tpch.orders, RANDOM]
| partitions=1/1 files=1 size=162.56MB
| stored statistics:
| table: rows=1.50M size=162.56MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
| tuple-ids=1 row-size=171B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=32.00MB Threads=5
Per-Host Resource Estimates: Memory=875MB
Analyzed query: SELECT * FROM tpch.lineitem, tpch.orders
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=12.40MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch.lineitem.l_orderkey, tpch.lineitem.l_partkey, tpch.lineitem.l_suppkey, tpch.lineitem.l_linenumber, tpch.lineitem.l_quantity, tpch.lineitem.l_extendedprice, tpch.lineitem.l_discount, tpch.lineitem.l_tax, tpch.lineitem.l_returnflag, tpch.lineitem.l_linestatus, tpch.lineitem.l_shipdate, tpch.lineitem.l_commitdate, tpch.lineitem.l_receiptdate, tpch.lineitem.l_shipinstruct, tpch.lineitem.l_shipmode, tpch.lineitem.l_comment, tpch.orders.o_orderkey, tpch.orders.o_custkey, tpch.orders.o_orderstatus, tpch.orders.o_totalprice, tpch.orders.o_orderdate, tpch.orders.o_orderpriority, tpch.orders.o_clerk, tpch.orders.o_shippriority, tpch.orders.o_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
04:EXCHANGE [UNPARTITIONED]
| mem-estimate=12.40MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1 row-size=402B cardinality=9.00T
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=686.35MB mem-reservation=16.00MB thread-reservation=2
02:NESTED LOOP JOIN [CROSS JOIN, BROADCAST]
| join table id: 00
| mem-estimate=244.49MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1 row-size=402B cardinality=9.00T
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--F03:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
| | Per-Host Resources: included in parent fragment
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| |
| 03:EXCHANGE [BROADCAST]
| | mem-estimate=10.68MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1 row-size=171B cardinality=1.50M
| | in pipelines: 01(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
| Per-Host Resources: mem-estimate=176.00MB mem-reservation=16.00MB thread-reservation=2
| 01:SCAN HDFS [tpch.orders, RANDOM]
| partitions=1/1 files=1 size=162.56MB
| stored statistics:
| table: rows=1.50M size=162.56MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
| tuple-ids=1 row-size=171B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# Empty set node
select * from functional.alltypes where 1 = 2
---- PLAN
Max Per-Host Resource Reservation: Memory=0B Threads=1
Per-Host Resource Estimates: Memory=10MB
Codegen disabled by planner
Analyzed query: SELECT * FROM functional.alltypes WHERE FALSE
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=0B mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: functional.alltypes.id, functional.alltypes.bool_col, functional.alltypes.tinyint_col, functional.alltypes.smallint_col, functional.alltypes.int_col, functional.alltypes.bigint_col, functional.alltypes.float_col, functional.alltypes.double_col, functional.alltypes.date_string_col, functional.alltypes.string_col, functional.alltypes.timestamp_col, functional.alltypes.year, functional.alltypes.month
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:EMPTYSET
mem-estimate=0B mem-reservation=0B thread-reservation=0
tuple-ids=0
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=0B Threads=1
Per-Host Resource Estimates: Memory=10MB
Codegen disabled by planner
Analyzed query: SELECT * FROM functional.alltypes WHERE FALSE
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=0B mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: functional.alltypes.id, functional.alltypes.bool_col, functional.alltypes.tinyint_col, functional.alltypes.smallint_col, functional.alltypes.int_col, functional.alltypes.bigint_col, functional.alltypes.float_col, functional.alltypes.double_col, functional.alltypes.date_string_col, functional.alltypes.string_col, functional.alltypes.timestamp_col, functional.alltypes.year, functional.alltypes.month
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:EMPTYSET
mem-estimate=0B mem-reservation=0B thread-reservation=0
tuple-ids=0
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=0B Threads=1
Per-Host Resource Estimates: Memory=10MB
Codegen disabled by planner
Analyzed query: SELECT * FROM functional.alltypes WHERE FALSE
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=0B mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: functional.alltypes.id, functional.alltypes.bool_col, functional.alltypes.tinyint_col, functional.alltypes.smallint_col, functional.alltypes.int_col, functional.alltypes.bigint_col, functional.alltypes.float_col, functional.alltypes.double_col, functional.alltypes.date_string_col, functional.alltypes.string_col, functional.alltypes.timestamp_col, functional.alltypes.year, functional.alltypes.month
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:EMPTYSET
mem-estimate=0B mem-reservation=0B thread-reservation=0
tuple-ids=0
in pipelines: 00(GETNEXT)
====
# Analytic function
select max(tinyint_col) over(partition by int_col)
from functional.alltypes
---- PLAN
Max Per-Host Resource Reservation: Memory=10.03MB Threads=2
Per-Host Resource Estimates: Memory=26MB
Codegen disabled by planner
Analyzed query: SELECT max(tinyint_col) OVER (PARTITION BY int_col) FROM
functional.alltypes
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=26.00MB mem-reservation=10.03MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: max(tinyint_col)
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
02:ANALYTIC
| functions: max(tinyint_col)
| partition by: int_col
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=3,2 row-size=6B cardinality=7.30K
| in pipelines: 01(GETNEXT)
|
01:SORT
| order by: int_col ASC NULLS FIRST
| mem-estimate=6.00MB mem-reservation=6.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=3 row-size=5B cardinality=7.30K
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [functional.alltypes]
partitions=24/24 files=24 size=478.45KB
stored statistics:
table: rows=7.30K size=478.45KB
partitions: 24/24 rows=7.30K
columns: all
extrapolated-rows=disabled max-scan-range-rows=310
mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=1
tuple-ids=0 row-size=5B cardinality=7.30K
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=10.03MB Threads=4
Per-Host Resource Estimates: Memory=26MB
Codegen disabled by planner
Analyzed query: SELECT max(tinyint_col) OVER (PARTITION BY int_col) FROM
functional.alltypes
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=56.26KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: max(tinyint_col)
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
04:EXCHANGE [UNPARTITIONED]
| mem-estimate=56.26KB mem-reservation=0B thread-reservation=0
| tuple-ids=3,2 row-size=6B cardinality=7.30K
| in pipelines: 01(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(int_col)] hosts=3 instances=3
Per-Host Resources: mem-estimate=10.04MB mem-reservation=10.00MB thread-reservation=1
02:ANALYTIC
| functions: max(tinyint_col)
| partition by: int_col
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=3,2 row-size=6B cardinality=7.30K
| in pipelines: 01(GETNEXT)
|
01:SORT
| order by: int_col ASC NULLS FIRST
| mem-estimate=6.00MB mem-reservation=6.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=3 row-size=5B cardinality=7.30K
| in pipelines: 01(GETNEXT), 00(OPEN)
|
03:EXCHANGE [HASH(int_col)]
| mem-estimate=38.88KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=5B cardinality=7.30K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=2
00:SCAN HDFS [functional.alltypes, RANDOM]
partitions=24/24 files=24 size=478.45KB
stored statistics:
table: rows=7.30K size=478.45KB
partitions: 24/24 rows=7.30K
columns: all
extrapolated-rows=disabled max-scan-range-rows=310
mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=1
tuple-ids=0 row-size=5B cardinality=7.30K
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=20.06MB Threads=5
Per-Host Resource Estimates: Memory=52MB
Codegen disabled by planner
Analyzed query: SELECT max(tinyint_col) OVER (PARTITION BY int_col) FROM
functional.alltypes
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=98.26KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: max(tinyint_col)
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
04:EXCHANGE [UNPARTITIONED]
| mem-estimate=98.26KB mem-reservation=0B thread-reservation=0
| tuple-ids=3,2 row-size=6B cardinality=7.30K
| in pipelines: 01(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(int_col)] hosts=3 instances=6
Per-Host Resources: mem-estimate=20.13MB mem-reservation=20.00MB thread-reservation=2
02:ANALYTIC
| functions: max(tinyint_col)
| partition by: int_col
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=3,2 row-size=6B cardinality=7.30K
| in pipelines: 01(GETNEXT)
|
01:SORT
| order by: int_col ASC NULLS FIRST
| mem-estimate=6.00MB mem-reservation=6.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=3 row-size=5B cardinality=7.30K
| in pipelines: 01(GETNEXT), 00(OPEN)
|
03:EXCHANGE [HASH(int_col)]
| mem-estimate=65.88KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=5B cardinality=7.30K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=32.00MB mem-reservation=64.00KB thread-reservation=2
00:SCAN HDFS [functional.alltypes, RANDOM]
partitions=24/24 files=24 size=478.45KB
stored statistics:
table: rows=7.30K size=478.45KB
partitions: 24/24 rows=7.30K
columns: all
extrapolated-rows=disabled max-scan-range-rows=310
mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=0
tuple-ids=0 row-size=5B cardinality=7.30K
in pipelines: 00(GETNEXT)
====
# Pipeline of blocking operators from analytic fns. Blocking operators break
# the pipeline so they do not all consume resources concurrently.
select *, row_number() over (order by o_totalprice) rnum_price,
row_number() over (order by o_orderdate) rnum_date,
row_number() over (order by o_orderpriority) rnum_priority
from tpch_parquet.orders
---- PLAN
Max Per-Host Resource Reservation: Memory=48.00MB Threads=2
Per-Host Resource Estimates: Memory=68MB
Analyzed query: SELECT *, row_number() OVER (ORDER BY o_totalprice ASC)
rnum_price, row_number() OVER (ORDER BY o_orderdate ASC) rnum_date, row_number()
OVER (ORDER BY o_orderpriority ASC) rnum_priority FROM tpch_parquet.orders
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=68.00MB mem-reservation=48.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: o_orderkey, o_custkey, o_orderstatus, o_totalprice, o_orderdate, o_orderpriority, o_clerk, o_shippriority, o_comment, row_number(), row_number(), row_number()
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
06:ANALYTIC
| functions: row_number()
| order by: o_orderpriority ASC
| window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=10,5 row-size=195B cardinality=1.50M
| in pipelines: 05(GETNEXT)
|
05:SORT
| order by: o_orderpriority ASC
| mem-estimate=18.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=10 row-size=187B cardinality=1.50M
| in pipelines: 05(GETNEXT), 03(OPEN)
|
04:ANALYTIC
| functions: row_number()
| order by: o_orderdate ASC
| window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=8,4 row-size=187B cardinality=1.50M
| in pipelines: 03(GETNEXT)
|
03:SORT
| order by: o_orderdate ASC
| mem-estimate=16.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=8 row-size=179B cardinality=1.50M
| in pipelines: 03(GETNEXT), 01(OPEN)
|
02:ANALYTIC
| functions: row_number()
| order by: o_totalprice ASC
| window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=6,3 row-size=179B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
01:SORT
| order by: o_totalprice ASC
| mem-estimate=16.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=6 row-size=171B cardinality=1.50M
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.orders]
partitions=1/1 files=2 size=54.07MB
stored statistics:
table: rows=1.50M size=54.07MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.18M
mem-estimate=40.00MB mem-reservation=24.00MB thread-reservation=1
tuple-ids=0 row-size=171B cardinality=1.50M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=68.00MB Threads=3
Per-Host Resource Estimates: Memory=104MB
Analyzed query: SELECT *, row_number() OVER (ORDER BY o_totalprice ASC)
rnum_price, row_number() OVER (ORDER BY o_orderdate ASC) rnum_date, row_number()
OVER (ORDER BY o_orderpriority ASC) rnum_priority FROM tpch_parquet.orders
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=48.34MB mem-reservation=32.00MB thread-reservation=1
PLAN-ROOT SINK
| output exprs: o_orderkey, o_custkey, o_orderstatus, o_totalprice, o_orderdate, o_orderpriority, o_clerk, o_shippriority, o_comment, row_number(), row_number(), row_number()
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
06:ANALYTIC
| functions: row_number()
| order by: o_orderpriority ASC
| window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=10,5 row-size=195B cardinality=1.50M
| in pipelines: 05(GETNEXT)
|
05:SORT
| order by: o_orderpriority ASC
| mem-estimate=18.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=10 row-size=187B cardinality=1.50M
| in pipelines: 05(GETNEXT), 03(OPEN)
|
04:ANALYTIC
| functions: row_number()
| order by: o_orderdate ASC
| window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=8,4 row-size=187B cardinality=1.50M
| in pipelines: 03(GETNEXT)
|
03:SORT
| order by: o_orderdate ASC
| mem-estimate=16.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=8 row-size=179B cardinality=1.50M
| in pipelines: 03(GETNEXT), 01(OPEN)
|
02:ANALYTIC
| functions: row_number()
| order by: o_totalprice ASC
| window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=6,3 row-size=179B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
07:MERGING-EXCHANGE [UNPARTITIONED]
| order by: o_totalprice ASC
| mem-estimate=20.34MB mem-reservation=0B thread-reservation=0
| tuple-ids=6 row-size=171B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
Per-Host Resources: mem-estimate=56.00MB mem-reservation=36.00MB thread-reservation=2
01:SORT
| order by: o_totalprice ASC
| mem-estimate=16.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=6 row-size=171B cardinality=1.50M
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.orders, RANDOM]
partitions=1/1 files=2 size=54.07MB
stored statistics:
table: rows=1.50M size=54.07MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.18M
mem-estimate=40.00MB mem-reservation=24.00MB thread-reservation=1
tuple-ids=0 row-size=171B cardinality=1.50M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=104.00MB Threads=3
Per-Host Resource Estimates: Memory=181MB
Analyzed query: SELECT *, row_number() OVER (ORDER BY o_totalprice ASC)
rnum_price, row_number() OVER (ORDER BY o_orderdate ASC) rnum_date, row_number()
OVER (ORDER BY o_orderpriority ASC) rnum_priority FROM tpch_parquet.orders
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=68.68MB mem-reservation=32.00MB thread-reservation=1
PLAN-ROOT SINK
| output exprs: o_orderkey, o_custkey, o_orderstatus, o_totalprice, o_orderdate, o_orderpriority, o_clerk, o_shippriority, o_comment, row_number(), row_number(), row_number()
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
06:ANALYTIC
| functions: row_number()
| order by: o_orderpriority ASC
| window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=10,5 row-size=195B cardinality=1.50M
| in pipelines: 05(GETNEXT)
|
05:SORT
| order by: o_orderpriority ASC
| mem-estimate=18.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=10 row-size=187B cardinality=1.50M
| in pipelines: 05(GETNEXT), 03(OPEN)
|
04:ANALYTIC
| functions: row_number()
| order by: o_orderdate ASC
| window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=8,4 row-size=187B cardinality=1.50M
| in pipelines: 03(GETNEXT)
|
03:SORT
| order by: o_orderdate ASC
| mem-estimate=16.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=8 row-size=179B cardinality=1.50M
| in pipelines: 03(GETNEXT), 01(OPEN)
|
02:ANALYTIC
| functions: row_number()
| order by: o_totalprice ASC
| window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=6,3 row-size=179B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
07:MERGING-EXCHANGE [UNPARTITIONED]
| order by: o_totalprice ASC
| mem-estimate=40.68MB mem-reservation=0B thread-reservation=0
| tuple-ids=6 row-size=171B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
Per-Host Resources: mem-estimate=112.00MB mem-reservation=72.00MB thread-reservation=2
01:SORT
| order by: o_totalprice ASC
| mem-estimate=16.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=6 row-size=171B cardinality=1.50M
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.orders, RANDOM]
partitions=1/1 files=2 size=54.07MB
stored statistics:
table: rows=1.50M size=54.07MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.18M
mem-estimate=40.00MB mem-reservation=24.00MB thread-reservation=0
tuple-ids=0 row-size=171B cardinality=1.50M
in pipelines: 00(GETNEXT)
====
# Union with non-trivial branches: each branch executes sequentially within fragment.
select distinct l_orderkey, l_partkey, l_suppkey, l_linenumber, l_comment
from tpch_parquet.lineitem join tpch_parquet.orders on l_orderkey = o_orderkey
where l_tax > 10
union all
select l_orderkey, l_partkey, l_suppkey, l_linenumber, l_comment
from tpch_parquet.lineitem join tpch_parquet.orders on l_orderkey = o_orderkey
where o_orderpriority = '2-HIGH'
union all
select l_orderkey, l_partkey, l_suppkey, l_linenumber, l_comment
from tpch_parquet.lineitem join tpch_parquet.orders on l_orderkey = o_orderkey
where l_shipmode = 'F'
---- PLAN
Max Per-Host Resource Reservation: Memory=78.00MB Threads=3
Per-Host Resource Estimates: Memory=140MB
Analyzed query: SELECT DISTINCT l_orderkey, l_partkey, l_suppkey, l_linenumber,
l_comment FROM tpch_parquet.lineitem INNER JOIN tpch_parquet.orders ON
l_orderkey = o_orderkey WHERE l_tax > CAST(10 AS DECIMAL(3,0)) UNION ALL SELECT
l_orderkey, l_partkey, l_suppkey, l_linenumber, l_comment FROM
tpch_parquet.lineitem INNER JOIN tpch_parquet.orders ON l_orderkey = o_orderkey
WHERE o_orderpriority = '2-HIGH' UNION ALL SELECT l_orderkey, l_partkey,
l_suppkey, l_linenumber, l_comment FROM tpch_parquet.lineitem INNER JOIN
tpch_parquet.orders ON l_orderkey = o_orderkey WHERE l_shipmode = 'F'
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=140.16MB mem-reservation=78.00MB thread-reservation=3 runtime-filters-memory=3.00MB
PLAN-ROOT SINK
| output exprs: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:UNION
| pass-through-operands: 04
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=7 row-size=66B cardinality=2.55M
| in pipelines: 04(GETNEXT), 05(GETNEXT), 08(GETNEXT)
|
|--10:HASH JOIN [INNER JOIN]
| | hash predicates: l_orderkey = o_orderkey
| | fk/pk conjuncts: l_orderkey = o_orderkey
| | runtime filters: RF004[bloom] <- o_orderkey
| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| | tuple-ids=5,6 row-size=91B cardinality=822.53K
| | in pipelines: 08(GETNEXT), 09(OPEN)
| |
| |--09:SCAN HDFS [tpch_parquet.orders]
| | partitions=1/1 files=2 size=54.07MB
| | stored statistics:
| | table: rows=1.50M size=54.07MB
| | columns: all
| | extrapolated-rows=disabled max-scan-range-rows=1.18M
| | mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=1
| | tuple-ids=6 row-size=8B cardinality=1.50M
| | in pipelines: 09(GETNEXT)
| |
| 08:SCAN HDFS [tpch_parquet.lineitem]
| partitions=1/1 files=3 size=193.60MB
| predicates: l_shipmode = 'F'
| runtime filters: RF004[bloom] -> l_orderkey
| stored statistics:
| table: rows=6.00M size=193.59MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=2.14M
| parquet statistics predicates: l_shipmode = 'F'
| parquet dictionary predicates: l_shipmode = 'F'
| mem-estimate=80.00MB mem-reservation=24.00MB thread-reservation=1
| tuple-ids=5 row-size=83B cardinality=857.32K
| in pipelines: 08(GETNEXT)
|
|--07:HASH JOIN [INNER JOIN]
| | hash predicates: l_orderkey = o_orderkey
| | fk/pk conjuncts: l_orderkey = o_orderkey
| | runtime filters: RF002[bloom] <- o_orderkey
| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| | tuple-ids=3,4 row-size=95B cardinality=1.15M
| | in pipelines: 05(GETNEXT), 06(OPEN)
| |
| |--06:SCAN HDFS [tpch_parquet.orders]
| | partitions=1/1 files=2 size=54.07MB
| | predicates: o_orderpriority = '2-HIGH'
| | stored statistics:
| | table: rows=1.50M size=54.07MB
| | columns: all
| | extrapolated-rows=disabled max-scan-range-rows=1.18M
| | parquet statistics predicates: o_orderpriority = '2-HIGH'
| | parquet dictionary predicates: o_orderpriority = '2-HIGH'
| | mem-estimate=40.00MB mem-reservation=8.00MB thread-reservation=1
| | tuple-ids=4 row-size=28B cardinality=300.00K
| | in pipelines: 06(GETNEXT)
| |
| 05:SCAN HDFS [tpch_parquet.lineitem]
| partitions=1/1 files=3 size=193.60MB
| runtime filters: RF002[bloom] -> l_orderkey
| stored statistics:
| table: rows=6.00M size=193.59MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=2.14M
| mem-estimate=80.00MB mem-reservation=24.00MB thread-reservation=1
| tuple-ids=3 row-size=66B cardinality=6.00M
| in pipelines: 05(GETNEXT)
|
04:AGGREGATE [FINALIZE]
| group by: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_comment
| mem-estimate=40.16MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=2 row-size=66B cardinality=575.77K
| in pipelines: 04(GETNEXT), 01(OPEN)
|
03:HASH JOIN [INNER JOIN]
| hash predicates: l_orderkey = o_orderkey
| fk/pk conjuncts: l_orderkey = o_orderkey
| runtime filters: RF000[bloom] <- o_orderkey
| mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| tuple-ids=0,1 row-size=82B cardinality=575.77K
| in pipelines: 01(GETNEXT), 02(OPEN)
|
|--02:SCAN HDFS [tpch_parquet.orders]
| partitions=1/1 files=2 size=54.07MB
| stored statistics:
| table: rows=1.50M size=54.07MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=1
| tuple-ids=1 row-size=8B cardinality=1.50M
| in pipelines: 02(GETNEXT)
|
01:SCAN HDFS [tpch_parquet.lineitem]
partitions=1/1 files=3 size=193.60MB
predicates: l_tax > CAST(10 AS DECIMAL(3,0))
runtime filters: RF000[bloom] -> l_orderkey
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
parquet statistics predicates: l_tax > CAST(10 AS DECIMAL(3,0))
parquet dictionary predicates: l_tax > CAST(10 AS DECIMAL(3,0))
mem-estimate=80.00MB mem-reservation=24.00MB thread-reservation=1
tuple-ids=0 row-size=74B cardinality=600.12K
in pipelines: 01(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=123.75MB Threads=12
Per-Host Resource Estimates: Memory=376MB
Analyzed query: SELECT DISTINCT l_orderkey, l_partkey, l_suppkey, l_linenumber,
l_comment FROM tpch_parquet.lineitem INNER JOIN tpch_parquet.orders ON
l_orderkey = o_orderkey WHERE l_tax > CAST(10 AS DECIMAL(3,0)) UNION ALL SELECT
l_orderkey, l_partkey, l_suppkey, l_linenumber, l_comment FROM
tpch_parquet.lineitem INNER JOIN tpch_parquet.orders ON l_orderkey = o_orderkey
WHERE o_orderpriority = '2-HIGH' UNION ALL SELECT l_orderkey, l_partkey,
l_suppkey, l_linenumber, l_comment FROM tpch_parquet.lineitem INNER JOIN
tpch_parquet.orders ON l_orderkey = o_orderkey WHERE l_shipmode = 'F'
F09:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.21MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
17:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.21MB mem-reservation=0B thread-reservation=0
| tuple-ids=7 row-size=66B cardinality=2.55M
| in pipelines: 14(GETNEXT), 05(GETNEXT), 08(GETNEXT)
|
F08:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=109.02MB mem-reservation=43.00MB thread-reservation=2 runtime-filters-memory=2.00MB
00:UNION
| pass-through-operands: 14
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=7 row-size=66B cardinality=2.55M
| in pipelines: 14(GETNEXT), 05(GETNEXT), 08(GETNEXT)
|
|--10:HASH JOIN [INNER JOIN, BROADCAST]
| | hash predicates: l_orderkey = o_orderkey
| | fk/pk conjuncts: l_orderkey = o_orderkey
| | runtime filters: RF004[bloom] <- o_orderkey
| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| | tuple-ids=5,6 row-size=91B cardinality=822.53K
| | in pipelines: 08(GETNEXT), 09(OPEN)
| |
| |--16:EXCHANGE [BROADCAST]
| | | mem-estimate=10.02MB mem-reservation=0B thread-reservation=0
| | | tuple-ids=6 row-size=8B cardinality=1.50M
| | | in pipelines: 09(GETNEXT)
| | |
| | F07:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
| | Per-Host Resources: mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=2
| | 09:SCAN HDFS [tpch_parquet.orders, RANDOM]
| | partitions=1/1 files=2 size=54.07MB
| | stored statistics:
| | table: rows=1.50M size=54.07MB
| | columns: all
| | extrapolated-rows=disabled max-scan-range-rows=1.18M
| | mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=1
| | tuple-ids=6 row-size=8B cardinality=1.50M
| | in pipelines: 09(GETNEXT)
| |
| 08:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
| partitions=1/1 files=3 size=193.60MB
| predicates: l_shipmode = 'F'
| runtime filters: RF004[bloom] -> l_orderkey
| stored statistics:
| table: rows=6.00M size=193.59MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=2.14M
| parquet statistics predicates: l_shipmode = 'F'
| parquet dictionary predicates: l_shipmode = 'F'
| mem-estimate=80.00MB mem-reservation=24.00MB thread-reservation=1
| tuple-ids=5 row-size=83B cardinality=857.32K
| in pipelines: 08(GETNEXT)
|
|--07:HASH JOIN [INNER JOIN, BROADCAST]
| | hash predicates: l_orderkey = o_orderkey
| | fk/pk conjuncts: l_orderkey = o_orderkey
| | runtime filters: RF002[bloom] <- o_orderkey
| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| | tuple-ids=3,4 row-size=95B cardinality=1.15M
| | in pipelines: 05(GETNEXT), 06(OPEN)
| |
| |--15:EXCHANGE [BROADCAST]
| | | mem-estimate=8.19MB mem-reservation=0B thread-reservation=0
| | | tuple-ids=4 row-size=28B cardinality=300.00K
| | | in pipelines: 06(GETNEXT)
| | |
| | F05:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
| | Per-Host Resources: mem-estimate=40.00MB mem-reservation=8.00MB thread-reservation=2
| | 06:SCAN HDFS [tpch_parquet.orders, RANDOM]
| | partitions=1/1 files=2 size=54.07MB
| | predicates: o_orderpriority = '2-HIGH'
| | stored statistics:
| | table: rows=1.50M size=54.07MB
| | columns: all
| | extrapolated-rows=disabled max-scan-range-rows=1.18M
| | parquet statistics predicates: o_orderpriority = '2-HIGH'
| | parquet dictionary predicates: o_orderpriority = '2-HIGH'
| | mem-estimate=40.00MB mem-reservation=8.00MB thread-reservation=1
| | tuple-ids=4 row-size=28B cardinality=300.00K
| | in pipelines: 06(GETNEXT)
| |
| 05:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
| partitions=1/1 files=3 size=193.60MB
| runtime filters: RF002[bloom] -> l_orderkey
| stored statistics:
| table: rows=6.00M size=193.59MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=2.14M
| mem-estimate=80.00MB mem-reservation=24.00MB thread-reservation=1
| tuple-ids=3 row-size=66B cardinality=6.00M
| in pipelines: 05(GETNEXT)
|
14:AGGREGATE [FINALIZE]
| group by: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_comment
| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=2 row-size=66B cardinality=575.77K
| in pipelines: 14(GETNEXT), 01(OPEN)
|
13:EXCHANGE [HASH(l_orderkey,l_partkey,l_suppkey,l_linenumber,l_comment)]
| mem-estimate=10.21MB mem-reservation=0B thread-reservation=0
| tuple-ids=2 row-size=66B cardinality=575.77K
| in pipelines: 01(GETNEXT)
|
F02:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=3
Per-Host Resources: mem-estimate=55.73MB mem-reservation=39.75MB thread-reservation=1 runtime-filters-memory=1.00MB
04:AGGREGATE [STREAMING]
| group by: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_comment
| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=2 row-size=66B cardinality=575.77K
| in pipelines: 01(GETNEXT)
|
03:HASH JOIN [INNER JOIN, PARTITIONED]
| hash predicates: l_orderkey = o_orderkey
| fk/pk conjuncts: l_orderkey = o_orderkey
| runtime filters: RF000[bloom] <- o_orderkey
| mem-estimate=4.75MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| tuple-ids=0,1 row-size=82B cardinality=575.77K
| in pipelines: 01(GETNEXT), 02(OPEN)
|
|--12:EXCHANGE [HASH(o_orderkey)]
| | mem-estimate=5.75MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1 row-size=8B cardinality=1.50M
| | in pipelines: 02(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
| Per-Host Resources: mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=2
| 02:SCAN HDFS [tpch_parquet.orders, RANDOM]
| partitions=1/1 files=2 size=54.07MB
| stored statistics:
| table: rows=1.50M size=54.07MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=1
| tuple-ids=1 row-size=8B cardinality=1.50M
| in pipelines: 02(GETNEXT)
|
11:EXCHANGE [HASH(l_orderkey)]
| mem-estimate=10.23MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=74B cardinality=600.12K
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=81.00MB mem-reservation=25.00MB thread-reservation=2 runtime-filters-memory=1.00MB
01:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
partitions=1/1 files=3 size=193.60MB
predicates: l_tax > CAST(10 AS DECIMAL(3,0))
runtime filters: RF000[bloom] -> l_orderkey
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
parquet statistics predicates: l_tax > CAST(10 AS DECIMAL(3,0))
parquet dictionary predicates: l_tax > CAST(10 AS DECIMAL(3,0))
mem-estimate=80.00MB mem-reservation=24.00MB thread-reservation=1
tuple-ids=0 row-size=74B cardinality=600.12K
in pipelines: 01(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=209.75MB Threads=13
Per-Host Resource Estimates: Memory=673MB
Analyzed query: SELECT DISTINCT l_orderkey, l_partkey, l_suppkey, l_linenumber,
l_comment FROM tpch_parquet.lineitem INNER JOIN tpch_parquet.orders ON
l_orderkey = o_orderkey WHERE l_tax > CAST(10 AS DECIMAL(3,0)) UNION ALL SELECT
l_orderkey, l_partkey, l_suppkey, l_linenumber, l_comment FROM
tpch_parquet.lineitem INNER JOIN tpch_parquet.orders ON l_orderkey = o_orderkey
WHERE o_orderpriority = '2-HIGH' UNION ALL SELECT l_orderkey, l_partkey,
l_suppkey, l_linenumber, l_comment FROM tpch_parquet.lineitem INNER JOIN
tpch_parquet.orders ON l_orderkey = o_orderkey WHERE l_shipmode = 'F'
F09:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.41MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
17:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.41MB mem-reservation=0B thread-reservation=0
| tuple-ids=7 row-size=66B cardinality=2.55M
| in pipelines: 14(GETNEXT), 05(GETNEXT), 08(GETNEXT)
|
F08:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=198.00MB mem-reservation=86.00MB thread-reservation=2 runtime-filters-memory=2.00MB
00:UNION
| pass-through-operands: 14
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=7 row-size=66B cardinality=2.55M
| in pipelines: 14(GETNEXT), 05(GETNEXT), 08(GETNEXT)
|
|--10:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=01
| | hash predicates: l_orderkey = o_orderkey
| | fk/pk conjuncts: l_orderkey = o_orderkey
| | runtime filters: RF004[bloom] <- o_orderkey
| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| | tuple-ids=5,6 row-size=91B cardinality=822.53K
| | in pipelines: 08(GETNEXT), 09(OPEN)
| |
| |--F11:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
| | | Per-Host Resources: included in parent fragment
| | JOIN BUILD
| | | join-table-id=01 plan-id=02 cohort-id=01
| | | build expressions: o_orderkey
| | | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | |
| | 16:EXCHANGE [BROADCAST]
| | | mem-estimate=10.05MB mem-reservation=0B thread-reservation=0
| | | tuple-ids=6 row-size=8B cardinality=1.50M
| | | in pipelines: 09(GETNEXT)
| | |
| | F07:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
| | Per-Host Resources: mem-estimate=80.00MB mem-reservation=8.00MB thread-reservation=2
| | 09:SCAN HDFS [tpch_parquet.orders, RANDOM]
| | partitions=1/1 files=2 size=54.07MB
| | stored statistics:
| | table: rows=1.50M size=54.07MB
| | columns: all
| | extrapolated-rows=disabled max-scan-range-rows=1.18M
| | mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=0
| | tuple-ids=6 row-size=8B cardinality=1.50M
| | in pipelines: 09(GETNEXT)
| |
| 08:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
| partitions=1/1 files=3 size=193.60MB
| predicates: l_shipmode = 'F'
| runtime filters: RF004[bloom] -> l_orderkey
| stored statistics:
| table: rows=6.00M size=193.59MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=2.14M
| parquet statistics predicates: l_shipmode = 'F'
| parquet dictionary predicates: l_shipmode = 'F'
| mem-estimate=80.00MB mem-reservation=24.00MB thread-reservation=0
| tuple-ids=5 row-size=83B cardinality=857.32K
| in pipelines: 08(GETNEXT)
|
|--07:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=00
| | hash predicates: l_orderkey = o_orderkey
| | fk/pk conjuncts: l_orderkey = o_orderkey
| | runtime filters: RF002[bloom] <- o_orderkey
| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| | tuple-ids=3,4 row-size=95B cardinality=1.15M
| | in pipelines: 05(GETNEXT), 06(OPEN)
| |
| |--F10:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
| | | Per-Host Resources: included in parent fragment
| | JOIN BUILD
| | | join-table-id=00 plan-id=01 cohort-id=01
| | | build expressions: o_orderkey
| | | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | |
| | 15:EXCHANGE [BROADCAST]
| | | mem-estimate=8.25MB mem-reservation=0B thread-reservation=0
| | | tuple-ids=4 row-size=28B cardinality=300.00K
| | | in pipelines: 06(GETNEXT)
| | |
| | F05:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
| | Per-Host Resources: mem-estimate=80.00MB mem-reservation=16.00MB thread-reservation=2
| | 06:SCAN HDFS [tpch_parquet.orders, RANDOM]
| | partitions=1/1 files=2 size=54.07MB
| | predicates: o_orderpriority = '2-HIGH'
| | stored statistics:
| | table: rows=1.50M size=54.07MB
| | columns: all
| | extrapolated-rows=disabled max-scan-range-rows=1.18M
| | parquet statistics predicates: o_orderpriority = '2-HIGH'
| | parquet dictionary predicates: o_orderpriority = '2-HIGH'
| | mem-estimate=40.00MB mem-reservation=8.00MB thread-reservation=0
| | tuple-ids=4 row-size=28B cardinality=300.00K
| | in pipelines: 06(GETNEXT)
| |
| 05:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
| partitions=1/1 files=3 size=193.60MB
| runtime filters: RF002[bloom] -> l_orderkey
| stored statistics:
| table: rows=6.00M size=193.59MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=2.14M
| mem-estimate=80.00MB mem-reservation=24.00MB thread-reservation=0
| tuple-ids=3 row-size=66B cardinality=6.00M
| in pipelines: 05(GETNEXT)
|
14:AGGREGATE [FINALIZE]
| group by: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_comment
| mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| tuple-ids=2 row-size=66B cardinality=575.77K
| in pipelines: 14(GETNEXT), 01(OPEN)
|
13:EXCHANGE [HASH(l_orderkey,l_partkey,l_suppkey,l_linenumber,l_comment)]
| mem-estimate=10.41MB mem-reservation=0B thread-reservation=0
| tuple-ids=2 row-size=66B cardinality=575.77K
| in pipelines: 01(GETNEXT)
|
F02:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=6
Per-Host Resources: mem-estimate=62.67MB mem-reservation=41.75MB thread-reservation=2 runtime-filters-memory=1.00MB
04:AGGREGATE [STREAMING]
| group by: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_comment
| mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| tuple-ids=2 row-size=66B cardinality=575.77K
| in pipelines: 01(GETNEXT)
|
03:HASH JOIN [INNER JOIN, PARTITIONED]
| hash-table-id=02
| hash predicates: l_orderkey = o_orderkey
| fk/pk conjuncts: l_orderkey = o_orderkey
| runtime filters: RF000[bloom] <- o_orderkey
| mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
| tuple-ids=0,1 row-size=82B cardinality=575.77K
| in pipelines: 01(GETNEXT), 02(OPEN)
|
|--F12:PLAN FRAGMENT [HASH(l_orderkey)] hosts=2 instances=4
| | Per-Host Resources: included in parent fragment
| JOIN BUILD
| | join-table-id=02 plan-id=03 cohort-id=01
| | build expressions: o_orderkey
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| |
| 12:EXCHANGE [HASH(o_orderkey)]
| | mem-estimate=5.77MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1 row-size=8B cardinality=1.50M
| | in pipelines: 02(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
| Per-Host Resources: mem-estimate=80.00MB mem-reservation=8.00MB thread-reservation=2
| 02:SCAN HDFS [tpch_parquet.orders, RANDOM]
| partitions=1/1 files=2 size=54.07MB
| stored statistics:
| table: rows=1.50M size=54.07MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1.50M
| in pipelines: 02(GETNEXT)
|
11:EXCHANGE [HASH(l_orderkey)]
| mem-estimate=10.46MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=74B cardinality=600.12K
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=162.00MB mem-reservation=50.00MB thread-reservation=2 runtime-filters-memory=1.00MB
01:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
partitions=1/1 files=3 size=193.60MB
predicates: l_tax > CAST(10 AS DECIMAL(3,0))
runtime filters: RF000[bloom] -> l_orderkey
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
parquet statistics predicates: l_tax > CAST(10 AS DECIMAL(3,0))
parquet dictionary predicates: l_tax > CAST(10 AS DECIMAL(3,0))
mem-estimate=80.00MB mem-reservation=24.00MB thread-reservation=0
tuple-ids=0 row-size=74B cardinality=600.12K
in pipelines: 01(GETNEXT)
====
# TPC-H Q18: Pipeline of joins with some non-trivial subtrees on right side of joins
select
c_name,
c_custkey,
o_orderkey,
o_orderdate,
o_totalprice,
sum(l_quantity)
from
tpch.customer,
tpch.orders,
tpch.lineitem
where
o_orderkey in (
select
l_orderkey
from
tpch.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=111.50MB Threads=5
Per-Host Resource Estimates: Memory=419MB
Analyzed query: SELECT c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice,
sum(l_quantity) FROM tpch.customer, tpch.orders, tpch.lineitem LEFT SEMI JOIN
(SELECT l_orderkey FROM tpch.lineitem GROUP BY l_orderkey HAVING sum(l_quantity)
> CAST(300 AS DECIMAL(5,0))) `$a$1` (`$c$1`) ON o_orderkey = `$a$1`.`$c$1` WHERE
TRUE 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 ASC LIMIT CAST(100 AS TINYINT)
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=419.25MB mem-reservation=111.50MB thread-reservation=5 runtime-filters-memory=3.00MB
PLAN-ROOT SINK
| output exprs: c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice, sum(l_quantity)
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
09:TOP-N [LIMIT=100]
| order by: o_totalprice DESC, o_orderdate ASC
| mem-estimate=8.98KB mem-reservation=0B thread-reservation=0
| tuple-ids=7 row-size=92B cardinality=100
| in pipelines: 09(GETNEXT), 08(OPEN)
|
08:AGGREGATE [FINALIZE]
| output: sum(l_quantity)
| group by: c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice
| mem-estimate=57.92MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=6 row-size=92B cardinality=600.12K
| in pipelines: 08(GETNEXT), 02(OPEN)
|
07:HASH JOIN [LEFT SEMI JOIN]
| hash predicates: o_orderkey = l_orderkey
| runtime filters: RF000[bloom] <- l_orderkey
| mem-estimate=4.75MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| tuple-ids=2,1,0 row-size=100B cardinality=600.12K
| in pipelines: 02(GETNEXT), 04(OPEN)
|
|--04:AGGREGATE [FINALIZE]
| | output: sum(l_quantity)
| | group by: l_orderkey
| | having: sum(l_quantity) > CAST(300 AS DECIMAL(5,0))
| | mem-estimate=39.36MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=4 row-size=24B cardinality=156.34K
| | in pipelines: 04(GETNEXT), 03(OPEN)
| |
| 03:SCAN HDFS [tpch.lineitem]
| partitions=1/1 files=1 size=718.94MB
| stored statistics:
| table: rows=6.00M size=718.94MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.07M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
| tuple-ids=3 row-size=16B cardinality=6.00M
| in pipelines: 03(GETNEXT)
|
06:HASH JOIN [INNER JOIN]
| hash predicates: o_custkey = c_custkey
| fk/pk conjuncts: o_custkey = c_custkey
| runtime filters: RF002[bloom] <- c_custkey
| mem-estimate=8.50MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
| tuple-ids=2,1,0 row-size=100B cardinality=5.76M
| in pipelines: 02(GETNEXT), 00(OPEN)
|
|--00:SCAN HDFS [tpch.customer]
| partitions=1/1 files=1 size=23.08MB
| stored statistics:
| table: rows=150.00K size=23.08MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=150.00K
| mem-estimate=32.00MB mem-reservation=8.00MB thread-reservation=1
| tuple-ids=0 row-size=38B cardinality=150.00K
| in pipelines: 00(GETNEXT)
|
05:HASH JOIN [INNER JOIN]
| hash predicates: l_orderkey = o_orderkey
| fk/pk conjuncts: l_orderkey = o_orderkey
| runtime filters: RF004[bloom] <- o_orderkey
| mem-estimate=72.38MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=2,1 row-size=62B cardinality=5.76M
| in pipelines: 02(GETNEXT), 01(OPEN)
|
|--01:SCAN HDFS [tpch.orders]
| partitions=1/1 files=1 size=162.56MB
| runtime filters: RF000[bloom] -> o_orderkey, RF002[bloom] -> o_custkey
| stored statistics:
| table: rows=1.50M size=162.56MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
| tuple-ids=1 row-size=46B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
02:SCAN HDFS [tpch.lineitem]
partitions=1/1 files=1 size=718.94MB
runtime filters: RF000[bloom] -> tpch.lineitem.l_orderkey, RF004[bloom] -> l_orderkey
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=2 row-size=16B cardinality=6.00M
in pipelines: 02(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=220.38MB Threads=11
Per-Host Resource Estimates: Memory=533MB
Analyzed query: SELECT c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice,
sum(l_quantity) FROM tpch.customer, tpch.orders, tpch.lineitem LEFT SEMI JOIN
(SELECT l_orderkey FROM tpch.lineitem GROUP BY l_orderkey HAVING sum(l_quantity)
> CAST(300 AS DECIMAL(5,0))) `$a$1` (`$c$1`) ON o_orderkey = `$a$1`.`$c$1` WHERE
TRUE 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 ASC LIMIT CAST(100 AS TINYINT)
F07:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=31.12KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice, sum(l_quantity)
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
17:MERGING-EXCHANGE [UNPARTITIONED]
| order by: o_totalprice DESC, o_orderdate ASC
| limit: 100
| mem-estimate=31.12KB mem-reservation=0B thread-reservation=0
| tuple-ids=7 row-size=92B cardinality=100
| in pipelines: 09(GETNEXT)
|
F06:PLAN FRAGMENT [HASH(c_name,c_custkey,o_orderkey,o_orderdate,o_totalprice)] hosts=3 instances=3
Per-Host Resources: mem-estimate=44.28MB mem-reservation=34.00MB thread-reservation=1
09:TOP-N [LIMIT=100]
| order by: o_totalprice DESC, o_orderdate ASC
| mem-estimate=8.98KB mem-reservation=0B thread-reservation=0
| tuple-ids=7 row-size=92B cardinality=100
| in pipelines: 09(GETNEXT), 16(OPEN)
|
16:AGGREGATE [FINALIZE]
| output: sum:merge(l_quantity)
| group by: c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice
| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=6 row-size=92B cardinality=600.12K
| in pipelines: 16(GETNEXT), 02(OPEN)
|
15:EXCHANGE [HASH(c_name,c_custkey,o_orderkey,o_orderdate,o_totalprice)]
| mem-estimate=10.28MB mem-reservation=0B thread-reservation=0
| tuple-ids=6 row-size=92B cardinality=600.12K
| in pipelines: 02(GETNEXT)
|
F02:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=3
Per-Host Resources: mem-estimate=149.22MB mem-reservation=116.38MB thread-reservation=1 runtime-filters-memory=3.00MB
08:AGGREGATE [STREAMING]
| output: sum(l_quantity)
| group by: c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice
| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=6 row-size=92B cardinality=600.12K
| in pipelines: 02(GETNEXT)
|
07:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
| hash predicates: o_orderkey = l_orderkey
| runtime filters: RF000[bloom] <- l_orderkey
| mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
| tuple-ids=2,1,0 row-size=100B cardinality=600.12K
| in pipelines: 02(GETNEXT), 14(OPEN)
|
|--14:AGGREGATE [FINALIZE]
| | output: sum:merge(l_quantity)
| | group by: l_orderkey
| | having: sum(l_quantity) > CAST(300 AS DECIMAL(5,0))
| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=4 row-size=24B cardinality=156.34K
| | in pipelines: 14(GETNEXT), 03(OPEN)
| |
| 13:EXCHANGE [HASH(l_orderkey)]
| | mem-estimate=10.08MB mem-reservation=0B thread-reservation=0
| | tuple-ids=4 row-size=24B cardinality=1.56M
| | in pipelines: 03(GETNEXT)
| |
| F04:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
| Per-Host Resources: mem-estimate=127.36MB mem-reservation=42.00MB thread-reservation=2
| 04:AGGREGATE [STREAMING]
| | output: sum(l_quantity)
| | group by: l_orderkey
| | mem-estimate=39.36MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=4 row-size=24B cardinality=1.56M
| | in pipelines: 03(GETNEXT)
| |
| 03:SCAN HDFS [tpch.lineitem, RANDOM]
| partitions=1/1 files=1 size=718.94MB
| stored statistics:
| table: rows=6.00M size=718.94MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.07M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
| tuple-ids=3 row-size=16B cardinality=6.00M
| in pipelines: 03(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: o_custkey = c_custkey
| fk/pk conjuncts: o_custkey = c_custkey
| runtime filters: RF002[bloom] <- c_custkey
| mem-estimate=8.50MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
| tuple-ids=2,1,0 row-size=100B cardinality=5.76M
| in pipelines: 02(GETNEXT), 00(OPEN)
|
|--12:EXCHANGE [BROADCAST]
| | mem-estimate=5.48MB mem-reservation=0B thread-reservation=0
| | tuple-ids=0 row-size=38B cardinality=150.00K
| | in pipelines: 00(GETNEXT)
| |
| F03:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| Per-Host Resources: mem-estimate=32.00MB mem-reservation=8.00MB thread-reservation=2
| 00:SCAN HDFS [tpch.customer, RANDOM]
| partitions=1/1 files=1 size=23.08MB
| stored statistics:
| table: rows=150.00K size=23.08MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=150.00K
| mem-estimate=32.00MB mem-reservation=8.00MB thread-reservation=1
| tuple-ids=0 row-size=38B cardinality=150.00K
| in pipelines: 00(GETNEXT)
|
05:HASH JOIN [INNER JOIN, PARTITIONED]
| hash predicates: l_orderkey = o_orderkey
| fk/pk conjuncts: l_orderkey = o_orderkey
| runtime filters: RF004[bloom] <- o_orderkey
| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=2,1 row-size=62B cardinality=5.76M
| in pipelines: 02(GETNEXT), 01(OPEN)
|
|--11:EXCHANGE [HASH(o_orderkey)]
| | mem-estimate=10.10MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1 row-size=46B cardinality=1.50M
| | in pipelines: 01(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
| Per-Host Resources: mem-estimate=90.00MB mem-reservation=10.00MB thread-reservation=2 runtime-filters-memory=2.00MB
| 01:SCAN HDFS [tpch.orders, RANDOM]
| partitions=1/1 files=1 size=162.56MB
| runtime filters: RF000[bloom] -> o_orderkey, RF002[bloom] -> o_custkey
| stored statistics:
| table: rows=1.50M size=162.56MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
| tuple-ids=1 row-size=46B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
10:EXCHANGE [HASH(l_orderkey)]
| mem-estimate=10.06MB mem-reservation=0B thread-reservation=0
| tuple-ids=2 row-size=16B cardinality=6.00M
| in pipelines: 02(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=90.00MB mem-reservation=10.00MB thread-reservation=2 runtime-filters-memory=2.00MB
02:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
runtime filters: RF000[bloom] -> tpch.lineitem.l_orderkey, RF004[bloom] -> l_orderkey
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=2 row-size=16B cardinality=6.00M
in pipelines: 02(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=268.88MB Threads=13
Per-Host Resource Estimates: Memory=846MB
Analyzed query: SELECT c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice,
sum(l_quantity) FROM tpch.customer, tpch.orders, tpch.lineitem LEFT SEMI JOIN
(SELECT l_orderkey FROM tpch.lineitem GROUP BY l_orderkey HAVING sum(l_quantity)
> CAST(300 AS DECIMAL(5,0))) `$a$1` (`$c$1`) ON o_orderkey = `$a$1`.`$c$1` WHERE
TRUE 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 ASC LIMIT CAST(100 AS TINYINT)
F07:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=59.24KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice, sum(l_quantity)
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
17:MERGING-EXCHANGE [UNPARTITIONED]
| order by: o_totalprice DESC, o_orderdate ASC
| limit: 100
| mem-estimate=59.24KB mem-reservation=0B thread-reservation=0
| tuple-ids=7 row-size=92B cardinality=100
| in pipelines: 09(GETNEXT)
|
F06:PLAN FRAGMENT [HASH(c_name,c_custkey,o_orderkey,o_orderdate,o_totalprice)] hosts=3 instances=6
Per-Host Resources: mem-estimate=55.12MB mem-reservation=34.00MB thread-reservation=2
09:TOP-N [LIMIT=100]
| order by: o_totalprice DESC, o_orderdate ASC
| mem-estimate=8.98KB mem-reservation=0B thread-reservation=0
| tuple-ids=7 row-size=92B cardinality=100
| in pipelines: 09(GETNEXT), 16(OPEN)
|
16:AGGREGATE [FINALIZE]
| output: sum:merge(l_quantity)
| group by: c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice
| mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| tuple-ids=6 row-size=92B cardinality=600.12K
| in pipelines: 16(GETNEXT), 02(OPEN)
|
15:EXCHANGE [HASH(c_name,c_custkey,o_orderkey,o_orderdate,o_totalprice)]
| mem-estimate=10.56MB mem-reservation=0B thread-reservation=0
| tuple-ids=6 row-size=92B cardinality=600.12K
| in pipelines: 02(GETNEXT)
|
F02:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=6
Per-Host Resources: mem-estimate=115.27MB mem-reservation=94.88MB thread-reservation=2 runtime-filters-memory=3.00MB
08:AGGREGATE [STREAMING]
| output: sum(l_quantity)
| group by: c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice
| mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| tuple-ids=6 row-size=92B cardinality=600.12K
| in pipelines: 02(GETNEXT)
|
07:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
| hash-table-id=00
| hash predicates: o_orderkey = l_orderkey
| runtime filters: RF000[bloom] <- l_orderkey
| mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| tuple-ids=2,1,0 row-size=100B cardinality=600.12K
| in pipelines: 02(GETNEXT), 14(OPEN)
|
|--F08:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=6
| | Per-Host Resources: included in parent fragment
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | build expressions: l_orderkey
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| |
| 14:AGGREGATE [FINALIZE]
| | output: sum:merge(l_quantity)
| | group by: l_orderkey
| | having: sum(l_quantity) > CAST(300 AS DECIMAL(5,0))
| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| | tuple-ids=4 row-size=24B cardinality=156.34K
| | in pipelines: 14(GETNEXT), 03(OPEN)
| |
| 13:EXCHANGE [HASH(l_orderkey)]
| | mem-estimate=10.16MB mem-reservation=0B thread-reservation=0
| | tuple-ids=4 row-size=24B cardinality=1.56M
| | in pipelines: 03(GETNEXT)
| |
| F04:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
| Per-Host Resources: mem-estimate=251.55MB mem-reservation=84.00MB thread-reservation=2
| 04:AGGREGATE [STREAMING]
| | output: sum(l_quantity)
| | group by: l_orderkey
| | mem-estimate=37.77MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=4 row-size=24B cardinality=1.56M
| | in pipelines: 03(GETNEXT)
| |
| 03:SCAN HDFS [tpch.lineitem, RANDOM]
| partitions=1/1 files=1 size=718.94MB
| stored statistics:
| table: rows=6.00M size=718.94MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.07M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
| tuple-ids=3 row-size=16B cardinality=6.00M
| in pipelines: 03(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=01
| hash predicates: o_custkey = c_custkey
| fk/pk conjuncts: o_custkey = c_custkey
| runtime filters: RF002[bloom] <- c_custkey
| mem-estimate=8.50MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
| tuple-ids=2,1,0 row-size=100B cardinality=5.76M
| in pipelines: 02(GETNEXT), 00(OPEN)
|
|--F09:PLAN FRAGMENT [HASH(l_orderkey)] hosts=1 instances=2
| | Per-Host Resources: included in parent fragment
| JOIN BUILD
| | join-table-id=01 plan-id=02 cohort-id=01
| | build expressions: c_custkey
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| |
| 12:EXCHANGE [BROADCAST]
| | mem-estimate=5.52MB mem-reservation=0B thread-reservation=0
| | tuple-ids=0 row-size=38B cardinality=150.00K
| | in pipelines: 00(GETNEXT)
| |
| F03:PLAN FRAGMENT [RANDOM] hosts=1 instances=2
| Per-Host Resources: mem-estimate=64.00MB mem-reservation=16.00MB thread-reservation=2
| 00:SCAN HDFS [tpch.customer, RANDOM]
| partitions=1/1 files=1 size=23.08MB
| stored statistics:
| table: rows=150.00K size=23.08MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=150.00K
| mem-estimate=32.00MB mem-reservation=8.00MB thread-reservation=0
| tuple-ids=0 row-size=38B cardinality=150.00K
| in pipelines: 00(GETNEXT)
|
05:HASH JOIN [INNER JOIN, PARTITIONED]
| hash-table-id=02
| hash predicates: l_orderkey = o_orderkey
| fk/pk conjuncts: l_orderkey = o_orderkey
| runtime filters: RF004[bloom] <- o_orderkey
| mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| tuple-ids=2,1 row-size=62B cardinality=5.76M
| in pipelines: 02(GETNEXT), 01(OPEN)
|
|--F10:PLAN FRAGMENT [HASH(l_orderkey)] hosts=2 instances=4
| | Per-Host Resources: included in parent fragment
| JOIN BUILD
| | join-table-id=02 plan-id=03 cohort-id=01
| | build expressions: o_orderkey
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| |
| 11:EXCHANGE [HASH(o_orderkey)]
| | mem-estimate=10.20MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1 row-size=46B cardinality=1.50M
| | in pipelines: 01(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
| Per-Host Resources: mem-estimate=180.00MB mem-reservation=20.00MB thread-reservation=2 runtime-filters-memory=2.00MB
| 01:SCAN HDFS [tpch.orders, RANDOM]
| partitions=1/1 files=1 size=162.56MB
| runtime filters: RF000[bloom] -> o_orderkey, RF002[bloom] -> o_custkey
| stored statistics:
| table: rows=1.50M size=162.56MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
| tuple-ids=1 row-size=46B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
10:EXCHANGE [HASH(l_orderkey)]
| mem-estimate=10.12MB mem-reservation=0B thread-reservation=0
| tuple-ids=2 row-size=16B cardinality=6.00M
| in pipelines: 02(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=180.00MB mem-reservation=20.00MB thread-reservation=2 runtime-filters-memory=2.00MB
02:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
runtime filters: RF000[bloom] -> tpch.lineitem.l_orderkey, RF004[bloom] -> l_orderkey
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
tuple-ids=2 row-size=16B cardinality=6.00M
in pipelines: 02(GETNEXT)
====
# Unpartitioned HDFS insert
insert into table functional.alltypesnopart
select id, bool_col, tinyint_col, smallint_col, int_col, bigint_col,
float_col, double_col, date_string_col, string_col, timestamp_col
from functional.alltypes
where year=2009 and month=05
---- PLAN
Max Per-Host Resource Reservation: Memory=32.00KB Threads=2
Per-Host Resource Estimates: Memory=16MB
Codegen disabled by planner
Analyzed query: SELECT id, bool_col, tinyint_col, smallint_col, int_col,
bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col
FROM functional.alltypes WHERE `year` = CAST(2009 AS INT) AND `month` = CAST(5
AS INT)
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=16.02MB mem-reservation=32.00KB thread-reservation=2
WRITE TO HDFS [functional.alltypesnopart, OVERWRITE=false]
| partitions=1
| output exprs: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col
| mem-estimate=24.52KB mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [functional.alltypes]
partition predicates: `year` = CAST(2009 AS INT), `month` = CAST(5 AS INT)
partitions=1/24 files=1 size=20.36KB
stored statistics:
table: rows=7.30K size=478.45KB
partitions: 1/1 rows=310
columns: all
extrapolated-rows=disabled max-scan-range-rows=7.30K
mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=1
tuple-ids=0 row-size=81B cardinality=310
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=32.00KB Threads=2
Per-Host Resource Estimates: Memory=16MB
Codegen disabled by planner
Analyzed query: SELECT id, bool_col, tinyint_col, smallint_col, int_col,
bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col
FROM functional.alltypes WHERE `year` = CAST(2009 AS INT) AND `month` = CAST(5
AS INT)
F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| Per-Host Resources: mem-estimate=16.02MB mem-reservation=32.00KB thread-reservation=2
WRITE TO HDFS [functional.alltypesnopart, OVERWRITE=false]
| partitions=1
| output exprs: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col
| mem-estimate=24.52KB mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [functional.alltypes, RANDOM]
partition predicates: `year` = CAST(2009 AS INT), `month` = CAST(5 AS INT)
partitions=1/24 files=1 size=20.36KB
stored statistics:
table: rows=7.30K size=478.45KB
partitions: 1/1 rows=310
columns: all
extrapolated-rows=disabled max-scan-range-rows=7.30K
mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=1
tuple-ids=0 row-size=81B cardinality=310
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=64.00KB Threads=2
Per-Host Resource Estimates: Memory=32MB
Codegen disabled by planner
Analyzed query: SELECT id, bool_col, tinyint_col, smallint_col, int_col,
bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col
FROM functional.alltypes WHERE `year` = CAST(2009 AS INT) AND `month` = CAST(5
AS INT)
F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=2
| Per-Host Resources: mem-estimate=32.02MB mem-reservation=64.00KB thread-reservation=2
WRITE TO HDFS [functional.alltypesnopart, OVERWRITE=false]
| partitions=1
| output exprs: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col
| mem-estimate=12.26KB mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [functional.alltypes, RANDOM]
partition predicates: `year` = CAST(2009 AS INT), `month` = CAST(5 AS INT)
partitions=1/24 files=1 size=20.36KB
stored statistics:
table: rows=7.30K size=478.45KB
partitions: 1/1 rows=310
columns: all
extrapolated-rows=disabled max-scan-range-rows=7.30K
mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=0
tuple-ids=0 row-size=81B cardinality=310
in pipelines: 00(GETNEXT)
====
# Dynamically partitioned HDFS insert
create table dummy_insert
partitioned by (l_partkey) as
select l_comment, l_partkey from tpch.lineitem
---- PLAN
Max Per-Host Resource Reservation: Memory=20.00MB Threads=2
Per-Host Resource Estimates: Memory=106MB
Analyzed query: SELECT l_comment, l_partkey FROM tpch.lineitem
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=106.00MB mem-reservation=20.00MB thread-reservation=2
WRITE TO HDFS [default.dummy_insert, OVERWRITE=false, PARTITION-KEYS=(l_partkey)]
| partitions=200516
| output exprs: l_comment, l_partkey
| mem-estimate=100.00KB mem-reservation=0B thread-reservation=0
|
01:SORT
| order by: l_partkey ASC NULLS LAST
| mem-estimate=18.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=46B cardinality=6.00M
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch.lineitem]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=46B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=20.00MB Threads=3
Per-Host Resource Estimates: Memory=116MB
Analyzed query: SELECT l_comment, l_partkey FROM tpch.lineitem
F01:PLAN FRAGMENT [HASH(l_partkey)] hosts=3 instances=3
| Per-Host Resources: mem-estimate=28.15MB mem-reservation=12.00MB thread-reservation=1
WRITE TO HDFS [default.dummy_insert, OVERWRITE=false, PARTITION-KEYS=(l_partkey)]
| partitions=200516
| output exprs: l_comment, l_partkey
| mem-estimate=100.00KB mem-reservation=0B thread-reservation=0
|
02:SORT
| order by: l_partkey ASC NULLS LAST
| mem-estimate=18.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=46B cardinality=6.00M
| in pipelines: 02(GETNEXT), 00(OPEN)
|
01:EXCHANGE [HASH(l_partkey)]
| mem-estimate=10.15MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=46B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
00:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=46B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=40.00MB Threads=4
Per-Host Resource Estimates: Memory=233MB
Analyzed query: SELECT l_comment, l_partkey FROM tpch.lineitem
F01:PLAN FRAGMENT [HASH(l_partkey)] hosts=3 instances=6
| Per-Host Resources: mem-estimate=56.59MB mem-reservation=24.00MB thread-reservation=2
WRITE TO HDFS [default.dummy_insert, OVERWRITE=false, PARTITION-KEYS=(l_partkey)]
| partitions=200516
| output exprs: l_comment, l_partkey
| mem-estimate=100.00KB mem-reservation=0B thread-reservation=0
|
02:SORT
| order by: l_partkey ASC NULLS LAST
| mem-estimate=18.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=46B cardinality=6.00M
| in pipelines: 02(GETNEXT), 00(OPEN)
|
01:EXCHANGE [HASH(l_partkey)]
| mem-estimate=10.30MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=46B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=176.00MB mem-reservation=16.00MB thread-reservation=2
00:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
tuple-ids=0 row-size=46B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# Noclustered dynamically partitioned HDFS insert.
create /* +noclustered */ table dummy_insert
partitioned by (l_partkey) as
select l_comment, l_partkey from tpch.lineitem
---- PLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=2
Per-Host Resource Estimates: Memory=354MB
Analyzed query: SELECT l_comment, l_partkey FROM tpch.lineitem
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=354.10MB mem-reservation=8.00MB thread-reservation=2
WRITE TO HDFS [default.dummy_insert, OVERWRITE=false, PARTITION-KEYS=(l_partkey)]
| partitions=200516
| output exprs: l_comment, l_partkey
| mem-estimate=266.10MB mem-reservation=0B thread-reservation=0
|
00:SCAN HDFS [tpch.lineitem]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=46B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
Per-Host Resource Estimates: Memory=187MB
Analyzed query: SELECT l_comment, l_partkey FROM tpch.lineitem
F01:PLAN FRAGMENT [HASH(l_partkey)] hosts=3 instances=3
| Per-Host Resources: mem-estimate=98.85MB mem-reservation=0B thread-reservation=1
WRITE TO HDFS [default.dummy_insert, OVERWRITE=false, PARTITION-KEYS=(l_partkey)]
| partitions=200516
| output exprs: l_comment, l_partkey
| mem-estimate=88.70MB mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [HASH(l_partkey)]
| mem-estimate=10.15MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=46B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=2
00:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=1
tuple-ids=0 row-size=46B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=16.00MB Threads=4
Per-Host Resource Estimates: Memory=285MB
Analyzed query: SELECT l_comment, l_partkey FROM tpch.lineitem
F01:PLAN FRAGMENT [HASH(l_partkey)] hosts=3 instances=6
| Per-Host Resources: mem-estimate=109.29MB mem-reservation=0B thread-reservation=2
WRITE TO HDFS [default.dummy_insert, OVERWRITE=false, PARTITION-KEYS=(l_partkey)]
| partitions=200516
| output exprs: l_comment, l_partkey
| mem-estimate=44.35MB mem-reservation=0B thread-reservation=0
|
01:EXCHANGE [HASH(l_partkey)]
| mem-estimate=10.30MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=46B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=176.00MB mem-reservation=16.00MB thread-reservation=2
00:SCAN HDFS [tpch.lineitem, RANDOM]
partitions=1/1 files=1 size=718.94MB
stored statistics:
table: rows=6.00M size=718.94MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.07M
mem-estimate=88.00MB mem-reservation=8.00MB thread-reservation=0
tuple-ids=0 row-size=46B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# Variety of operators in and outside of subplan. All operators in subplan consume
# resources while the subplan is open.
select distinct c_name, v.o_orderkey, v.o_orderstatus
from tpch_nested_parquet.customer c,
(select distinct o1.o_orderkey, o2.o_orderstatus
from c.c_orders o1
join c.c_orders o2 on o1.o_orderkey = o2.o_orderkey
order by o1.o_orderkey limit 100) v
---- PLAN
Max Per-Host Resource Reservation: Memory=85.94MB Threads=2
Per-Host Resource Estimates: Memory=346MB
Analyzed query: SELECT DISTINCT c_name, v.o_orderkey, v.o_orderstatus FROM
tpch_nested_parquet.customer c, (SELECT DISTINCT o1.o_orderkey, o2.o_orderstatus
FROM c.c_orders o1 INNER JOIN c.c_orders o2 ON o1.o_orderkey = o2.o_orderkey
ORDER BY o1.o_orderkey ASC LIMIT CAST(100 AS TINYINT)) v
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=345.94MB mem-reservation=85.94MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: c_name, v.o_orderkey, v.o_orderstatus
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
09:AGGREGATE [FINALIZE]
| group by: c_name, o1.o_orderkey, o2.o_orderstatus
| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=6 row-size=50B cardinality=1.50M
| in pipelines: 09(GETNEXT), 00(OPEN)
|
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=4,0 row-size=74B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
|--08:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=54B mem-reservation=0B thread-reservation=0
| | tuple-ids=4,0 row-size=74B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| |--02:SINGULAR ROW SRC
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=0 row-size=54B cardinality=1
| | in pipelines: 00(GETNEXT)
| |
| 07:TOP-N [LIMIT=100]
| | order by: o1.o_orderkey ASC
| | mem-estimate=200B mem-reservation=0B thread-reservation=0
| | tuple-ids=4 row-size=20B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 06:AGGREGATE [FINALIZE]
| | group by: o1.o_orderkey, o2.o_orderstatus
| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=3 row-size=20B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 05:HASH JOIN [INNER JOIN]
| | hash predicates: o1.o_orderkey = o2.o_orderkey
| | fk/pk conjuncts: assumed fk/pk
| | mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| | tuple-ids=1,2 row-size=28B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| |--04:UNNEST [c.c_orders o2]
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=0B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders o1]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
partitions=1/1 files=4 size=288.99MB
stored statistics:
table: rows=150.00K size=288.98MB
columns missing stats: c_orders, c_orders
extrapolated-rows=disabled max-scan-range-rows=44.23K
mem-estimate=88.00MB mem-reservation=16.00MB thread-reservation=1
tuple-ids=0 row-size=54B cardinality=150.00K
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=119.94MB Threads=4
Per-Host Resource Estimates: Memory=494MB
Analyzed query: SELECT DISTINCT c_name, v.o_orderkey, v.o_orderstatus FROM
tpch_nested_parquet.customer c, (SELECT DISTINCT o1.o_orderkey, o2.o_orderstatus
FROM c.c_orders o1 INNER JOIN c.c_orders o2 ON o1.o_orderkey = o2.o_orderkey
ORDER BY o1.o_orderkey ASC LIMIT CAST(100 AS TINYINT)) v
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.16MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: c_name, v.o_orderkey, v.o_orderstatus
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
12:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.16MB mem-reservation=0B thread-reservation=0
| tuple-ids=6 row-size=50B cardinality=1.50M
| in pipelines: 11(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(c_name,v.o_orderkey,v.o_orderstatus)] hosts=3 instances=3
Per-Host Resources: mem-estimate=138.16MB mem-reservation=34.00MB thread-reservation=1
11:AGGREGATE [FINALIZE]
| group by: c_name, v.o_orderkey, v.o_orderstatus
| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=6 row-size=50B cardinality=1.50M
| in pipelines: 11(GETNEXT), 00(OPEN)
|
10:EXCHANGE [HASH(c_name,v.o_orderkey,v.o_orderstatus)]
| mem-estimate=10.16MB mem-reservation=0B thread-reservation=0
| tuple-ids=6 row-size=50B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=345.94MB mem-reservation=85.94MB thread-reservation=2
09:AGGREGATE [STREAMING]
| group by: c_name, o1.o_orderkey, o2.o_orderstatus
| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=6 row-size=50B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=4,0 row-size=74B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
|--08:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=54B mem-reservation=0B thread-reservation=0
| | tuple-ids=4,0 row-size=74B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| |--02:SINGULAR ROW SRC
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=0 row-size=54B cardinality=1
| | in pipelines: 00(GETNEXT)
| |
| 07:TOP-N [LIMIT=100]
| | order by: o1.o_orderkey ASC
| | mem-estimate=200B mem-reservation=0B thread-reservation=0
| | tuple-ids=4 row-size=20B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 06:AGGREGATE [FINALIZE]
| | group by: o1.o_orderkey, o2.o_orderstatus
| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=3 row-size=20B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 05:HASH JOIN [INNER JOIN]
| | hash predicates: o1.o_orderkey = o2.o_orderkey
| | fk/pk conjuncts: assumed fk/pk
| | mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| | tuple-ids=1,2 row-size=28B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| |--04:UNNEST [c.c_orders o2]
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=0B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders o1]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c, RANDOM]
partitions=1/1 files=4 size=288.99MB
stored statistics:
table: rows=150.00K size=288.98MB
columns missing stats: c_orders, c_orders
extrapolated-rows=disabled max-scan-range-rows=44.23K
mem-estimate=88.00MB mem-reservation=16.00MB thread-reservation=1
tuple-ids=0 row-size=54B cardinality=150.00K
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=239.88MB Threads=5
Per-Host Resource Estimates: Memory=979MB
Analyzed query: SELECT DISTINCT c_name, v.o_orderkey, v.o_orderstatus FROM
tpch_nested_parquet.customer c, (SELECT DISTINCT o1.o_orderkey, o2.o_orderstatus
FROM c.c_orders o1 INNER JOIN c.c_orders o2 ON o1.o_orderkey = o2.o_orderkey
ORDER BY o1.o_orderkey ASC LIMIT CAST(100 AS TINYINT)) v
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.32MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: c_name, v.o_orderkey, v.o_orderstatus
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
12:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.32MB mem-reservation=0B thread-reservation=0
| tuple-ids=6 row-size=50B cardinality=1.50M
| in pipelines: 11(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(c_name,v.o_orderkey,v.o_orderstatus)] hosts=3 instances=6
Per-Host Resources: mem-estimate=276.63MB mem-reservation=68.00MB thread-reservation=2
11:AGGREGATE [FINALIZE]
| group by: c_name, v.o_orderkey, v.o_orderstatus
| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=6 row-size=50B cardinality=1.50M
| in pipelines: 11(GETNEXT), 00(OPEN)
|
10:EXCHANGE [HASH(c_name,v.o_orderkey,v.o_orderstatus)]
| mem-estimate=10.32MB mem-reservation=0B thread-reservation=0
| tuple-ids=6 row-size=50B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=691.88MB mem-reservation=171.88MB thread-reservation=2
09:AGGREGATE [STREAMING]
| group by: c_name, o1.o_orderkey, o2.o_orderstatus
| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=6 row-size=50B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=4,0 row-size=74B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
|--08:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=54B mem-reservation=0B thread-reservation=0
| | tuple-ids=4,0 row-size=74B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| |--02:SINGULAR ROW SRC
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=0 row-size=54B cardinality=1
| | in pipelines: 00(GETNEXT)
| |
| 07:TOP-N [LIMIT=100]
| | order by: o1.o_orderkey ASC
| | mem-estimate=200B mem-reservation=0B thread-reservation=0
| | tuple-ids=4 row-size=20B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 06:AGGREGATE [FINALIZE]
| | group by: o1.o_orderkey, o2.o_orderstatus
| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=3 row-size=20B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 05:HASH JOIN [INNER JOIN]
| | hash predicates: o1.o_orderkey = o2.o_orderkey
| | fk/pk conjuncts: assumed fk/pk
| | mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| | tuple-ids=1,2 row-size=28B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| |--04:UNNEST [c.c_orders o2]
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=2 row-size=0B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders o1]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c, RANDOM]
partitions=1/1 files=4 size=288.99MB
stored statistics:
table: rows=150.00K size=288.98MB
columns missing stats: c_orders, c_orders
extrapolated-rows=disabled max-scan-range-rows=44.23K
mem-estimate=88.00MB mem-reservation=16.00MB thread-reservation=0
tuple-ids=0 row-size=54B cardinality=150.00K
in pipelines: 00(GETNEXT)
====
# Pipeline of blocking operators in a subplan. All operators consume resources at the
# same time (unlike blocking operators outside of a subplan).
select *
from tpch_nested_parquet.customer c,
(select *, row_number() over (order by o_totalprice) rnum_price,
row_number() over (order by o_orderdate) rnum_date,
row_number() over (order by o_orderpriority) rnum_priority
from c.c_orders) v;
---- PLAN
Max Per-Host Resource Reservation: Memory=104.00MB Threads=2
Per-Host Resource Estimates: Memory=136MB
Analyzed query: SELECT * FROM tpch_nested_parquet.customer c, (SELECT *,
row_number() OVER (ORDER BY o_totalprice ASC) rnum_price, row_number() OVER
(ORDER BY o_orderdate ASC) rnum_date, row_number() OVER (ORDER BY
o_orderpriority ASC) rnum_priority FROM c.c_orders) v
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=136.00MB mem-reservation=104.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: c.c_custkey, c.c_name, c.c_address, c.c_nationkey, c.c_phone, c.c_acctbal, c.c_mktsegment, c.c_comment, item.o_orderkey, item.o_orderstatus, item.o_totalprice, item.o_orderdate, item.o_orderpriority, item.o_clerk, item.o_shippriority, item.o_comment, row_number(), row_number(), row_number()
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=12,7,0 row-size=366B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
|--10:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=230B mem-reservation=0B thread-reservation=0
| | tuple-ids=12,7,0 row-size=366B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| |--02:SINGULAR ROW SRC
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=0 row-size=230B cardinality=1
| | in pipelines: 00(GETNEXT)
| |
| 09:ANALYTIC
| | functions: row_number()
| | order by: o_orderpriority ASC
| | window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| | mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=12,7 row-size=136B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 08:SORT
| | order by: o_orderpriority ASC
| | mem-estimate=12.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=12 row-size=128B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 07:ANALYTIC
| | functions: row_number()
| | order by: o_orderdate ASC
| | window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| | mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=10,6 row-size=128B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 06:SORT
| | order by: o_orderdate ASC
| | mem-estimate=12.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=10 row-size=120B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 05:ANALYTIC
| | functions: row_number()
| | order by: o_totalprice ASC
| | window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| | mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=8,5 row-size=120B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 04:SORT
| | order by: o_totalprice ASC
| | mem-estimate=12.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=8 row-size=112B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c]
partitions=1/1 files=4 size=288.99MB
stored statistics:
table: rows=150.00K size=288.98MB
columns missing stats: c_orders
extrapolated-rows=disabled max-scan-range-rows=44.23K
mem-estimate=88.00MB mem-reservation=56.00MB thread-reservation=1
tuple-ids=0 row-size=230B cardinality=150.00K
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=104.00MB Threads=3
Per-Host Resource Estimates: Memory=147MB
Analyzed query: SELECT * FROM tpch_nested_parquet.customer c, (SELECT *,
row_number() OVER (ORDER BY o_totalprice ASC) rnum_price, row_number() OVER
(ORDER BY o_orderdate ASC) rnum_date, row_number() OVER (ORDER BY
o_orderpriority ASC) rnum_priority FROM c.c_orders) v
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=11.11MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: c.c_custkey, c.c_name, c.c_address, c.c_nationkey, c.c_phone, c.c_acctbal, c.c_mktsegment, c.c_comment, item.o_orderkey, item.o_orderstatus, item.o_totalprice, item.o_orderdate, item.o_orderpriority, item.o_clerk, item.o_shippriority, item.o_comment, row_number(), row_number(), row_number()
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
11:EXCHANGE [UNPARTITIONED]
| mem-estimate=11.11MB mem-reservation=0B thread-reservation=0
| tuple-ids=12,7,0 row-size=366B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=136.00MB mem-reservation=104.00MB thread-reservation=2
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=12,7,0 row-size=366B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
|--10:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=230B mem-reservation=0B thread-reservation=0
| | tuple-ids=12,7,0 row-size=366B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| |--02:SINGULAR ROW SRC
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=0 row-size=230B cardinality=1
| | in pipelines: 00(GETNEXT)
| |
| 09:ANALYTIC
| | functions: row_number()
| | order by: o_orderpriority ASC
| | window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| | mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=12,7 row-size=136B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 08:SORT
| | order by: o_orderpriority ASC
| | mem-estimate=12.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=12 row-size=128B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 07:ANALYTIC
| | functions: row_number()
| | order by: o_orderdate ASC
| | window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| | mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=10,6 row-size=128B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 06:SORT
| | order by: o_orderdate ASC
| | mem-estimate=12.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=10 row-size=120B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 05:ANALYTIC
| | functions: row_number()
| | order by: o_totalprice ASC
| | window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| | mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=8,5 row-size=120B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 04:SORT
| | order by: o_totalprice ASC
| | mem-estimate=12.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=8 row-size=112B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c, RANDOM]
partitions=1/1 files=4 size=288.99MB
stored statistics:
table: rows=150.00K size=288.98MB
columns missing stats: c_orders
extrapolated-rows=disabled max-scan-range-rows=44.23K
mem-estimate=88.00MB mem-reservation=56.00MB thread-reservation=1
tuple-ids=0 row-size=230B cardinality=150.00K
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=208.00MB Threads=3
Per-Host Resource Estimates: Memory=284MB
Analyzed query: SELECT * FROM tpch_nested_parquet.customer c, (SELECT *,
row_number() OVER (ORDER BY o_totalprice ASC) rnum_price, row_number() OVER
(ORDER BY o_orderdate ASC) rnum_date, row_number() OVER (ORDER BY
o_orderpriority ASC) rnum_priority FROM c.c_orders) v
F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=12.21MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: c.c_custkey, c.c_name, c.c_address, c.c_nationkey, c.c_phone, c.c_acctbal, c.c_mktsegment, c.c_comment, item.o_orderkey, item.o_orderstatus, item.o_totalprice, item.o_orderdate, item.o_orderpriority, item.o_clerk, item.o_shippriority, item.o_comment, row_number(), row_number(), row_number()
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
11:EXCHANGE [UNPARTITIONED]
| mem-estimate=12.21MB mem-reservation=0B thread-reservation=0
| tuple-ids=12,7,0 row-size=366B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6
Per-Host Resources: mem-estimate=272.00MB mem-reservation=208.00MB thread-reservation=2
01:SUBPLAN
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=12,7,0 row-size=366B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
|--10:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=230B mem-reservation=0B thread-reservation=0
| | tuple-ids=12,7,0 row-size=366B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| |--02:SINGULAR ROW SRC
| | parent-subplan=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=0 row-size=230B cardinality=1
| | in pipelines: 00(GETNEXT)
| |
| 09:ANALYTIC
| | functions: row_number()
| | order by: o_orderpriority ASC
| | window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| | mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=12,7 row-size=136B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 08:SORT
| | order by: o_orderpriority ASC
| | mem-estimate=12.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=12 row-size=128B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 07:ANALYTIC
| | functions: row_number()
| | order by: o_orderdate ASC
| | window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| | mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=10,6 row-size=128B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 06:SORT
| | order by: o_orderdate ASC
| | mem-estimate=12.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=10 row-size=120B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 05:ANALYTIC
| | functions: row_number()
| | order by: o_totalprice ASC
| | window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| | mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=8,5 row-size=120B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 04:SORT
| | order by: o_totalprice ASC
| | mem-estimate=12.00MB mem-reservation=12.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=8 row-size=112B cardinality=10
| | in pipelines: 00(GETNEXT)
| |
| 03:UNNEST [c.c_orders]
| parent-subplan=01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=0B cardinality=10
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_nested_parquet.customer c, RANDOM]
partitions=1/1 files=4 size=288.99MB
stored statistics:
table: rows=150.00K size=288.98MB
columns missing stats: c_orders
extrapolated-rows=disabled max-scan-range-rows=44.23K
mem-estimate=88.00MB mem-reservation=56.00MB thread-reservation=0
tuple-ids=0 row-size=230B cardinality=150.00K
in pipelines: 00(GETNEXT)
====
# Bushy hash join plan. Only two of the hash joins can execute concurrently, so we only
# need enough reservation for 2 hash joins.
select straight_join *
from tpch_parquet.orders t1
join (
select straight_join t2.o_orderkey k2, k3, k4
from tpch_parquet.orders t2
join (
select straight_join t3.o_orderkey k3, t4.o_orderkey k4
from tpch_parquet.orders t3
join tpch_parquet.orders t4 on t3.o_orderkey = t4.o_orderkey
) v2 on v2.k3 = t2.o_orderkey
) v1 on v1.k3 = t1.o_orderkey
---- PLAN
Max Per-Host Resource Reservation: Memory=99.00MB Threads=5
Per-Host Resource Estimates: Memory=180MB
Analyzed query: SELECT /* +straight_join */ * FROM tpch_parquet.orders t1 INNER
JOIN (SELECT /* +straight_join */ t2.o_orderkey k2, k3, k4 FROM
tpch_parquet.orders t2 INNER JOIN (SELECT /* +straight_join */ t3.o_orderkey k3,
t4.o_orderkey k4 FROM tpch_parquet.orders t3 INNER JOIN tpch_parquet.orders t4
ON t3.o_orderkey = t4.o_orderkey) v2 ON v2.k3 = t2.o_orderkey) v1 ON v1.k3 =
t1.o_orderkey
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=180.00MB mem-reservation=99.00MB thread-reservation=5 runtime-filters-memory=3.00MB
PLAN-ROOT SINK
| output exprs: t1.o_orderkey, t1.o_custkey, t1.o_orderstatus, t1.o_totalprice, t1.o_orderdate, t1.o_orderpriority, t1.o_clerk, t1.o_shippriority, t1.o_comment, t2.o_orderkey, t3.o_orderkey, t4.o_orderkey
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
06:HASH JOIN [INNER JOIN]
| hash predicates: t1.o_orderkey = t3.o_orderkey
| fk/pk conjuncts: t1.o_orderkey = t3.o_orderkey
| runtime filters: RF000[bloom] <- t3.o_orderkey
| mem-estimate=37.77MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=0,1,2,3 row-size=195B cardinality=1.50M
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--05:HASH JOIN [INNER JOIN]
| | hash predicates: t2.o_orderkey = t3.o_orderkey
| | fk/pk conjuncts: t2.o_orderkey = t3.o_orderkey
| | runtime filters: RF002[bloom] <- t3.o_orderkey
| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=1,2,3 row-size=24B cardinality=1.50M
| | in pipelines: 01(GETNEXT), 02(OPEN)
| |
| |--04:HASH JOIN [INNER JOIN]
| | | hash predicates: t3.o_orderkey = t4.o_orderkey
| | | fk/pk conjuncts: t3.o_orderkey = t4.o_orderkey
| | | runtime filters: RF004[bloom] <- t4.o_orderkey
| | | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| | | tuple-ids=2,3 row-size=16B cardinality=1.50M
| | | in pipelines: 02(GETNEXT), 03(OPEN)
| | |
| | |--03:SCAN HDFS [tpch_parquet.orders t4]
| | | partitions=1/1 files=2 size=54.07MB
| | | stored statistics:
| | | table: rows=1.50M size=54.07MB
| | | columns: all
| | | extrapolated-rows=disabled max-scan-range-rows=1.18M
| | | mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=1
| | | tuple-ids=3 row-size=8B cardinality=1.50M
| | | in pipelines: 03(GETNEXT)
| | |
| | 02:SCAN HDFS [tpch_parquet.orders t3]
| | partitions=1/1 files=2 size=54.07MB
| | runtime filters: RF004[bloom] -> t3.o_orderkey
| | stored statistics:
| | table: rows=1.50M size=54.07MB
| | columns: all
| | extrapolated-rows=disabled max-scan-range-rows=1.18M
| | mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=1
| | tuple-ids=2 row-size=8B cardinality=1.50M
| | in pipelines: 02(GETNEXT)
| |
| 01:SCAN HDFS [tpch_parquet.orders t2]
| partitions=1/1 files=2 size=54.07MB
| runtime filters: RF002[bloom] -> t2.o_orderkey
| stored statistics:
| table: rows=1.50M size=54.07MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=1
| tuple-ids=1 row-size=8B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpch_parquet.orders t1]
partitions=1/1 files=2 size=54.07MB
runtime filters: RF000[bloom] -> t1.o_orderkey
stored statistics:
table: rows=1.50M size=54.07MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.18M
mem-estimate=40.00MB mem-reservation=24.00MB thread-reservation=1
tuple-ids=0 row-size=171B cardinality=1.50M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=100.50MB Threads=10
Per-Host Resource Estimates: Memory=260MB
Analyzed query: SELECT /* +straight_join */ * FROM tpch_parquet.orders t1 INNER
JOIN (SELECT /* +straight_join */ t2.o_orderkey k2, k3, k4 FROM
tpch_parquet.orders t2 INNER JOIN (SELECT /* +straight_join */ t3.o_orderkey k3,
t4.o_orderkey k4 FROM tpch_parquet.orders t3 INNER JOIN tpch_parquet.orders t4
ON t3.o_orderkey = t4.o_orderkey) v2 ON v2.k3 = t2.o_orderkey) v1 ON v1.k3 =
t1.o_orderkey
F05:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.41MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: t1.o_orderkey, t1.o_custkey, t1.o_orderstatus, t1.o_totalprice, t1.o_orderdate, t1.o_orderpriority, t1.o_clerk, t1.o_shippriority, t1.o_comment, t2.o_orderkey, t3.o_orderkey, t4.o_orderkey
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
11:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.41MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1,2,3 row-size=195B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
Per-Host Resources: mem-estimate=88.84MB mem-reservation=59.00MB thread-reservation=2 runtime-filters-memory=1.00MB
06:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: t1.o_orderkey = t3.o_orderkey
| fk/pk conjuncts: t1.o_orderkey = t3.o_orderkey
| runtime filters: RF000[bloom] <- t3.o_orderkey
| mem-estimate=37.77MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=0,1,2,3 row-size=195B cardinality=1.50M
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--10:EXCHANGE [BROADCAST]
| | mem-estimate=10.07MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1,2,3 row-size=24B cardinality=1.50M
| | in pipelines: 01(GETNEXT)
| |
| F04:PLAN FRAGMENT [HASH(t3.o_orderkey)] hosts=2 instances=2
| Per-Host Resources: mem-estimate=38.99MB mem-reservation=27.50MB thread-reservation=1 runtime-filters-memory=2.00MB
| 05:HASH JOIN [INNER JOIN, PARTITIONED]
| | hash predicates: t2.o_orderkey = t3.o_orderkey
| | fk/pk conjuncts: t2.o_orderkey = t3.o_orderkey
| | runtime filters: RF002[bloom] <- t3.o_orderkey
| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
| | tuple-ids=1,2,3 row-size=24B cardinality=1.50M
| | in pipelines: 01(GETNEXT), 02(OPEN)
| |
| |--04:HASH JOIN [INNER JOIN, PARTITIONED]
| | | hash predicates: t3.o_orderkey = t4.o_orderkey
| | | fk/pk conjuncts: t3.o_orderkey = t4.o_orderkey
| | | runtime filters: RF004[bloom] <- t4.o_orderkey
| | | mem-estimate=8.50MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
| | | tuple-ids=2,3 row-size=16B cardinality=1.50M
| | | in pipelines: 02(GETNEXT), 03(OPEN)
| | |
| | |--08:EXCHANGE [HASH(t4.o_orderkey)]
| | | | mem-estimate=5.75MB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=3 row-size=8B cardinality=1.50M
| | | | in pipelines: 03(GETNEXT)
| | | |
| | | F03:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
| | | Per-Host Resources: mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=2
| | | 03:SCAN HDFS [tpch_parquet.orders t4, RANDOM]
| | | partitions=1/1 files=2 size=54.07MB
| | | stored statistics:
| | | table: rows=1.50M size=54.07MB
| | | columns: all
| | | extrapolated-rows=disabled max-scan-range-rows=1.18M
| | | mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=1
| | | tuple-ids=3 row-size=8B cardinality=1.50M
| | | in pipelines: 03(GETNEXT)
| | |
| | 07:EXCHANGE [HASH(t3.o_orderkey)]
| | | mem-estimate=5.75MB mem-reservation=0B thread-reservation=0
| | | tuple-ids=2 row-size=8B cardinality=1.50M
| | | in pipelines: 02(GETNEXT)
| | |
| | F02:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
| | Per-Host Resources: mem-estimate=41.00MB mem-reservation=5.00MB thread-reservation=2 runtime-filters-memory=1.00MB
| | 02:SCAN HDFS [tpch_parquet.orders t3, RANDOM]
| | partitions=1/1 files=2 size=54.07MB
| | runtime filters: RF004[bloom] -> t3.o_orderkey
| | stored statistics:
| | table: rows=1.50M size=54.07MB
| | columns: all
| | extrapolated-rows=disabled max-scan-range-rows=1.18M
| | mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=1
| | tuple-ids=2 row-size=8B cardinality=1.50M
| | in pipelines: 02(GETNEXT)
| |
| 09:EXCHANGE [HASH(t2.o_orderkey)]
| | mem-estimate=5.75MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1 row-size=8B cardinality=1.50M
| | in pipelines: 01(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
| Per-Host Resources: mem-estimate=41.00MB mem-reservation=5.00MB thread-reservation=2 runtime-filters-memory=1.00MB
| 01:SCAN HDFS [tpch_parquet.orders t2, RANDOM]
| partitions=1/1 files=2 size=54.07MB
| runtime filters: RF002[bloom] -> t2.o_orderkey
| stored statistics:
| table: rows=1.50M size=54.07MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=1
| tuple-ids=1 row-size=8B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpch_parquet.orders t1, RANDOM]
partitions=1/1 files=2 size=54.07MB
runtime filters: RF000[bloom] -> t1.o_orderkey
stored statistics:
table: rows=1.50M size=54.07MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.18M
mem-estimate=40.00MB mem-reservation=24.00MB thread-reservation=1
tuple-ids=0 row-size=171B cardinality=1.50M
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=176.50MB Threads=11
Per-Host Resource Estimates: Memory=454MB
Analyzed query: SELECT /* +straight_join */ * FROM tpch_parquet.orders t1 INNER
JOIN (SELECT /* +straight_join */ t2.o_orderkey k2, k3, k4 FROM
tpch_parquet.orders t2 INNER JOIN (SELECT /* +straight_join */ t3.o_orderkey k3,
t4.o_orderkey k4 FROM tpch_parquet.orders t3 INNER JOIN tpch_parquet.orders t4
ON t3.o_orderkey = t4.o_orderkey) v2 ON v2.k3 = t2.o_orderkey) v1 ON v1.k3 =
t1.o_orderkey
F05:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.82MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: t1.o_orderkey, t1.o_custkey, t1.o_orderstatus, t1.o_totalprice, t1.o_orderdate, t1.o_orderpriority, t1.o_clerk, t1.o_shippriority, t1.o_comment, t2.o_orderkey, t3.o_orderkey, t4.o_orderkey
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
11:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.82MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1,2,3 row-size=195B cardinality=1.50M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
Per-Host Resources: mem-estimate=157.53MB mem-reservation=118.00MB thread-reservation=2 runtime-filters-memory=1.00MB
06:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=00
| hash predicates: t1.o_orderkey = t3.o_orderkey
| fk/pk conjuncts: t1.o_orderkey = t3.o_orderkey
| runtime filters: RF000[bloom] <- t3.o_orderkey
| mem-estimate=37.77MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=0,1,2,3 row-size=195B cardinality=1.50M
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--F06:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
| | Per-Host Resources: included in parent fragment
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | build expressions: t3.o_orderkey
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| |
| 10:EXCHANGE [BROADCAST]
| | mem-estimate=10.14MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1,2,3 row-size=24B cardinality=1.50M
| | in pipelines: 01(GETNEXT)
| |
| F04:PLAN FRAGMENT [HASH(t3.o_orderkey)] hosts=2 instances=4
| Per-Host Resources: mem-estimate=42.04MB mem-reservation=30.50MB thread-reservation=2 runtime-filters-memory=2.00MB
| 05:HASH JOIN [INNER JOIN, PARTITIONED]
| | hash-table-id=01
| | hash predicates: t2.o_orderkey = t3.o_orderkey
| | fk/pk conjuncts: t2.o_orderkey = t3.o_orderkey
| | runtime filters: RF002[bloom] <- t3.o_orderkey
| | mem-estimate=8.50MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
| | tuple-ids=1,2,3 row-size=24B cardinality=1.50M
| | in pipelines: 01(GETNEXT), 02(OPEN)
| |
| |--F07:PLAN FRAGMENT [HASH(t3.o_orderkey)] hosts=2 instances=4
| | | Per-Host Resources: included in parent fragment
| | JOIN BUILD
| | | join-table-id=01 plan-id=02 cohort-id=02
| | | build expressions: t3.o_orderkey
| | | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | |
| | 04:HASH JOIN [INNER JOIN, PARTITIONED]
| | | hash-table-id=02
| | | hash predicates: t3.o_orderkey = t4.o_orderkey
| | | fk/pk conjuncts: t3.o_orderkey = t4.o_orderkey
| | | runtime filters: RF004[bloom] <- t4.o_orderkey
| | | mem-estimate=4.75MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| | | tuple-ids=2,3 row-size=16B cardinality=1.50M
| | | in pipelines: 02(GETNEXT), 03(OPEN)
| | |
| | |--F08:PLAN FRAGMENT [HASH(t3.o_orderkey)] hosts=2 instances=4
| | | | Per-Host Resources: included in parent fragment
| | | JOIN BUILD
| | | | join-table-id=02 plan-id=03 cohort-id=03
| | | | build expressions: t4.o_orderkey
| | | | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | | |
| | | 08:EXCHANGE [HASH(t4.o_orderkey)]
| | | | mem-estimate=5.77MB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=3 row-size=8B cardinality=1.50M
| | | | in pipelines: 03(GETNEXT)
| | | |
| | | F03:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
| | | Per-Host Resources: mem-estimate=80.00MB mem-reservation=8.00MB thread-reservation=2
| | | 03:SCAN HDFS [tpch_parquet.orders t4, RANDOM]
| | | partitions=1/1 files=2 size=54.07MB
| | | stored statistics:
| | | table: rows=1.50M size=54.07MB
| | | columns: all
| | | extrapolated-rows=disabled max-scan-range-rows=1.18M
| | | mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=0
| | | tuple-ids=3 row-size=8B cardinality=1.50M
| | | in pipelines: 03(GETNEXT)
| | |
| | 07:EXCHANGE [HASH(t3.o_orderkey)]
| | | mem-estimate=5.77MB mem-reservation=0B thread-reservation=0
| | | tuple-ids=2 row-size=8B cardinality=1.50M
| | | in pipelines: 02(GETNEXT)
| | |
| | F02:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
| | Per-Host Resources: mem-estimate=82.00MB mem-reservation=10.00MB thread-reservation=2 runtime-filters-memory=1.00MB
| | 02:SCAN HDFS [tpch_parquet.orders t3, RANDOM]
| | partitions=1/1 files=2 size=54.07MB
| | runtime filters: RF004[bloom] -> t3.o_orderkey
| | stored statistics:
| | table: rows=1.50M size=54.07MB
| | columns: all
| | extrapolated-rows=disabled max-scan-range-rows=1.18M
| | mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=0
| | tuple-ids=2 row-size=8B cardinality=1.50M
| | in pipelines: 02(GETNEXT)
| |
| 09:EXCHANGE [HASH(t2.o_orderkey)]
| | mem-estimate=5.77MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1 row-size=8B cardinality=1.50M
| | in pipelines: 01(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=4
| Per-Host Resources: mem-estimate=82.00MB mem-reservation=10.00MB thread-reservation=2 runtime-filters-memory=1.00MB
| 01:SCAN HDFS [tpch_parquet.orders t2, RANDOM]
| partitions=1/1 files=2 size=54.07MB
| runtime filters: RF002[bloom] -> t2.o_orderkey
| stored statistics:
| table: rows=1.50M size=54.07MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=40.00MB mem-reservation=4.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpch_parquet.orders t1, RANDOM]
partitions=1/1 files=2 size=54.07MB
runtime filters: RF000[bloom] -> t1.o_orderkey
stored statistics:
table: rows=1.50M size=54.07MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.18M
mem-estimate=40.00MB mem-reservation=24.00MB thread-reservation=0
tuple-ids=0 row-size=171B cardinality=1.50M
in pipelines: 00(GETNEXT)
====
# Bushy nested loop join plan. Because of IMPALA-4179 the nested loop join cannot close
# its build-side child immediately after the build phase. Therefore the whole tree of
# joins remains open until the query finishes.
# TODO: IMPALA-4179: the estimates should get lower.
select straight_join *
from tpch_parquet.nation t1
join (
select straight_join t2.n_nationkey k2, k3, k4
from tpch_parquet.nation t2
join (
select straight_join t3.n_nationkey k3, t4.s_suppkey k4
from tpch_parquet.nation t3
join tpch_parquet.supplier t4
) v2
) v1
---- PLAN
Max Per-Host Resource Reservation: Memory=176.00KB Threads=5
Per-Host Resource Estimates: Memory=138MB
Analyzed query: SELECT /* +straight_join */ * FROM tpch_parquet.nation t1 INNER
JOIN (SELECT /* +straight_join */ t2.n_nationkey k2, k3, k4 FROM
tpch_parquet.nation t2 INNER JOIN (SELECT /* +straight_join */ t3.n_nationkey
k3, t4.s_suppkey k4 FROM tpch_parquet.nation t3 INNER JOIN tpch_parquet.supplier
t4) v2) v1
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=137.99MB mem-reservation=176.00KB thread-reservation=5
PLAN-ROOT SINK
| output exprs: t1.n_nationkey, t1.n_name, t1.n_regionkey, t1.n_comment, t2.n_nationkey, t3.n_nationkey, t4.s_suppkey
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
06:NESTED LOOP JOIN [CROSS JOIN]
| mem-estimate=71.53MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1,2,3 row-size=121B cardinality=156.25M
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--05:NESTED LOOP JOIN [CROSS JOIN]
| | mem-estimate=2.38MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1,2,3 row-size=12B cardinality=6.25M
| | in pipelines: 01(GETNEXT), 02(OPEN)
| |
| |--04:NESTED LOOP JOIN [CROSS JOIN]
| | | mem-estimate=78.12KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=2,3 row-size=10B cardinality=250.00K
| | | in pipelines: 02(GETNEXT), 03(OPEN)
| | |
| | |--03:SCAN HDFS [tpch_parquet.supplier t4]
| | | partitions=1/1 files=1 size=882.47KB
| | | stored statistics:
| | | table: rows=10.00K size=882.49KB
| | | columns: all
| | | extrapolated-rows=disabled max-scan-range-rows=10.00K
| | | mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=1
| | | tuple-ids=3 row-size=8B cardinality=10.00K
| | | in pipelines: 03(GETNEXT)
| | |
| | 02:SCAN HDFS [tpch_parquet.nation t3]
| | partitions=1/1 files=1 size=2.75KB
| | stored statistics:
| | table: rows=25 size=2.76KB
| | columns: all
| | extrapolated-rows=disabled max-scan-range-rows=25
| | mem-estimate=16.00MB mem-reservation=8.00KB thread-reservation=1
| | tuple-ids=2 row-size=2B cardinality=25
| | in pipelines: 02(GETNEXT)
| |
| 01:SCAN HDFS [tpch_parquet.nation t2]
| partitions=1/1 files=1 size=2.75KB
| stored statistics:
| table: rows=25 size=2.76KB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=25
| mem-estimate=16.00MB mem-reservation=8.00KB thread-reservation=1
| tuple-ids=1 row-size=2B cardinality=25
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpch_parquet.nation t1]
partitions=1/1 files=1 size=2.75KB
stored statistics:
table: rows=25 size=2.76KB
columns: all
extrapolated-rows=disabled max-scan-range-rows=25
mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=1
tuple-ids=0 row-size=109B cardinality=25
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=176.00KB Threads=9
Per-Host Resource Estimates: Memory=161MB
Analyzed query: SELECT /* +straight_join */ * FROM tpch_parquet.nation t1 INNER
JOIN (SELECT /* +straight_join */ t2.n_nationkey k2, k3, k4 FROM
tpch_parquet.nation t2 INNER JOIN (SELECT /* +straight_join */ t3.n_nationkey
k3, t4.s_suppkey k4 FROM tpch_parquet.nation t3 INNER JOIN tpch_parquet.supplier
t4) v2) v1
F04:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.13MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: t1.n_nationkey, t1.n_name, t1.n_regionkey, t1.n_comment, t2.n_nationkey, t3.n_nationkey, t4.s_suppkey
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
10:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.13MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1,2,3 row-size=121B cardinality=156.25M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
Per-Host Resources: mem-estimate=97.55MB mem-reservation=32.00KB thread-reservation=2
06:NESTED LOOP JOIN [CROSS JOIN, BROADCAST]
| mem-estimate=71.53MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1,2,3 row-size=121B cardinality=156.25M
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--09:EXCHANGE [BROADCAST]
| | mem-estimate=10.02MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1,2,3 row-size=12B cardinality=6.25M
| | in pipelines: 01(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| Per-Host Resources: mem-estimate=20.79MB mem-reservation=8.00KB thread-reservation=2
| 05:NESTED LOOP JOIN [CROSS JOIN, BROADCAST]
| | mem-estimate=2.38MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1,2,3 row-size=12B cardinality=6.25M
| | in pipelines: 01(GETNEXT), 02(OPEN)
| |
| |--08:EXCHANGE [BROADCAST]
| | | mem-estimate=2.40MB mem-reservation=0B thread-reservation=0
| | | tuple-ids=2,3 row-size=10B cardinality=250.00K
| | | in pipelines: 02(GETNEXT)
| | |
| | F02:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | Per-Host Resources: mem-estimate=16.16MB mem-reservation=8.00KB thread-reservation=2
| | 04:NESTED LOOP JOIN [CROSS JOIN, BROADCAST]
| | | mem-estimate=78.12KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=2,3 row-size=10B cardinality=250.00K
| | | in pipelines: 02(GETNEXT), 03(OPEN)
| | |
| | |--07:EXCHANGE [BROADCAST]
| | | | mem-estimate=90.12KB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=3 row-size=8B cardinality=10.00K
| | | | in pipelines: 03(GETNEXT)
| | | |
| | | F03:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | Per-Host Resources: mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=2
| | | 03:SCAN HDFS [tpch_parquet.supplier t4, RANDOM]
| | | partitions=1/1 files=1 size=882.47KB
| | | stored statistics:
| | | table: rows=10.00K size=882.49KB
| | | columns: all
| | | extrapolated-rows=disabled max-scan-range-rows=10.00K
| | | mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=1
| | | tuple-ids=3 row-size=8B cardinality=10.00K
| | | in pipelines: 03(GETNEXT)
| | |
| | 02:SCAN HDFS [tpch_parquet.nation t3, RANDOM]
| | partitions=1/1 files=1 size=2.75KB
| | stored statistics:
| | table: rows=25 size=2.76KB
| | columns: all
| | extrapolated-rows=disabled max-scan-range-rows=25
| | mem-estimate=16.00MB mem-reservation=8.00KB thread-reservation=1
| | tuple-ids=2 row-size=2B cardinality=25
| | in pipelines: 02(GETNEXT)
| |
| 01:SCAN HDFS [tpch_parquet.nation t2, RANDOM]
| partitions=1/1 files=1 size=2.76KB
| stored statistics:
| table: rows=25 size=2.76KB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=25
| mem-estimate=16.00MB mem-reservation=8.00KB thread-reservation=1
| tuple-ids=1 row-size=2B cardinality=25
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpch_parquet.nation t1, RANDOM]
partitions=1/1 files=1 size=2.75KB
stored statistics:
table: rows=25 size=2.76KB
columns: all
extrapolated-rows=disabled max-scan-range-rows=25
mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=1
tuple-ids=0 row-size=109B cardinality=25
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=352.00KB Threads=9
Per-Host Resource Estimates: Memory=311MB
Analyzed query: SELECT /* +straight_join */ * FROM tpch_parquet.nation t1 INNER
JOIN (SELECT /* +straight_join */ t2.n_nationkey k2, k3, k4 FROM
tpch_parquet.nation t2 INNER JOIN (SELECT /* +straight_join */ t3.n_nationkey
k3, t4.s_suppkey k4 FROM tpch_parquet.nation t3 INNER JOIN tpch_parquet.supplier
t4) v2) v1
F04:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.27MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: t1.n_nationkey, t1.n_name, t1.n_regionkey, t1.n_comment, t2.n_nationkey, t3.n_nationkey, t4.s_suppkey
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
10:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.27MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1,2,3 row-size=121B cardinality=156.25M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=2
Per-Host Resources: mem-estimate=195.14MB mem-reservation=64.00KB thread-reservation=2
06:NESTED LOOP JOIN [CROSS JOIN, BROADCAST]
| join table id: 00
| mem-estimate=71.53MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1,2,3 row-size=121B cardinality=156.25M
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--F05:PLAN FRAGMENT [RANDOM] hosts=1 instances=2
| | Per-Host Resources: included in parent fragment
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| |
| 09:EXCHANGE [BROADCAST]
| | mem-estimate=10.05MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1,2,3 row-size=12B cardinality=6.25M
| | in pipelines: 01(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=1 instances=2
| Per-Host Resources: mem-estimate=41.61MB mem-reservation=16.00KB thread-reservation=2
| 05:NESTED LOOP JOIN [CROSS JOIN, BROADCAST]
| | join table id: 01
| | mem-estimate=2.38MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1,2,3 row-size=12B cardinality=6.25M
| | in pipelines: 01(GETNEXT), 02(OPEN)
| |
| |--F06:PLAN FRAGMENT [RANDOM] hosts=1 instances=2
| | | Per-Host Resources: included in parent fragment
| | JOIN BUILD
| | | join-table-id=01 plan-id=02 cohort-id=02
| | | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | |
| | 08:EXCHANGE [BROADCAST]
| | | mem-estimate=2.42MB mem-reservation=0B thread-reservation=0
| | | tuple-ids=2,3 row-size=10B cardinality=250.00K
| | | in pipelines: 02(GETNEXT)
| | |
| | F02:PLAN FRAGMENT [RANDOM] hosts=1 instances=2
| | Per-Host Resources: mem-estimate=32.35MB mem-reservation=16.00KB thread-reservation=2
| | 04:NESTED LOOP JOIN [CROSS JOIN, BROADCAST]
| | | join table id: 02
| | | mem-estimate=78.12KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=2,3 row-size=10B cardinality=250.00K
| | | in pipelines: 02(GETNEXT), 03(OPEN)
| | |
| | |--F07:PLAN FRAGMENT [RANDOM] hosts=1 instances=2
| | | | Per-Host Resources: included in parent fragment
| | | JOIN BUILD
| | | | join-table-id=02 plan-id=03 cohort-id=03
| | | | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | | |
| | | 07:EXCHANGE [BROADCAST]
| | | | mem-estimate=102.12KB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=3 row-size=8B cardinality=10.00K
| | | | in pipelines: 03(GETNEXT)
| | | |
| | | F03:PLAN FRAGMENT [RANDOM] hosts=1 instances=2
| | | Per-Host Resources: mem-estimate=32.00MB mem-reservation=256.00KB thread-reservation=2
| | | 03:SCAN HDFS [tpch_parquet.supplier t4, RANDOM]
| | | partitions=1/1 files=1 size=882.47KB
| | | stored statistics:
| | | table: rows=10.00K size=882.49KB
| | | columns: all
| | | extrapolated-rows=disabled max-scan-range-rows=10.00K
| | | mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
| | | tuple-ids=3 row-size=8B cardinality=10.00K
| | | in pipelines: 03(GETNEXT)
| | |
| | 02:SCAN HDFS [tpch_parquet.nation t3, RANDOM]
| | partitions=1/1 files=1 size=2.75KB
| | stored statistics:
| | table: rows=25 size=2.76KB
| | columns: all
| | extrapolated-rows=disabled max-scan-range-rows=25
| | mem-estimate=16.00MB mem-reservation=8.00KB thread-reservation=0
| | tuple-ids=2 row-size=2B cardinality=25
| | in pipelines: 02(GETNEXT)
| |
| 01:SCAN HDFS [tpch_parquet.nation t2, RANDOM]
| partitions=1/1 files=1 size=2.75KB
| stored statistics:
| table: rows=25 size=2.76KB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=25
| mem-estimate=16.00MB mem-reservation=8.00KB thread-reservation=0
| tuple-ids=1 row-size=2B cardinality=25
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpch_parquet.nation t1, RANDOM]
partitions=1/1 files=1 size=2.76KB
stored statistics:
table: rows=25 size=2.76KB
columns: all
extrapolated-rows=disabled max-scan-range-rows=25
mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=0
tuple-ids=0 row-size=109B cardinality=25
in pipelines: 00(GETNEXT)
====
# Pipeline of analytic nodes. They should be treated as streaming nodes.
select tinyint_col, smallint_col,
sum(smallint_col) over (partition by tinyint_col order by smallint_col),
sum(smallint_col) over (partition by tinyint_col order by smallint_col
rows between unbounded preceding and 1 following),
sum(smallint_col) over (partition by tinyint_col order by smallint_col
rows between 1 following and 2 following)
from functional.alltypesagg
---- PLAN
Max Per-Host Resource Reservation: Memory=18.12MB Threads=2
Per-Host Resource Estimates: Memory=34MB
Codegen disabled by planner
Analyzed query: SELECT tinyint_col, smallint_col, sum(smallint_col) OVER
(PARTITION BY tinyint_col ORDER BY smallint_col ASC), sum(smallint_col) OVER
(PARTITION BY tinyint_col ORDER BY smallint_col ASC ROWS BETWEEN UNBOUNDED
PRECEDING AND 1 FOLLOWING), sum(smallint_col) OVER (PARTITION BY tinyint_col
ORDER BY smallint_col ASC ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING) FROM
functional.alltypesagg
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=34.00MB mem-reservation=18.12MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: tinyint_col, smallint_col, sum(smallint_col), sum(smallint_col), sum(smallint_col)
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
04:ANALYTIC
| functions: sum(smallint_col)
| partition by: tinyint_col
| order by: smallint_col ASC
| window: ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=5,2,3,4 row-size=27B cardinality=11.00K
| in pipelines: 01(GETNEXT)
|
03:ANALYTIC
| functions: sum(smallint_col)
| partition by: tinyint_col
| order by: smallint_col ASC
| window: ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=5,2,3 row-size=19B cardinality=11.00K
| in pipelines: 01(GETNEXT)
|
02:ANALYTIC
| functions: sum(smallint_col)
| partition by: tinyint_col
| order by: smallint_col ASC
| window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=5,2 row-size=11B cardinality=11.00K
| in pipelines: 01(GETNEXT)
|
01:SORT
| order by: tinyint_col ASC NULLS FIRST, smallint_col ASC
| mem-estimate=6.00MB mem-reservation=6.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=5 row-size=3B cardinality=11.00K
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [functional.alltypesagg]
partitions=11/11 files=11 size=814.73KB
stored statistics:
table: rows=11.00K size=814.73KB
partitions: 11/11 rows=11.00K
columns: all
extrapolated-rows=disabled max-scan-range-rows=1.00K
mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=1
tuple-ids=0 row-size=3B cardinality=11.00K
in pipelines: 00(GETNEXT)
====
# Kudu Scan
select * from functional_kudu.alltypes
---- PLAN
Max Per-Host Resource Reservation: Memory=0B Threads=2
Per-Host Resource Estimates: Memory=10MB
Codegen disabled by planner
Analyzed query: SELECT * FROM functional_kudu.alltypes
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=4.88MB mem-reservation=0B thread-reservation=2
PLAN-ROOT SINK
| output exprs: functional_kudu.alltypes.id, functional_kudu.alltypes.bool_col, functional_kudu.alltypes.tinyint_col, functional_kudu.alltypes.smallint_col, functional_kudu.alltypes.int_col, functional_kudu.alltypes.bigint_col, functional_kudu.alltypes.float_col, functional_kudu.alltypes.double_col, functional_kudu.alltypes.date_string_col, functional_kudu.alltypes.string_col, functional_kudu.alltypes.timestamp_col, functional_kudu.alltypes.year, functional_kudu.alltypes.month
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN KUDU [functional_kudu.alltypes]
mem-estimate=4.88MB mem-reservation=0B thread-reservation=1
tuple-ids=0 row-size=97B cardinality=7.30K
in pipelines: 00(GETNEXT)
====
# Kudu Scan of single column
select int_col from functional_kudu.alltypes
---- PLAN
Max Per-Host Resource Reservation: Memory=0B Threads=2
Per-Host Resource Estimates: Memory=10MB
Codegen disabled by planner
Analyzed query: SELECT int_col FROM functional_kudu.alltypes
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=384.00KB mem-reservation=0B thread-reservation=2
PLAN-ROOT SINK
| output exprs: int_col
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN KUDU [functional_kudu.alltypes]
mem-estimate=384.00KB mem-reservation=0B thread-reservation=1
tuple-ids=0 row-size=4B cardinality=7.30K
in pipelines: 00(GETNEXT)
====
# Kudu Scan count(*)
select count(*) from functional_kudu.alltypes
---- PLAN
Max Per-Host Resource Reservation: Memory=0B Threads=2
Per-Host Resource Estimates: Memory=10MB
Codegen disabled by planner
Analyzed query: SELECT count(*) FROM functional_kudu.alltypes
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.38MB mem-reservation=0B thread-reservation=2
PLAN-ROOT SINK
| output exprs: count(*)
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:AGGREGATE [FINALIZE]
| output: sum_init_zero(functional_kudu.alltypes.stats: num_rows)
| mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=8B cardinality=1
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN KUDU [functional_kudu.alltypes]
mem-estimate=384.00KB mem-reservation=0B thread-reservation=1
tuple-ids=0 row-size=0B cardinality=7.30K
in pipelines: 00(GETNEXT)
====
# Kudu Scan
select * from tpch_kudu.nation
---- PLAN
Max Per-Host Resource Reservation: Memory=0B Threads=2
Per-Host Resource Estimates: Memory=10MB
Codegen disabled by planner
Analyzed query: SELECT * FROM tpch_kudu.nation
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=1.50MB mem-reservation=0B thread-reservation=2
PLAN-ROOT SINK
| output exprs: tpch_kudu.nation.n_nationkey, tpch_kudu.nation.n_name, tpch_kudu.nation.n_regionkey, tpch_kudu.nation.n_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
00:SCAN KUDU [tpch_kudu.nation]
mem-estimate=1.50MB mem-reservation=0B thread-reservation=1
tuple-ids=0 row-size=117B cardinality=25
in pipelines: 00(GETNEXT)
====
# IMPALA-7749: Aggregation with a limit should compute memory estimates based on input
# cardinality.
select distinct *
from tpch_parquet.lineitem
limit 5
---- PLAN
Max Per-Host Resource Reservation: Memory=74.00MB Threads=2
Per-Host Resource Estimates: Memory=1.50GB
Analyzed query: SELECT DISTINCT * FROM tpch_parquet.lineitem LIMIT CAST(5 AS
TINYINT)
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=1.50GB mem-reservation=74.00MB thread-reservation=2
PLAN-ROOT SINK
| output exprs: tpch_parquet.lineitem.l_orderkey, tpch_parquet.lineitem.l_partkey, tpch_parquet.lineitem.l_suppkey, tpch_parquet.lineitem.l_linenumber, tpch_parquet.lineitem.l_quantity, tpch_parquet.lineitem.l_extendedprice, tpch_parquet.lineitem.l_discount, tpch_parquet.lineitem.l_tax, tpch_parquet.lineitem.l_returnflag, tpch_parquet.lineitem.l_linestatus, tpch_parquet.lineitem.l_shipdate, tpch_parquet.lineitem.l_commitdate, tpch_parquet.lineitem.l_receiptdate, tpch_parquet.lineitem.l_shipinstruct, tpch_parquet.lineitem.l_shipmode, tpch_parquet.lineitem.l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
01:AGGREGATE [FINALIZE]
| group by: tpch_parquet.lineitem.l_orderkey, tpch_parquet.lineitem.l_partkey, tpch_parquet.lineitem.l_suppkey, tpch_parquet.lineitem.l_linenumber, tpch_parquet.lineitem.l_quantity, tpch_parquet.lineitem.l_extendedprice, tpch_parquet.lineitem.l_discount, tpch_parquet.lineitem.l_tax, tpch_parquet.lineitem.l_returnflag, tpch_parquet.lineitem.l_linestatus, tpch_parquet.lineitem.l_shipdate, tpch_parquet.lineitem.l_commitdate, tpch_parquet.lineitem.l_receiptdate, tpch_parquet.lineitem.l_shipinstruct, tpch_parquet.lineitem.l_shipmode, tpch_parquet.lineitem.l_comment
| limit: 5
| mem-estimate=1.42GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=5
| in pipelines: 01(GETNEXT), 00(OPEN)
|
00:SCAN HDFS [tpch_parquet.lineitem]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=108.00MB Threads=4
Per-Host Resource Estimates: Memory=1.51GB
Analyzed query: SELECT DISTINCT * FROM tpch_parquet.lineitem LIMIT CAST(5 AS
TINYINT)
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=16.00KB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch_parquet.lineitem.l_orderkey, tpch_parquet.lineitem.l_partkey, tpch_parquet.lineitem.l_suppkey, tpch_parquet.lineitem.l_linenumber, tpch_parquet.lineitem.l_quantity, tpch_parquet.lineitem.l_extendedprice, tpch_parquet.lineitem.l_discount, tpch_parquet.lineitem.l_tax, tpch_parquet.lineitem.l_returnflag, tpch_parquet.lineitem.l_linestatus, tpch_parquet.lineitem.l_shipdate, tpch_parquet.lineitem.l_commitdate, tpch_parquet.lineitem.l_receiptdate, tpch_parquet.lineitem.l_shipinstruct, tpch_parquet.lineitem.l_shipmode, tpch_parquet.lineitem.l_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
04:EXCHANGE [UNPARTITIONED]
| limit: 5
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=5
| in pipelines: 03(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(tpch_parquet.lineitem.l_orderkey,tpch_parquet.lineitem.l_partkey,tpch_parquet.lineitem.l_suppkey,tpch_parquet.lineitem.l_linenumber,tpch_parquet.lineitem.l_quantity,tpch_parquet.lineitem.l_extendedprice,tpch_parquet.lineitem.l_discount,tpch_parquet.lineitem.l_tax,tpch_parquet.lineitem.l_returnflag,tpch_parquet.lineitem.l_linestatus,tpch_parquet.lineitem.l_shipdate,tpch_parquet.lineitem.l_commitdate,tpch_parquet.lineitem.l_receiptdate,tpch_parquet.lineitem.l_shipinstruct,tpch_parquet.lineitem.l_shipmode,tpch_parquet.lineitem.l_comment)] hosts=3 instances=3
Per-Host Resources: mem-estimate=737.12MB mem-reservation=34.00MB thread-reservation=1
03:AGGREGATE [FINALIZE]
| group by: tpch_parquet.lineitem.l_orderkey, tpch_parquet.lineitem.l_partkey, tpch_parquet.lineitem.l_suppkey, tpch_parquet.lineitem.l_linenumber, tpch_parquet.lineitem.l_quantity, tpch_parquet.lineitem.l_extendedprice, tpch_parquet.lineitem.l_discount, tpch_parquet.lineitem.l_tax, tpch_parquet.lineitem.l_returnflag, tpch_parquet.lineitem.l_linestatus, tpch_parquet.lineitem.l_shipdate, tpch_parquet.lineitem.l_commitdate, tpch_parquet.lineitem.l_receiptdate, tpch_parquet.lineitem.l_shipinstruct, tpch_parquet.lineitem.l_shipmode, tpch_parquet.lineitem.l_comment
| limit: 5
| mem-estimate=726.43MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=5
| in pipelines: 03(GETNEXT), 00(OPEN)
|
02:EXCHANGE [HASH(tpch_parquet.lineitem.l_orderkey,tpch_parquet.lineitem.l_partkey,tpch_parquet.lineitem.l_suppkey,tpch_parquet.lineitem.l_linenumber,tpch_parquet.lineitem.l_quantity,tpch_parquet.lineitem.l_extendedprice,tpch_parquet.lineitem.l_discount,tpch_parquet.lineitem.l_tax,tpch_parquet.lineitem.l_returnflag,tpch_parquet.lineitem.l_linestatus,tpch_parquet.lineitem.l_shipdate,tpch_parquet.lineitem.l_commitdate,tpch_parquet.lineitem.l_receiptdate,tpch_parquet.lineitem.l_shipinstruct,tpch_parquet.lineitem.l_shipmode,tpch_parquet.lineitem.l_comment)]
| mem-estimate=10.69MB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=806.43MB mem-reservation=74.00MB thread-reservation=2
01:AGGREGATE [STREAMING]
| group by: tpch_parquet.lineitem.l_orderkey, tpch_parquet.lineitem.l_partkey, tpch_parquet.lineitem.l_suppkey, tpch_parquet.lineitem.l_linenumber, tpch_parquet.lineitem.l_quantity, tpch_parquet.lineitem.l_extendedprice, tpch_parquet.lineitem.l_discount, tpch_parquet.lineitem.l_tax, tpch_parquet.lineitem.l_returnflag, tpch_parquet.lineitem.l_linestatus, tpch_parquet.lineitem.l_shipdate, tpch_parquet.lineitem.l_commitdate, tpch_parquet.lineitem.l_receiptdate, tpch_parquet.lineitem.l_shipinstruct, tpch_parquet.lineitem.l_shipmode, tpch_parquet.lineitem.l_comment
| mem-estimate=726.43MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
partitions=1/1 files=3 size=193.60MB
stored statistics:
table: rows=6.00M size=193.59MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=40.00MB thread-reservation=1
tuple-ids=0 row-size=231B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# kudu insert
insert into functional_kudu.tinyinttable values(1);
---- PLAN
Max Per-Host Resource Reservation: Memory=0B Threads=1
Per-Host Resource Estimates: Memory=20MB
Codegen disabled by planner
Analyzed query: SELECT CAST(1 AS TINYINT) UNION SELECT CAST(1 AS TINYINT)
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=20.00MB mem-reservation=0B thread-reservation=1
INSERT INTO KUDU [functional_kudu.tinyinttable]
| output exprs: CAST(1 AS INT)
| mem-estimate=20.00MB mem-reservation=0B thread-reservation=0
|
00:UNION
constant-operands=1
mem-estimate=0B mem-reservation=0B thread-reservation=0
tuple-ids=0 row-size=1B cardinality=1
in pipelines: <none>
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=2.00MB Threads=2
Per-Host Resource Estimates: Memory=22MB
Codegen disabled by planner
Analyzed query: SELECT CAST(1 AS TINYINT) UNION SELECT CAST(1 AS TINYINT)
F01:PLAN FRAGMENT [KUDU(KuduPartition(1))] hosts=1 instances=1
| Per-Host Resources: mem-estimate=22.02MB mem-reservation=2.00MB thread-reservation=1
INSERT INTO KUDU [functional_kudu.tinyinttable]
| output exprs: CAST(1 AS INT)
| mem-estimate=20.00MB mem-reservation=0B thread-reservation=0
|
02:PARTIAL SORT
| order by: KuduPartition(1) ASC NULLS LAST, 1 ASC NULLS LAST
| materialized: KuduPartition(1)
| mem-estimate=2.00MB mem-reservation=2.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=5B cardinality=1
| in pipelines: <none>
|
01:EXCHANGE [KUDU(KuduPartition(1))]
| mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=1B cardinality=1
| in pipelines: <none>
|
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
Per-Host Resources: mem-estimate=0B mem-reservation=0B thread-reservation=1
00:UNION
constant-operands=1
mem-estimate=0B mem-reservation=0B thread-reservation=0
tuple-ids=0 row-size=1B cardinality=1
in pipelines: <none>
====