Module datafusion_python::optimizer
source · Expand description
re-export of datafusion_optimizer crate
Modules§
AnalyzerandAnalyzerRuleCommonSubexprEliminateto avoid redundant computation of common sub-expressionsPullUpCorrelatedExprconverts correlated subqueries toJoinsEliminateDuplicatedExprRemoves redundant expressionsEliminateGroupByConstantremoves constant expressions fromGROUP BYclauseEliminateLimiteliminatesLIMITwhen possibleEliminateOneUnioneliminates single elementUnionExtractEquijoinPredicateidentifies equality join (equijoin) predicatesFilterNullJoinKeysadds filters to join inputs when input isn’t nullableOptimizeProjectionsidentifies and eliminates unused columnsPropagateEmptyRelationeliminates nodes fed byEmptyRelationPushDownFilterapplies filters as early as possiblePushDownLimitpushesLIMITearlier in the query planRewriteDisjunctivePredicaterewrites predicates to reduce redundancyScalarSubqueryToJoinrewriting scalar subquery filters toJOINsSimplifyExpressionssimplifies expressions in the logical plan,ExprSimplifiersimplifies individualExprs.- Utility functions leveraged by the query optimizer rules
Structs§
- A rule-based Analyzer.
- A rule-based optimizer.
- A standalone
OptimizerConfigthat can be used independently of DataFusion’s config management
Traits§
AnalyzerRules transformLogicalPlans in some way to make the plan valid prior to the rest of the DataFusion optimization process.- Options to control the DataFusion Optimizer.
OptimizerRules transforms oneLogicalPlaninto another which computes the same results, but in a potentially more efficient way. If there are no suitable transformations for the input plan, the optimizer should simply return it unmodified.
Functions§
- optimize_
children Deprecated Convenience rule for writing optimizers: recursively invoke optimize on plan’s children and then return a node of the same type. Useful for optimizer rules which want to leave the type of plan unchanged but still apply to the children. This also handles the case when theplanis aLogicalPlan::Explain.