org.apache.spark.sql.catalyst

optimizer

package optimizer

Visibility
  1. Public
  2. All

Type Members

  1. abstract class Optimizer extends RuleExecutor[LogicalPlan]

Value Members

  1. object BooleanSimplification extends Rule[LogicalPlan] with PredicateHelper

    Simplifies boolean expressions: 1.

  2. object ColumnPruning extends Rule[LogicalPlan]

    Attempts to eliminate the reading of unneeded columns from the query plan using the following transformations:

  3. object CombineFilters extends Rule[LogicalPlan]

    Combines two adjacent Filter operators into one, merging the conditions into one conjunctive predicate.

  4. object CombineLimits extends Rule[LogicalPlan]

    Combines two adjacent Limit operators into one, merging the expressions into one single expression.

  5. object ConstantFolding extends Rule[LogicalPlan]

    Replaces Expressions that can be statically evaluated with equivalent Literal values.

  6. object ConvertToLocalRelation extends Rule[LogicalPlan]

    Converts local operations (i.

  7. object DecimalAggregates extends Rule[LogicalPlan]

    Speeds up aggregates on fixed-precision decimals by executing them on unscaled Long values.

  8. object DefaultOptimizer extends Optimizer

  9. object LikeSimplification extends Rule[LogicalPlan]

    Simplifies LIKE expressions that do not need full regular expressions to evaluate the condition.

  10. object NullPropagation extends Rule[LogicalPlan]

    Replaces Expressions that can be statically evaluated with equivalent Literal values.

  11. object OptimizeIn extends Rule[LogicalPlan]

    Replaces (value, seq[Literal]) with optimized version(value, HashSet[Literal]) which is much faster

  12. object ProjectCollapsing extends Rule[LogicalPlan]

    Combines two adjacent Project operators into one and perform alias substitution, merging the expressions into one single expression.

  13. object PushPredicateThroughAggregate extends Rule[LogicalPlan] with PredicateHelper

    Push Filter operators through Aggregate operators, iff the filters reference only non-aggregate attributes (typically literals or grouping expressions).

  14. object PushPredicateThroughGenerate extends Rule[LogicalPlan] with PredicateHelper

    Push Filter operators through Generate operators.

  15. object PushPredicateThroughJoin extends Rule[LogicalPlan] with PredicateHelper

    Pushes down Filter operators where the condition can be evaluated using only the attributes of the left or right side of a join.

  16. object PushPredicateThroughProject extends Rule[LogicalPlan] with PredicateHelper

    Pushes Filter operators through Project operators, in-lining any Aliases that were defined in the projection.

  17. object RemoveDispensableExpressions extends Rule[LogicalPlan]

    Removes nodes that are not necessary.

  18. object RemoveLiteralFromGroupExpressions extends Rule[LogicalPlan]

    Removes literals from group expressions in Aggregate, as they have no effect to the result but only makes the grouping key bigger.

  19. object ReplaceDistinctWithAggregate extends Rule[LogicalPlan]

    Replaces logical Distinct operator with an Aggregate operator.

  20. object SamplePushDown extends Rule[LogicalPlan]

    Pushes operations down into a Sample.

  21. object SetOperationPushDown extends Rule[LogicalPlan] with PredicateHelper

    Pushes certain operations to both sides of a Union, Intersect or Except operator.

  22. object SimplifyCaseConversionExpressions extends Rule[LogicalPlan]

    Removes the inner case conversion expressions that are unnecessary because the inner conversion is overwritten by the outer one.

  23. object SimplifyCasts extends Rule[LogicalPlan]

    Removes Casts that are unnecessary because the input is already the correct type.

  24. object SimplifyFilters extends Rule[LogicalPlan]

    Removes filters that can be evaluated trivially.

Ungrouped