Package

org.apache.spark.sql.catalyst

planning

Permalink

package planning

Contains classes for enumerating possible physical plans for a given logical query plan.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. planning
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. abstract class GenericStrategy[PhysicalPlan <: TreeNode[PhysicalPlan]] extends Logging

    Permalink

    Given a LogicalPlan, returns a list of PhysicalPlans that can be used for execution.

    Given a LogicalPlan, returns a list of PhysicalPlans that can be used for execution. If this strategy does not apply to the give logical operation then an empty list should be returned.

  2. abstract class QueryPlanner[PhysicalPlan <: TreeNode[PhysicalPlan]] extends AnyRef

    Permalink

    Abstract class for transforming LogicalPlans into physical plans.

    Abstract class for transforming LogicalPlans into physical plans. Child classes are responsible for specifying a list of Strategy objects that each of which can return a list of possible physical plan options. If a given strategy is unable to plan all of the remaining operators in the tree, it can call planLater, which returns a placeholder object that will be filled in using other available strategies.

    TODO: RIGHT NOW ONLY ONE PLAN IS RETURNED EVER... PLAN SPACE EXPLORATION WILL BE IMPLEMENTED LATER.

    PhysicalPlan

    The type of physical plan produced by this QueryPlanner

Value Members

  1. object ExtractEquiJoinKeys extends Logging with PredicateHelper

    Permalink

    A pattern that finds joins with equality conditions that can be evaluated using equi-join.

  2. object FilteredOperation extends PredicateHelper

    Permalink

    A pattern that matches any number of filter operations on top of another relational operator.

    A pattern that matches any number of filter operations on top of another relational operator. Adjacent filter operators are collected and their conditions are broken up and returned as a sequence of conjunctive predicates.

    returns

    A tuple containing a sequence of conjunctive predicates that should be used to filter the output and a relational operator.

  3. object PartialAggregation

    Permalink

    Matches a logical aggregation that can be performed on distributed data in two steps.

    Matches a logical aggregation that can be performed on distributed data in two steps. The first operates on the data in each partition performing partial aggregation for each group. The second occurs after the shuffle and completes the aggregation.

    This pattern will only match if all aggregate expressions can be computed partially and will return the rewritten aggregation expressions for both phases.

    The returned values for this match are as follows:

    • Grouping attributes for the final aggregation.
    • Aggregates for the final aggregation.
    • Grouping expressions for the partial aggregation.
    • Partial aggregate expressions.
    • Input to the aggregation.
  4. object PhysicalOperation extends PredicateHelper

    Permalink

    A pattern that matches any number of project or filter operations on top of another relational operator.

    A pattern that matches any number of project or filter operations on top of another relational operator. All filter operators are collected and their conditions are broken up and returned together with the top project operator. Aliases are in-lined/substituted if necessary.

  5. object Unions

    Permalink

    A pattern that collects all adjacent unions and returns their children as a Seq.

Inherited from AnyRef

Inherited from Any

Ungrouped