Files
impala/testdata/workloads/functional-query/queries/QueryTest/explain-level3.test
Tim Armstrong b7d509d761 IMPALA-7231: group plan nodes into pipelines
This adds some informational output to explain plans and
sends the information to the backend.

The idea is that this will make it easier to explain how Impala's
pipelined execution works and also enable future work on profile
analysis that can more intelligently group plan nodes.

Tests:
* Updated planner tests to include new output.

Change-Id: I1d10eb14d997242f445e5c5fc5362d5410370721
Reviewed-on: http://gerrit.cloudera.org:8080/10848
Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
2018-08-10 19:31:30 +00:00

74 lines
3.2 KiB
Plaintext

====
---- QUERY
# Explain a simple hash join query.
explain
select *
from tpch.lineitem join tpch.orders on l_orderkey = o_orderkey;
---- RESULTS: VERIFY_IS_EQUAL
row_regex:.*Max Per-Host Resource Reservation: Memory=[0-9.]*MB Threads=[0-9]*.*
row_regex:.*Per-Host Resource Estimates: Memory=[0-9.]*MB.*
''
'F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1'
'Per-Host Resources: mem-estimate=0B mem-reservation=0B thread-reservation=1'
' PLAN-ROOT SINK'
' | mem-estimate=0B mem-reservation=0B thread-reservation=0'
' |'
' 04:EXCHANGE [UNPARTITIONED]'
' mem-estimate=0B mem-reservation=0B thread-reservation=0'
' tuple-ids=0,1 row-size=454B cardinality=5757710'
' in pipelines: 00(GETNEXT)'
''
'F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=3'
row_regex:.*Per-Host Resources: mem-estimate=[0-9.]*MB mem-reservation=[0-9.]*MB thread-reservation=.*
' DATASTREAM SINK [FRAGMENT=F02, EXCHANGE=04, UNPARTITIONED]'
' | mem-estimate=0B mem-reservation=0B thread-reservation=0'
' 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'
row_regex:.* | mem-estimate=[0-9.]*MB mem-reservation=[0-9.]*MB spill-buffer=[0-9.]*MB thread-reservation=.*
' | tuple-ids=0,1 row-size=454B cardinality=5757710'
' | in pipelines: 00(GETNEXT), 01(OPEN)'
' |'
' |--03:EXCHANGE [BROADCAST]'
' | mem-estimate=0B mem-reservation=0B thread-reservation=0'
' | tuple-ids=1 row-size=191B cardinality=1500000'
' | in pipelines: 01(GETNEXT)'
' |'
' 00:SCAN HDFS [tpch.lineitem, RANDOM]'
row_regex:.*partitions=1/1 files=1 size=.*
' runtime filters: RF000[bloom] -> l_orderkey'
' stored statistics:'
row_regex:.*table: rows=6001215 size=.*
' columns: all'
row_regex:.*| extrapolated-rows=disabled max-scan-range-rows=[0-9]*.*
row_regex:.* mem-estimate=[0-9.]*MB mem-reservation=[0-9.]*MB thread-reservation=1.*
' tuple-ids=0 row-size=263B cardinality=6001215'
' in pipelines: 00(GETNEXT)'
''
'F01:PLAN FRAGMENT [RANDOM] hosts=2 instances=2'
row_regex:.*Per-Host Resources: mem-estimate=[0-9.]*MB mem-reservation=[0-9.]*MB thread-reservation=.*
' DATASTREAM SINK [FRAGMENT=F00, EXCHANGE=03, BROADCAST]'
' | mem-estimate=0B mem-reservation=0B thread-reservation=0'
' 01:SCAN HDFS [tpch.orders, RANDOM]'
row_regex:.*partitions=1/1 files=1 size=.*
' stored statistics:'
row_regex:.*table: rows=1500000 size=.*
' columns: all'
row_regex:.* extrapolated-rows=disabled max-scan-range-rows=[0-9]*.*
row_regex:.* mem-estimate=[0-9.]*MB mem-reservation=[0-9.]*MB thread-reservation=.*
' tuple-ids=1 row-size=191B cardinality=1500000'
' in pipelines: 01(GETNEXT)'
====
---- QUERY
# Tests the warning about missing table stats in the explain header.
explain select count(t1.int_col), avg(t2.float_col), sum(t3.bigint_col)
from functional_avro.alltypes t1
inner join functional_parquet.alltypessmall t2 on (t1.id = t2.id)
left outer join functional_avro.alltypes t3 on (t2.id = t3.id)
where t1.month = 1 and t2.year = 2009 and t3.bool_col = false
---- RESULTS: VERIFY_IS_SUBSET
'WARNING: The following tables are missing relevant table and/or column statistics.'
'functional_avro.alltypes, functional_parquet.alltypessmall'
====