CleanupDynamicPruningFilters Logical Optimization¶
CleanupDynamicPruningFilters is a logical optimization for Dynamic Partition Pruning.
CleanupDynamicPruningFilters is a Rule[LogicalPlan] (a Catalyst Rule for logical operators).
CleanupDynamicPruningFilters is part of the Cleanup filters that cannot be pushed down batch of the SparkOptimizer.
Executing Rule¶
apply(
plan: LogicalPlan): LogicalPlan
apply is part of the Rule abstraction.
spark.sql.optimizer.dynamicPartitionPruning.enabled
apply is a noop (does nothing and returns the given LogicalPlan) when executed with spark.sql.optimizer.dynamicPartitionPruning.enabled configuration property disabled.
apply finds logical operators with the following tree patterns:
apply transforms the given logical plan as follows:
-
For LogicalRelation logical operators over HadoopFsRelations,
applyremoveUnnecessaryDynamicPruningSubquery -
For HiveTableRelation logical operators,
applyremoveUnnecessaryDynamicPruningSubquery -
For DataSourceV2ScanRelation logical operators,
applyremoveUnnecessaryDynamicPruningSubquery -
DynamicPruningpredicate expressions inFilterlogical operators are replaced withtrueliterals (cleaned up)