Skip to content

ApplyColumnarRulesAndInsertTransitions Physical Optimization

ApplyColumnarRulesAndInsertTransitions is a physical query plan optimization.

ApplyColumnarRulesAndInsertTransitions is a Catalyst rule for transforming physical plans (Rule[SparkPlan]).

Creating Instance

ApplyColumnarRulesAndInsertTransitions takes the following to be created:

ApplyColumnarRulesAndInsertTransitions is created when:

Executing Rule

apply(
  plan: SparkPlan): SparkPlan

apply...FIXME

apply is part of the Rule abstraction.

Inserting ColumnarToRowExec Transitions

insertTransitions(
  plan: SparkPlan): SparkPlan

insertTransitions simply creates a ColumnarToRowExec physical operator for the given SparkPlan that supportsColumnar. The child of the ColumnarToRowExec operator is created using insertRowToColumnar.

Inserting RowToColumnarExec Transitions

insertRowToColumnar(
  plan: SparkPlan): SparkPlan

insertRowToColumnar simply creates a RowToColumnarExec physical operator for the given SparkPlan that does not supportsColumnar. The child of the RowToColumnarExec operator is created using insertTransitions. Otherwise, insertRowToColumnar requests the operator for child operators and insertRowToColumnar.

Back to top