Skip to content

LogicalQueryStageStrategy Execution Planning Strategy

LogicalQueryStageStrategy is an execution planning strategy that plans the following logical operators:

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 Internal Predicate

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.

isBroadcastStage is used when LogicalQueryStageStrategy is executed.


Last update: 2020-08-18