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.