blob: f36b5e285d2f492b0515f91a34d62a59b2a2f512 [file] [log] [blame]
# Join with tiny build side.
# Uses smallest possible buffers but two max-size buffers are required.
select straight_join *
from tpch_parquet.customer
inner join tpch_parquet.nation on c_nationkey = n_nationkey
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=33.97MB Threads=5
Per-Host Resource Estimates: Memory=68MB
Analyzed query: SELECT /* +straight_join */ * FROM tpch_parquet.customer INNER
JOIN tpch_parquet.nation ON c_nationkey = n_nationkey
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.33MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: tpch_parquet.customer.c_custkey, tpch_parquet.customer.c_name, tpch_parquet.customer.c_address, tpch_parquet.customer.c_nationkey, tpch_parquet.customer.c_phone, tpch_parquet.customer.c_acctbal, tpch_parquet.customer.c_mktsegment, tpch_parquet.customer.c_comment, tpch_parquet.nation.n_nationkey, tpch_parquet.nation.n_name, tpch_parquet.nation.n_regionkey, tpch_parquet.nation.n_comment
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
04:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.33MB mem-reservation=0B thread-reservation=0
| tuple-ids=0,1 row-size=327B cardinality=150.00K
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
Per-Host Resources: mem-estimate=41.95MB mem-reservation=33.94MB thread-reservation=2 runtime-filters-memory=1.00MB
02:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: c_nationkey = n_nationkey
| fk/pk conjuncts: c_nationkey = n_nationkey
| runtime filters: RF000[bloom] <- n_nationkey
| mem-estimate=16.94MB mem-reservation=16.94MB spill-buffer=64.00KB thread-reservation=0
| tuple-ids=0,1 row-size=327B cardinality=150.00K
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--03:EXCHANGE [BROADCAST]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| | tuple-ids=1 row-size=109B cardinality=25
| | in pipelines: 01(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| Per-Host Resources: mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=2
| 01:SCAN HDFS [tpch_parquet.nation, RANDOM]
| HDFS partitions=1/1 files=1 size=3.04KB
| stored statistics:
| table: rows=25 size=3.04KB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=25
| mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=1
| tuple-ids=1 row-size=109B cardinality=25
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpch_parquet.customer, RANDOM]
HDFS partitions=1/1 files=1 size=12.34MB
runtime filters: RF000[bloom] -> c_nationkey
stored statistics:
table: rows=150.00K size=12.34MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=150.00K
mem-estimate=24.00MB mem-reservation=16.00MB thread-reservation=1
tuple-ids=0 row-size=218B cardinality=150.00K
in pipelines: 00(GETNEXT)
====
# Join with large build side.
# Uses default buffer size. Two max-size buffers are required.
select straight_join *
from tpch_parquet.lineitem
left join tpch_parquet.orders on l_orderkey = o_orderkey
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=110.00MB Threads=5
Per-Host Resource Estimates: Memory=410MB
Analyzed query: SELECT /* +straight_join */ * FROM tpch_parquet.lineitem LEFT
OUTER JOIN tpch_parquet.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_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, tpch_parquet.orders.o_orderkey, tpch_parquet.orders.o_custkey, tpch_parquet.orders.o_orderstatus, tpch_parquet.orders.o_totalprice, tpch_parquet.orders.o_orderdate, tpch_parquet.orders.o_orderpriority, tpch_parquet.orders.o_clerk, tpch_parquet.orders.o_shippriority, tpch_parquet.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,1N row-size=402B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=359.29MB mem-reservation=86.00MB thread-reservation=2
02:HASH JOIN [LEFT OUTER JOIN, BROADCAST]
| hash predicates: l_orderkey = o_orderkey
| fk/pk conjuncts: l_orderkey = o_orderkey
| mem-estimate=268.94MB mem-reservation=46.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=0,1N row-size=402B cardinality=6.00M
| 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=40.00MB mem-reservation=24.00MB thread-reservation=2
| 01:SCAN HDFS [tpch_parquet.orders, RANDOM]
| HDFS partitions=1/1 files=2 size=54.21MB
| stored statistics:
| table: rows=1.50M size=54.21MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=40.00MB mem-reservation=24.00MB thread-reservation=1
| tuple-ids=1 row-size=171B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
HDFS partitions=1/1 files=3 size=193.99MB
stored statistics:
table: rows=6.00M size=193.99MB
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)
====
# Null-aware anti-join with medium build side.
# Uses intermediate buffer size plus two max-size buffers.
select * from tpch_parquet.lineitem
where l_orderkey not in (select o_orderkey from tpch_parquet.orders)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=78.00MB Threads=5
Per-Host Resource Estimates: Memory=175MB
Analyzed query: SELECT * FROM tpch_parquet.lineitem NULL AWARE LEFT ANTI JOIN
(SELECT o_orderkey FROM tpch_parquet.orders) `$a$1` (`$c$1`) ON l_orderkey =
`$a$1`.`$c$1`
F02: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
|
04: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=124.02MB mem-reservation=74.00MB thread-reservation=2
02:HASH JOIN [NULL AWARE LEFT ANTI JOIN, BROADCAST]
| hash predicates: l_orderkey = o_orderkey
| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=1.00MB thread-reservation=0
| tuple-ids=0 row-size=231B cardinality=6.00M
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--03:EXCHANGE [BROADCAST]
| | mem-estimate=10.02MB 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=40.00MB mem-reservation=4.00MB thread-reservation=2
| 01:SCAN HDFS [tpch_parquet.orders, RANDOM]
| HDFS partitions=1/1 files=2 size=54.21MB
| stored statistics:
| table: rows=1.50M size=54.21MB
| 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.lineitem, RANDOM]
HDFS partitions=1/1 files=3 size=193.99MB
stored statistics:
table: rows=6.00M size=193.99MB
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)
====
# Mid NDV aggregation.
# Uses smaller-than-default buffer size. Two max-size buffers are required.
select straight_join l_orderkey, o_orderstatus, count(*)
from tpch_parquet.lineitem
join tpch_parquet.orders on o_orderkey = l_orderkey
group by 1, 2
having count(*) = 1
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=110.00MB Threads=7
Per-Host Resource Estimates: Memory=272MB
Analyzed query: SELECT /* +straight_join */ l_orderkey, o_orderstatus, count(*)
FROM tpch_parquet.lineitem INNER JOIN tpch_parquet.orders ON o_orderkey =
l_orderkey GROUP BY l_orderkey, o_orderstatus HAVING count(*) = CAST(1 AS
BIGINT)
F04:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.10MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_orderkey, o_orderstatus, count(*)
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
08:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.10MB mem-reservation=0B thread-reservation=0
| tuple-ids=2 row-size=29B cardinality=4.69M
| in pipelines: 07(GETNEXT)
|
F03:PLAN FRAGMENT [HASH(l_orderkey,o_orderstatus)] hosts=3 instances=3
Per-Host Resources: mem-estimate=41.10MB mem-reservation=31.00MB thread-reservation=1
07:AGGREGATE [FINALIZE]
| output: count:merge(*)
| group by: l_orderkey, o_orderstatus
| having: count(*) = CAST(1 AS BIGINT)
| mem-estimate=31.00MB mem-reservation=31.00MB spill-buffer=1.00MB thread-reservation=0
| tuple-ids=2 row-size=29B cardinality=4.69M
| in pipelines: 07(GETNEXT), 00(OPEN)
|
06:EXCHANGE [HASH(l_orderkey,o_orderstatus)]
| mem-estimate=10.10MB mem-reservation=0B thread-reservation=0
| tuple-ids=2 row-size=29B cardinality=4.69M
| in pipelines: 00(GETNEXT)
|
F02:PLAN FRAGMENT [HASH(l_orderkey)] hosts=3 instances=3
Per-Host Resources: mem-estimate=99.65MB mem-reservation=66.00MB thread-reservation=1 runtime-filters-memory=1.00MB
03:AGGREGATE [STREAMING]
| output: count(*)
| group by: l_orderkey, o_orderstatus
| mem-estimate=47.56MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=2 row-size=29B cardinality=4.69M
| in pipelines: 00(GETNEXT)
|
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=31.00MB mem-reservation=31.00MB spill-buffer=1.00MB thread-reservation=0
| tuple-ids=0,1 row-size=29B cardinality=5.76M
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--05:EXCHANGE [HASH(o_orderkey)]
| | mem-estimate=10.05MB mem-reservation=0B thread-reservation=0
| | tuple-ids=1 row-size=21B cardinality=1.50M
| | in pipelines: 01(GETNEXT)
| |
| F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=2
| Per-Host Resources: mem-estimate=40.00MB mem-reservation=8.00MB thread-reservation=2
| 01:SCAN HDFS [tpch_parquet.orders, RANDOM]
| HDFS partitions=1/1 files=2 size=54.21MB
| stored statistics:
| table: rows=1.50M size=54.21MB
| columns: all
| extrapolated-rows=disabled max-scan-range-rows=1.18M
| mem-estimate=40.00MB mem-reservation=8.00MB thread-reservation=1
| tuple-ids=1 row-size=21B cardinality=1.50M
| in pipelines: 01(GETNEXT)
|
04:EXCHANGE [HASH(l_orderkey)]
| mem-estimate=10.04MB mem-reservation=0B thread-reservation=0
| tuple-ids=0 row-size=8B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=81.00MB mem-reservation=5.00MB thread-reservation=2 runtime-filters-memory=1.00MB
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
HDFS partitions=1/1 files=3 size=193.99MB
runtime filters: RF000[bloom] -> l_orderkey
stored statistics:
table: rows=6.00M size=193.99MB
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)
====
# High NDV aggregation.
# Uses default buffer size. Two max-size buffers are required.
select distinct *
from tpch_parquet.lineitem
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=120.00MB Threads=4
Per-Host Resource Estimates: Memory=1.52GB
Analyzed query: SELECT DISTINCT * FROM tpch_parquet.lineitem
F02: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
|
04:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.69MB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=6.00M
| 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=46.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
| mem-estimate=726.43MB mem-reservation=46.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=231B cardinality=6.00M
| 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]
HDFS partitions=1/1 files=3 size=193.99MB
stored statistics:
table: rows=6.00M size=193.99MB
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)
====
# High NDV aggregation with string aggregation function.
# Uses default buffer size. Two max-size buffers are required.
select l_orderkey, l_partkey, group_concat(l_linestatus, ",")
from tpch_parquet.lineitem
group by 1, 2
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=98.00MB Threads=4
Per-Host Resource Estimates: Memory=276MB
Analyzed query: SELECT l_orderkey, l_partkey, group_concat(l_linestatus, ',')
FROM tpch_parquet.lineitem GROUP BY l_orderkey, l_partkey
F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Host Resources: mem-estimate=10.09MB mem-reservation=0B thread-reservation=1
PLAN-ROOT SINK
| output exprs: l_orderkey, l_partkey, group_concat(l_linestatus, ',')
| mem-estimate=0B mem-reservation=0B thread-reservation=0
|
04:EXCHANGE [UNPARTITIONED]
| mem-estimate=10.09MB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=28B cardinality=6.00M
| in pipelines: 03(GETNEXT)
|
F01:PLAN FRAGMENT [HASH(l_orderkey,l_partkey)] hosts=3 instances=3
Per-Host Resources: mem-estimate=98.23MB mem-reservation=48.00MB thread-reservation=1
03:AGGREGATE [FINALIZE]
| output: group_concat:merge(l_linestatus, ',')
| group by: l_orderkey, l_partkey
| mem-estimate=88.14MB mem-reservation=48.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=28B cardinality=6.00M
| in pipelines: 03(GETNEXT), 00(OPEN)
|
02:EXCHANGE [HASH(l_orderkey,l_partkey)]
| mem-estimate=10.09MB mem-reservation=0B thread-reservation=0
| tuple-ids=1 row-size=28B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
Per-Host Resources: mem-estimate=168.14MB mem-reservation=50.00MB thread-reservation=2
01:AGGREGATE [STREAMING]
| output: group_concat(l_linestatus, ',')
| group by: l_orderkey, l_partkey
| mem-estimate=88.14MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=1 row-size=28B cardinality=6.00M
| in pipelines: 00(GETNEXT)
|
00:SCAN HDFS [tpch_parquet.lineitem, RANDOM]
HDFS partitions=1/1 files=3 size=193.99MB
stored statistics:
table: rows=6.00M size=193.99MB
columns: all
extrapolated-rows=disabled max-scan-range-rows=2.14M
mem-estimate=80.00MB mem-reservation=16.00MB thread-reservation=1
tuple-ids=0 row-size=29B cardinality=6.00M
in pipelines: 00(GETNEXT)
====
# Sort + Analytic.
# The size of buffers for these plan nodes is increased to fit max_row_size.
select max(tinyint_col) over(partition by int_col)
from functional.alltypes
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=40.03MB Threads=4
Per-Host Resource Estimates: Memory=56MB
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=40.04MB mem-reservation=40.00MB thread-reservation=1
02:ANALYTIC
| functions: max(tinyint_col)
| partition by: int_col
| mem-estimate=16.00MB mem-reservation=16.00MB spill-buffer=8.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=24.00MB mem-reservation=24.00MB spill-buffer=8.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]
HDFS 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)
====