blob: 0fb3fe2d447a1e01c5040c59ff32c30e8dcbf206 [file] [log] [blame]
# Rows per node is < 3000: codegen should be disabled.
select count(*) from functional.alltypes
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=32.00KB Threads=3
Per-Host Resource Estimates: Memory=148MB
Codegen disabled by planner
PLAN-ROOT SINK
|
03:AGGREGATE [FINALIZE]
| output: count:merge(*)
| row-size=8B cardinality=1
|
02:EXCHANGE [UNPARTITIONED]
|
01:AGGREGATE
| output: count(*)
| row-size=8B cardinality=1
|
00:SCAN HDFS [functional.alltypes]
partitions=24/24 files=24 size=478.45KB
row-size=0B cardinality=7.30K
====
# Rows per node is > 3000: codegen should be enabled.
select count(*) from functional.alltypesagg
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=128.00KB Threads=3
Per-Host Resource Estimates: Memory=100MB
PLAN-ROOT SINK
|
03:AGGREGATE [FINALIZE]
| output: count:merge(*)
| row-size=8B cardinality=1
|
02:EXCHANGE [UNPARTITIONED]
|
01:AGGREGATE
| output: count(*)
| row-size=8B cardinality=1
|
00:SCAN HDFS [functional.alltypesagg]
partitions=11/11 files=11 size=814.73KB
row-size=0B cardinality=11.00K
====
# No stats on functional_parquet: codegen should be disabled.
select count(*) from functional_parquet.alltypes
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=16.00KB Threads=3
Per-Host Resource Estimates: Memory=21MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional_parquet.alltypes
PLAN-ROOT SINK
|
03:AGGREGATE [FINALIZE]
| output: count:merge(*)
| row-size=8B cardinality=1
|
02:EXCHANGE [UNPARTITIONED]
|
01:AGGREGATE
| output: sum_init_zero(functional_parquet.alltypes.stats: num_rows)
| row-size=8B cardinality=1
|
00:SCAN HDFS [functional_parquet.alltypes]
partitions=24/24 files=24 size=189.28KB
row-size=8B cardinality=unavailable
====
# > 3000 rows returned to coordinator: codegen should be enabled
select * from functional_parquet.alltypes
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=88.00KB Threads=3
Per-Host Resource Estimates: Memory=128MB
WARNING: The following tables are missing relevant table and/or column statistics.
functional_parquet.alltypes
PLAN-ROOT SINK
|
01:EXCHANGE [UNPARTITIONED]
|
00:SCAN HDFS [functional_parquet.alltypes]
partitions=24/24 files=24 size=189.28KB
row-size=80B cardinality=unavailable
====
# Optimisation is enabled for join producing < 3000 rows
select count(*)
from functional.alltypes t1
join functional.alltypestiny t2 on t1.id = t2.id
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=2.98MB Threads=5
Per-Host Resource Estimates: Memory=183MB
Codegen disabled by planner
PLAN-ROOT SINK
|
06:AGGREGATE [FINALIZE]
| output: count:merge(*)
| row-size=8B cardinality=1
|
05:EXCHANGE [UNPARTITIONED]
|
03:AGGREGATE
| output: count(*)
| row-size=8B cardinality=1
|
02:HASH JOIN [INNER JOIN, BROADCAST]
| hash predicates: t1.id = t2.id
| runtime filters: RF000 <- t2.id
| row-size=8B cardinality=8
|
|--04:EXCHANGE [BROADCAST]
| |
| 01:SCAN HDFS [functional.alltypestiny t2]
| partitions=4/4 files=4 size=460B
| row-size=4B cardinality=8
|
00:SCAN HDFS [functional.alltypes t1]
partitions=24/24 files=24 size=478.45KB
runtime filters: RF000 -> t1.id
row-size=4B cardinality=7.30K
====
# Optimisation is disabled by cross join producing > 3000 rows
select count(*) from functional.alltypes t1, functional.alltypes t2
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=64.00KB Threads=5
Per-Host Resource Estimates: Memory=276MB
PLAN-ROOT SINK
|
06:AGGREGATE [FINALIZE]
| output: count:merge(*)
| row-size=8B cardinality=1
|
05:EXCHANGE [UNPARTITIONED]
|
03:AGGREGATE
| output: count(*)
| row-size=8B cardinality=1
|
02:NESTED LOOP JOIN [CROSS JOIN, BROADCAST]
| row-size=0B cardinality=53.29M
|
|--04:EXCHANGE [BROADCAST]
| |
| 01:SCAN HDFS [functional.alltypes t2]
| partitions=24/24 files=24 size=478.45KB
| row-size=0B cardinality=7.30K
|
00:SCAN HDFS [functional.alltypes t1]
partitions=24/24 files=24 size=478.45KB
row-size=0B cardinality=7.30K
====
# Optimisation is enabled for union producing < 3000 rows
select count(*) from (
select * from functional.alltypes
union all
select * from functional.alltypestiny) v
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=32.00KB Threads=3
Per-Host Resource Estimates: Memory=148MB
Codegen disabled by planner
PLAN-ROOT SINK
|
05:AGGREGATE [FINALIZE]
| output: count:merge(*)
| row-size=8B cardinality=1
|
04:EXCHANGE [UNPARTITIONED]
|
03:AGGREGATE
| output: count(*)
| row-size=8B cardinality=1
|
00:UNION
| pass-through-operands: all
| row-size=0B cardinality=7.31K
|
|--02:SCAN HDFS [functional.alltypestiny]
| partitions=4/4 files=4 size=460B
| row-size=0B cardinality=8
|
01:SCAN HDFS [functional.alltypes]
partitions=24/24 files=24 size=478.45KB
row-size=0B cardinality=7.30K
====
# Optimisation is disabled by union producing > 3000 rows
select count(*) from (
select * from functional.alltypes
union all
select * from functional.alltypes) v
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=32.00KB Threads=3
Per-Host Resource Estimates: Memory=148MB
PLAN-ROOT SINK
|
05:AGGREGATE [FINALIZE]
| output: count:merge(*)
| row-size=8B cardinality=1
|
04:EXCHANGE [UNPARTITIONED]
|
03:AGGREGATE
| output: count(*)
| row-size=8B cardinality=1
|
00:UNION
| pass-through-operands: all
| row-size=0B cardinality=14.60K
|
|--02:SCAN HDFS [functional.alltypes]
| partitions=24/24 files=24 size=478.45KB
| row-size=0B cardinality=7.30K
|
01:SCAN HDFS [functional.alltypes]
partitions=24/24 files=24 size=478.45KB
row-size=0B cardinality=7.30K
====
# Scan with limit on large table: the number of rows scanned is bounded,
# codegen should be disabled
select sum(l_discount)
from (select * from tpch.lineitem limit 1000) v
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
Per-Host Resource Estimates: Memory=274MB
Codegen disabled by planner
PLAN-ROOT SINK
|
01:AGGREGATE [FINALIZE]
| output: sum(tpch.lineitem.l_discount)
| row-size=16B cardinality=1
|
02:EXCHANGE [UNPARTITIONED]
| limit: 1000
|
00:SCAN HDFS [tpch.lineitem]
partitions=1/1 files=1 size=718.94MB
limit: 1000
row-size=8B cardinality=1.00K
====
# Scan with limit and predicates on large table: any number of rows could be scanned:
# codegen should be enabled
select sum(l_discount)
from (select * from tpch.lineitem where l_orderkey > 100 limit 1000) v
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=8.00MB Threads=3
Per-Host Resource Estimates: Memory=274MB
PLAN-ROOT SINK
|
01:AGGREGATE [FINALIZE]
| output: sum(tpch.lineitem.l_discount)
| row-size=16B cardinality=1
|
02:EXCHANGE [UNPARTITIONED]
| limit: 1000
|
00:SCAN HDFS [tpch.lineitem]
partitions=1/1 files=1 size=718.94MB
predicates: l_orderkey > 100
limit: 1000
row-size=16B cardinality=1.00K
====