Slide 28
Slide 28 text
28
Optimizing
PlanOptimizer
PlanNode
Tree
Hive
Metastore
Optimized PlanNode
Tree
OutputNode
ProjectNode
ExchangeNode
ProjectNode
AggregationNode
ProjectNode
FilterNode
AggregationNode
ExchangeNode
ExchangeNode
("shipdate" < date
'1992-03-01')
suppkey,
sum_9
suppkey,
sum_9
TableScanNode
suppkey, extendedprice,
shipdate
suppkey,
extendedprice
suppkey,
sum_9
suppkey, sum_9,
hash(suppkey)
suppkey,
sum
suppkey,
sum
suppkey,
sum
suppkey, sum_9,
hashvalue
suppkey, extendedprice,
shipdate
apply rule
PlanNode
Tree
OutputNode
ProjectNode
AggregationNode
ProjectNode
ProjectNode
FilterNode
TableScanNode
ProjectNode
ProjectNode
ProjectNode
All 17
columns
("shipdate" < date
'1992-03-01')
suppkey,
extendedprice
suppkey,
extendedprice
suppkey,
sum_9
suppkey_3,
sum_2
suppkey_5,
sum_4
expr_6,
expr
expr_8,
expr_7
All 17
columns
Group
7
Group
6
Group
8
Group
9
Group
0
Group
1
Group
2
Group
3
Group
4
Group
5
Rules
• IterativeOptimizer
• ProjectExpressionRewrite
• AddExchanges
• PruneUnreferencedOutputs
• ApplyConnectorOptimization
• HiveFilterPushdown
• PushdownSubfields
• …
Memo
LogicalPlann
er