The directly example is this TPC-H sql:
```
select l.l_orderkey, sum(l.l_extendedprice * (1 - l.l_discount)) as revenue,
o.o_orderdate, o.o_shippriority
from dfs.`/tpch-parquet/customer` c, dfs.`/tpch-parquet/orders` o,
dfs.`/tpch-parquet/lineitem` l
where c.c_mktsegment = 'HOUSEHOLD' and c.c_custkey = o.o_custkey and
l.l_orderkey = o.o_orderkey and o.o_orderdate < date '1995-03-25' and
l.l_shipdate > date '1995-03-25'
group by l.l_orderkey, o.o_orderdate, o.o_shippriority
order by revenue desc, o.o_orderdate limit 10
```
The corresponding plan is:
```
00-00 Screen : rowType = RecordType(ANY l_orderkey, ANY revenue, ANY
o_orderdate, ANY o_shippriority): rowcount = 10.0, cumulative cost =
{4051714.1799999997 rows, 3.094535517999211E7 cpu, 0.0 io, 0.0 network,
1.2986673920000002E7 memory}, id = 3423
00-01 Project(l_orderkey=[$0], revenue=[$1], o_orderdate=[$2],
o_shippriority=[$3]) : rowType = RecordType(ANY l_orderkey, ANY revenue, ANY
o_orderdate, ANY o_shippriority): rowcount = 10.0, cumulative cost =
{4051713.1799999997 rows, 3.094535417999211E7 cpu, 0.0 io, 0.0 network,
1.2986673920000002E7 memory}, id = 3422
00-02 SelectionVectorRemover : rowType = RecordType(ANY l_orderkey, ANY
revenue, ANY o_orderdate, ANY o_shippriority): rowcount = 10.0, cumulative cost
= {4051703.1799999997 rows, 3.094531417999211E7 cpu, 0.0 io, 0.0 network,
1.2986673920000002E7 memory}, id = 3421
00-03 Limit(fetch=[10]) : rowType = RecordType(ANY l_orderkey, ANY
revenue, ANY o_orderdate, ANY o_shippriority): rowcount = 10.0, cumulative cost
= {4051693.1799999997 rows, 3.094530417999211E7 cpu, 0.0 io, 0.0 network,
1.2986673920000002E7 memory}, id = 3420
00-04 SelectionVectorRemover : rowType = RecordType(ANY l_orderkey,
ANY revenue, ANY o_orderdate, ANY o_shippriority): rowcount =
3002.8599999999997, cumulative cost = {4051683.1799999997 rows,
3.094526417999211E7 cpu, 0.0 io, 0.0 network, 1.2986673920000002E7 memory}, id
= 3419
00-05 TopN(limit=[10]) : rowType = RecordType(ANY l_orderkey, ANY
revenue, ANY o_orderdate, ANY o_shippriority): rowcount = 3002.8599999999997,
cumulative cost = {4048680.32 rows, 3.094226131999211E7 cpu, 0.0 io, 0.0
network, 1.2986673920000002E7 memory}, id = 3418
00-06 Project(l_orderkey=[$0], revenue=[$3], o_orderdate=[$1],
o_shippriority=[$2]) : rowType = RecordType(ANY l_orderkey, ANY revenue, ANY
o_orderdate, ANY o_shippriority): rowcount = 3002.8599999999997, cumulative
cost = {4045677.46 rows, 3.0862459040000003E7 cpu, 0.0 io, 0.0 network,
1.2986673920000002E7 memory}, id = 3417
00-07 HashAgg(group=[{0, 1, 2}], revenue=[SUM($3)]) : rowType
= RecordType(ANY l_orderkey, ANY o_orderdate, ANY o_shippriority, ANY revenue):
rowcount = 3002.8599999999997, cumulative cost = {4042674.6 rows, 3.08504476E7
cpu, 0.0 io, 0.0 network, 1.2986673920000002E7 memory}, id = 3416
00-08 HashAgg(group=[{0, 1, 2}], revenue=[SUM($3)]) :
rowType = RecordType(ANY l_orderkey, ANY o_orderdate, ANY o_shippriority, ANY
revenue): rowcount = 30028.6, cumulative cost = {4012646.0 rows, 2.9769418E7
cpu, 0.0 io, 0.0 network, 1.1929667200000001E7 memory}, id = 3415
00-09 Project(l_orderkey=[$6], o_orderdate=[$4],
o_shippriority=[$5], $f3=[*($8, -(1, $9))]) : rowType = RecordType(ANY
l_orderkey, ANY o_orderdate, ANY o_shippriority, ANY $f3): rowcount = 300286.0,
cumulative cost = {3712360.0 rows, 1.8959122E7 cpu, 0.0 io, 0.0 network,
1359600.0 memory}, id = 3414
00-10 Project(c_mktsegment=[$8], c_custkey=[$9],
o_custkey=[$4], o_orderkey=[$5], o_orderdate=[$6], o_shippriority=[$7],
l_orderkey=[$0], l_shipdate=[$1], l_extendedprice=[$2], l_discount=[$3]) :
rowType = RecordType(ANY c_mktsegment, ANY c_custkey, ANY o_custkey, ANY
o_orderkey, ANY o_orderdate, ANY o_shippriority, ANY l_orderkey, ANY
l_shipdate, ANY l_extendedprice, ANY l_discount): rowcount = 300286.0,
cumulative cost = {3412074.0 rows, 1.685712E7 cpu, 0.0 io, 0.0 network,
1359600.0 memory}, id = 3413
00-11 HashJoin(condition=[=($5, $0)],
joinType=[inner]) : rowType = RecordType(ANY l_orderkey, ANY l_shipdate, ANY
l_extendedprice, ANY l_discount, ANY o_custkey, ANY o_orderkey, ANY
o_orderdate, ANY o_shippriority, ANY c_mktsegment, ANY c_custkey): rowcount =
300286.0, cumulative cost = {3111788.0 rows, 1.385426E7 cpu, 0.0 io, 0.0
network, 1359600.0 memory}, id = 3412
00-13 SelectionVectorRemover : rowType =
RecordType(ANY l_orderkey, ANY l_shipdate, ANY l_extendedprice, ANY
l_discount): rowcount = 300286.0, cumulative cost = {2102002.0 rows, 6906578.0
cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 3403
00-16 Filter(condition=[>($1, 1995-03-25)]) :
rowType = RecordType(ANY l_orderkey, ANY l_shipdate, ANY l_extendedprice, ANY
l_discount): rowcount = 300286.0, cumulative cost = {1801716.0 rows, 6606292.0
cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 3402
00-19 RuntimeFilter : rowType = RecordType(ANY
l_orderkey, ANY l_shipdate, ANY l_extendedprice, ANY l_discount): rowcount =
600572.0, cumulative cost = {1201144.0 rows, 3002860.0 cpu, 0.0 io, 0.0
network, 0.0 memory}, id = 3401
00-22 Scan(groupscan=[ParquetGroupScan
[entries=[ReadEntryWithPath
[path=hdfs://10.210.214.42:8020/tpch-parquet/lineitem]],
selectionRoot=hdfs://10.210.214.42:8020/tpch-parquet/lineitem, numFiles=1,
numRowGroups=1, usedMetadataFile=false, columns=[`l_orderkey`, `l_shipdate`,
`l_extendedprice`, `l_discount`]]]) : rowType = RecordType(ANY l_orderkey, ANY
l_shipdate, ANY l_extendedprice, ANY l_discount): rowcount = 600572.0,
cumulative cost = {600572.0 rows, 2402288.0 cpu, 0.0 io, 0.0 network, 0.0
memory}, id = 3400
00-12 HashJoin(condition=[=($5, $0)],
joinType=[inner]) : rowType = RecordType(ANY o_custkey, ANY o_orderkey, ANY
o_orderdate, ANY o_shippriority, ANY c_mktsegment, ANY c_custkey): rowcount =
75000.0, cumulative cost = {634500.0 rows, 2744250.0 cpu, 0.0 io, 0.0 network,
39600.0 memory}, id = 3411
00-15 SelectionVectorRemover : rowType =
RecordType(ANY o_custkey, ANY o_orderkey, ANY o_orderdate, ANY o_shippriority):
rowcount = 75000.0, cumulative cost = {525000.0 rows, 1725000.0 cpu, 0.0 io,
0.0 network, 0.0 memory}, id = 3407
00-18 Filter(condition=[<($2, 1995-03-25)]) :
rowType = RecordType(ANY o_custkey, ANY o_orderkey, ANY o_orderdate, ANY
o_shippriority): rowcount = 75000.0, cumulative cost = {450000.0 rows,
1650000.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 3406
00-21 RuntimeFilter : rowType = RecordType(ANY
o_custkey, ANY o_orderkey, ANY o_orderdate, ANY o_shippriority): rowcount =
150000.0, cumulative cost = {300000.0 rows, 750000.0 cpu, 0.0 io, 0.0 network,
0.0 memory}, id = 3405
00-23 Scan(groupscan=[ParquetGroupScan
[entries=[ReadEntryWithPath
[path=hdfs://10.210.214.42:8020/tpch-parquet/orders]],
selectionRoot=hdfs://10.210.214.42:8020/tpch-parquet/orders, numFiles=1,
numRowGroups=1, usedMetadataFile=false, columns=[`o_custkey`, `o_orderkey`,
`o_orderdate`, `o_shippriority`]]]) : rowType = RecordType(ANY o_custkey, ANY
o_orderkey, ANY o_orderdate, ANY o_shippriority): rowcount = 150000.0,
cumulative cost = {150000.0 rows, 600000.0 cpu, 0.0 io, 0.0 network, 0.0
memory}, id = 3404
00-14 SelectionVectorRemover : rowType =
RecordType(ANY c_mktsegment, ANY c_custkey): rowcount = 2250.0, cumulative cost
= {32250.0 rows, 101250.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 3410
00-17 Filter(condition=[=($0, 'HOUSEHOLD')]) :
rowType = RecordType(ANY c_mktsegment, ANY c_custkey): rowcount = 2250.0,
cumulative cost = {30000.0 rows, 99000.0 cpu, 0.0 io, 0.0 network, 0.0 memory},
id = 3409
00-20 Scan(groupscan=[ParquetGroupScan
[entries=[ReadEntryWithPath
[path=hdfs://10.210.214.42:8020/tpch-parquet/customer]],
selectionRoot=hdfs://10.210.214.42:8020/tpch-parquet/customer, numFiles=1,
numRowGroups=1, usedMetadataFile=false, columns=[`c_mktsegment`,
`c_custkey`]]]) : rowType = RecordType(ANY c_mktsegment, ANY c_custkey):
rowcount = 15000.0, cumulative cost = {15000.0 rows, 30000.0 cpu, 0.0 io, 0.0
network, 0.0 memory}, id = 3408
```
[ Full content available at: https://github.com/apache/drill/pull/1459 ]
This message was relayed via gitbox.apache.org for [email protected]