LogicalQueryStageStrategy Execution Planning Strategy¶
LogicalQueryStageStrategy
is an execution planning strategy that plans the following logical operators:
- LogicalQueryStage with BroadcastQueryStageExec physical operator
- Join thereof
LogicalQueryStageStrategy
is part of the strategies of the SparkPlanner.
Executing Strategy¶
apply(
plan: LogicalPlan): Seq[SparkPlan]
For Join operators with an equi-join condition and the left or right side being broadcast stages, apply
gives a BroadcastHashJoinExec physical operator.
For other Join
operators and the left or right side being broadcast stages, apply
gives a BroadcastNestedLoopJoinExec physical operator.
For LogicalQueryStage operators, apply
simply gives the associated physical plan.
apply
is part of the GenericStrategy abstraction.
isBroadcastStage¶
isBroadcastStage(
plan: LogicalPlan): Boolean
isBroadcastStage
is true
when the given LogicalPlan is a LogicalQueryStage leaf logical operator with a BroadcastQueryStageExec physical operator. Otherwise, isBroadcastStage
is false
.