Skip to content

SparkStrategy — Base for Execution Planning Strategies

SparkStrategy is an extension of the GenericStrategy abstraction for execution planning strategies that can convert (plan) a logical query plan to zero or more physical query plans for execution.


SparkSessionExtensions is used to inject a planner strategy to a SparkSession.


ExperimentalMethods is used to register extraStrategies globally.

SparkPlanner and extraPlanningStrategies

SparkPlanner defines an extension point for extraPlanningStrategies.

Strategy Type Alias

SparkStrategy is used for Strategy type alias (type synonym) in Spark's code base that is defined in org.apache.spark.sql package object.

type Strategy = SparkStrategy

PlanLater Leaf Physical Operator

SparkStrategy defines PlanLater physical operator that is used as a marker operator to be planned later.

PlanLater cannot be executed and, when requested to execute (using doExecute), simply throws an UnsupportedOperationException.


  plan: LogicalPlan): SparkPlan

planLater creates a PlanLater leaf physical operator for the given LogicalPlan.