Package

org.apache.spark.sql.catalyst.plans

logical

Permalink

package logical

Visibility
  1. Public
  2. All

Type Members

  1. case class Aggregate(groupingExpressions: Seq[Expression], aggregateExpressions: Seq[NamedExpression], child: LogicalPlan) extends UnaryNode with Product with Serializable

    Permalink
  2. abstract class BinaryNode extends LogicalPlan

    Permalink

    A logical plan node with a left and right child.

  3. case class BroadcastHint(child: LogicalPlan) extends UnaryNode with Product with Serializable

    Permalink

    A hint for the optimizer that we should broadcast the child if used in a join operator.

  4. trait Command extends AnyRef

    Permalink

    A logical node that represents a non-query command to be executed by the system.

    A logical node that represents a non-query command to be executed by the system. For example, commands can be used by parsers to represent DDL operations. Commands, unlike queries, are eagerly executed.

  5. case class Cube(groupByExprs: Seq[Expression], child: LogicalPlan, aggregations: Seq[NamedExpression]) extends UnaryNode with GroupingAnalytics with Product with Serializable

    Permalink

    Cube is a syntactic sugar for GROUPING SETS, and will be transformed to GroupingSets, and eventually will be transformed to Aggregate(.., Expand) in Analyzer

    Cube is a syntactic sugar for GROUPING SETS, and will be transformed to GroupingSets, and eventually will be transformed to Aggregate(.., Expand) in Analyzer

    groupByExprs

    The Group By expressions candidates.

    child

    Child operator

    aggregations

    The Aggregation expressions, those non selected group by expressions will be considered as constant null if it appears in the expressions

  6. case class Distinct(child: LogicalPlan) extends UnaryNode with Product with Serializable

    Permalink

    Returns a new logical plan that dedups input rows.

  7. case class Except(left: LogicalPlan, right: LogicalPlan) extends SetOperation with Product with Serializable

    Permalink
  8. case class Expand(bitmasks: Seq[Int], groupByExprs: Seq[Expression], gid: Attribute, child: LogicalPlan) extends UnaryNode with Product with Serializable

    Permalink

    Apply the all of the GroupExpressions to every input row, hence we will get multiple output rows for a input row.

    Apply the all of the GroupExpressions to every input row, hence we will get multiple output rows for a input row.

    bitmasks

    The bitmask set represents the grouping sets

    groupByExprs

    The grouping by expressions

    child

    Child operator

  9. case class Filter(condition: Expression, child: LogicalPlan) extends UnaryNode with Product with Serializable

    Permalink
  10. case class Generate(generator: Generator, join: Boolean, outer: Boolean, qualifier: Option[String], generatorOutput: Seq[Attribute], child: LogicalPlan) extends UnaryNode with Product with Serializable

    Permalink

    Applies a Generator to a stream of input rows, combining the output of each into a new stream of rows.

    Applies a Generator to a stream of input rows, combining the output of each into a new stream of rows. This operation is similar to a flatMap in functional programming with one important additional feature, which allows the input rows to be joined with their output.

    generator

    the generator expression

    join

    when true, each output row is implicitly joined with the input tuple that produced it.

    outer

    when true, each input row will be output at least once, even if the output of the given generator is empty. outer has no effect when join is false.

    qualifier

    Qualifier for the attributes of generator(UDTF)

    generatorOutput

    The output schema of the Generator.

    child

    Children logical plan node

  11. trait GroupingAnalytics extends UnaryNode

    Permalink
  12. case class GroupingSets(bitmasks: Seq[Int], groupByExprs: Seq[Expression], child: LogicalPlan, aggregations: Seq[NamedExpression]) extends UnaryNode with GroupingAnalytics with Product with Serializable

    Permalink

    A GROUP BY clause with GROUPING SETS can generate a result set equivalent to generated by a UNION ALL of multiple simple GROUP BY clauses.

    A GROUP BY clause with GROUPING SETS can generate a result set equivalent to generated by a UNION ALL of multiple simple GROUP BY clauses.

    We will transform GROUPING SETS into logical plan Aggregate(.., Expand) in Analyzer

    bitmasks

    A list of bitmasks, each of the bitmask indicates the selected GroupBy expressions

    groupByExprs

    The Group By expressions candidates, take effective only if the associated bit in the bitmask set to 1.

    child

    Child operator

    aggregations

    The Aggregation expressions, those non selected group by expressions will be considered as constant null if it appears in the expressions

  13. case class InsertIntoTable(table: LogicalPlan, partition: Map[String, Option[String]], child: LogicalPlan, overwrite: Boolean, ifNotExists: Boolean) extends LogicalPlan with Product with Serializable

    Permalink
  14. case class Intersect(left: LogicalPlan, right: LogicalPlan) extends SetOperation with Product with Serializable

    Permalink
  15. case class Join(left: LogicalPlan, right: LogicalPlan, joinType: JoinType, condition: Option[Expression]) extends BinaryNode with Product with Serializable

    Permalink
  16. abstract class LeafNode extends LogicalPlan

    Permalink

    A logical plan node with no children.

  17. case class Limit(limitExpr: Expression, child: LogicalPlan) extends UnaryNode with Product with Serializable

    Permalink
  18. case class LocalRelation(output: Seq[Attribute], data: Seq[InternalRow] = Nil) extends LeafNode with MultiInstanceRelation with Product with Serializable

    Permalink
  19. abstract class LogicalPlan extends QueryPlan[LogicalPlan] with Logging

    Permalink
  20. case class Project(projectList: Seq[NamedExpression], child: LogicalPlan) extends UnaryNode with Product with Serializable

    Permalink
  21. abstract class RedistributeData extends UnaryNode

    Permalink

    Performs a physical redistribution of the data.

    Performs a physical redistribution of the data. Used when the consumer of the query result have expectations about the distribution and ordering of partitioned input data.

  22. case class Repartition(numPartitions: Int, shuffle: Boolean, child: LogicalPlan) extends UnaryNode with Product with Serializable

    Permalink

    Return a new RDD that has exactly numPartitions partitions.

    Return a new RDD that has exactly numPartitions partitions. Differs from RepartitionByExpression as this method is called directly by DataFrame's, because the user asked for coalesce or repartition. RepartitionByExpression is used when the consumer of the output requires some specific ordering or distribution of the data.

  23. case class RepartitionByExpression(partitionExpressions: Seq[Expression], child: LogicalPlan) extends RedistributeData with Product with Serializable

    Permalink

    This method repartitions data using Expressions, and receives information about the number of partitions during execution.

    This method repartitions data using Expressions, and receives information about the number of partitions during execution. Used when a specific ordering or distribution is expected by the consumer of the query result. Use Repartition for RDD-like coalesce and repartition.

  24. case class Rollup(groupByExprs: Seq[Expression], child: LogicalPlan, aggregations: Seq[NamedExpression]) extends UnaryNode with GroupingAnalytics with Product with Serializable

    Permalink

    Rollup is a syntactic sugar for GROUPING SETS, and will be transformed to GroupingSets, and eventually will be transformed to Aggregate(.., Expand) in Analyzer

    Rollup is a syntactic sugar for GROUPING SETS, and will be transformed to GroupingSets, and eventually will be transformed to Aggregate(.., Expand) in Analyzer

    groupByExprs

    The Group By expressions candidates, take effective only if the associated bit in the bitmask set to 1.

    child

    Child operator

    aggregations

    The Aggregation expressions, those non selected group by expressions will be considered as constant null if it appears in the expressions

  25. case class Sample(lowerBound: Double, upperBound: Double, withReplacement: Boolean, seed: Long, child: LogicalPlan) extends UnaryNode with Product with Serializable

    Permalink

    Sample the dataset.

    Sample the dataset.

    lowerBound

    Lower-bound of the sampling probability (usually 0.0)

    upperBound

    Upper-bound of the sampling probability. The expected fraction sampled will be ub - lb.

    withReplacement

    Whether to sample with replacement.

    seed

    the random seed

    child

    the LogicalPlan

  26. trait ScriptInputOutputSchema extends AnyRef

    Permalink

    A placeholder for implementation specific input and output properties when passing data to a script.

    A placeholder for implementation specific input and output properties when passing data to a script. For example, in Hive this would specify which SerDes to use.

  27. case class ScriptTransformation(input: Seq[Expression], script: String, output: Seq[Attribute], child: LogicalPlan, ioschema: ScriptInputOutputSchema) extends UnaryNode with Product with Serializable

    Permalink

    Transforms the input by forking and running the specified script.

    Transforms the input by forking and running the specified script.

    input

    the set of expression that should be passed to the script.

    script

    the command that should be executed.

    output

    the attributes that are produced by the script.

    ioschema

    the input and output schema applied in the execution of the script.

  28. abstract class SetOperation extends BinaryNode

    Permalink
  29. case class Sort(order: Seq[SortOrder], global: Boolean, child: LogicalPlan) extends UnaryNode with Product with Serializable

    Permalink

    order

    The ordering expressions

    global

    True means global sorting apply for entire data set, False means sorting only apply within the partition.

    child

    Child logical plan

  30. case class SortPartitions(sortExpressions: Seq[SortOrder], child: LogicalPlan) extends RedistributeData with Product with Serializable

    Permalink
  31. case class Subquery(alias: String, child: LogicalPlan) extends UnaryNode with Product with Serializable

    Permalink
  32. abstract class UnaryNode extends LogicalPlan

    Permalink

    A logical plan node with single child.

  33. case class Union(left: LogicalPlan, right: LogicalPlan) extends SetOperation with Product with Serializable

    Permalink
  34. case class Window(projectList: Seq[Attribute], windowExpressions: Seq[NamedExpression], partitionSpec: Seq[Expression], orderSpec: Seq[SortOrder], child: LogicalPlan) extends UnaryNode with Product with Serializable

    Permalink
  35. case class With(child: LogicalPlan, cteRelations: Map[String, Subquery]) extends UnaryNode with Product with Serializable

    Permalink

    A container for holding named common table expressions (CTEs) and a query plan.

    A container for holding named common table expressions (CTEs) and a query plan. This operator will be removed during analysis and the relations will be substituted into child.

    child

    The final query of this CTE.

    cteRelations

    Queries that this CTE defined, key is the alias of the CTE definition, value is the CTE definition.

  36. case class WithWindowDefinition(windowDefinitions: Map[String, WindowSpecDefinition], child: LogicalPlan) extends UnaryNode with Product with Serializable

    Permalink

Value Members

  1. object LocalRelation extends Serializable

    Permalink
  2. object OneRowRelation extends LeafNode with Product with Serializable

    Permalink

    A relation with one row.

    A relation with one row. This is used in "SELECT ..." without a from clause.

Ungrouped