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 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)