org.apache.spark.sql.catalyst.plans

logical

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

  2. abstract class BinaryNode extends LogicalPlan with trees.BinaryNode[LogicalPlan]

    A logical plan node with a left and right child.

  3. abstract class Command extends LeafNode

    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.

  4. case class CreateTableAsSelect[T](databaseName: Option[String], tableName: String, child: LogicalPlan, allowExisting: Boolean, desc: Option[T] = None) extends UnaryNode with Product with Serializable

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

    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

    gid

    The attribute represents the virtual column GROUPINGID, and it's also the bitmask indicates the selected GroupBy Expressions for each aggregating output row.

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

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

  8. case class Expand(projections: Seq[GroupExpression], output: Seq[Attribute], child: LogicalPlan) extends UnaryNode with Product with Serializable

    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.

    projections

    The group of expressions, all of the group expressions should output the same schema specified by the parameter output

    output

    The output Schema

    child

    Child operator

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

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

    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.

    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.

    alias

    when set, this string is applied to the schema of the output of the transformation as a qualifier.

  11. trait GroupingAnalytics extends UnaryNode

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

    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

    gid

    The attribute represents the virtual column GROUPINGID, and it's also the bitmask indicates the selected GroupBy Expressions for each aggregating output row. The associated output will be one of the value in bitmasks

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

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

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

  16. abstract class LeafNode extends LogicalPlan with trees.LeafNode[LogicalPlan]

    A logical plan node with no children.

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

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

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

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

  21. abstract class RedistributeData extends UnaryNode

    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(partitionExpressions: Seq[Expression], child: LogicalPlan) extends RedistributeData with Product with Serializable

  23. case class Rollup(groupByExprs: Seq[Expression], child: LogicalPlan, aggregations: Seq[NamedExpression], gid: AttributeReference = VirtualColumn.newGroupingId) extends UnaryNode with GroupingAnalytics with Product with Serializable

    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

    gid

    The attribute represents the virtual column GROUPINGID, and it's also the bitmask indicates the selected GroupBy Expressions for each aggregating output row.

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

  25. trait ScriptInputOutputSchema extends AnyRef

    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.

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

    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.

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

    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

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

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

  30. abstract class UnaryNode extends LogicalPlan with trees.UnaryNode[LogicalPlan]

    A logical plan node with single child.

  31. case class Union(left: LogicalPlan, right: LogicalPlan) extends BinaryNode with Product with Serializable

  32. case class WriteToFile(path: String, child: LogicalPlan) extends UnaryNode with Product with Serializable

Value Members

  1. object LocalRelation extends Serializable

  2. object OneRowRelation extends LeafNode with Product with Serializable

    A relation with one row.

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

Ungrouped