org.apache.spark.sql.catalyst

dsl

package dsl

A collection of implicit conversions that create a DSL for constructing catalyst data structures.

scala> import org.apache.spark.sql.catalyst.dsl.expressions._

// Standard operators are added to expressions.
scala> import org.apache.spark.sql.catalyst.expressions.Literal
scala> Literal(1) + Literal(1)
res0: org.apache.spark.sql.catalyst.expressions.Add = (1 + 1)

// There is a conversion from 'symbols to unresolved attributes.
scala> 'a.attr
res1: org.apache.spark.sql.catalyst.analysis.UnresolvedAttribute = 'a

// These unresolved attributes can be used to create more complicated expressions.
scala> 'a === 'b
res2: org.apache.spark.sql.catalyst.expressions.EqualTo = ('a = 'b)

// SQL verbs can be used to construct logical query plans.
scala> import org.apache.spark.sql.catalyst.plans.logical._
scala> import org.apache.spark.sql.catalyst.dsl.plans._
scala> LocalRelation('key.int, 'value.string).where('key === 1).select('value).analyze
res3: org.apache.spark.sql.catalyst.plans.logical.LogicalPlan =
Project [value#3]
 Filter (key#2 = 1)
  LocalRelation [key#2,value#3], []
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. dsl
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait ExpressionConversions extends AnyRef

  2. trait ImplicitOperators extends AnyRef

Value Members

  1. object expressions extends ExpressionConversions

  2. object plans

Inherited from AnyRef

Inherited from Any

Ungrouped