apply(
plan: LogicalPlan): Seq[SparkPlan]
HiveTableScans Execution Planning Strategy
HiveTableScans
is an execution planning strategy (of Hive-specific SparkPlanner) that replaces HiveTableRelation logical operators with HiveTableScanExec physical operators.
Planning Logical Plan for Execution — apply
Method
Note
|
apply is part of GenericStrategy Contract to plan a logical query plan for execution (i.e. generate a collection of SparkPlans for a given logical plan).
|
apply
converts (destructures) the input logical query plan into projection expressions, predicate expressions, and a HiveTableRelation.
apply
requests the HiveTableRelation
for the partition columns and filters the predicates to find so-called pruning predicates (that are expressions with no references and among the partition columns).
In the end, apply
creates a "partial" HiveTableScanExec physical operator (with the HiveTableRelation
and the pruning predicates only) and pruneFilterProject.