Package

org.apache.spark.sql.catalyst

dsl

Permalink

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
Visibility
  1. Public
  2. All

Type Members

  1. trait ExpressionConversions extends AnyRef

    Permalink
  2. trait ImplicitOperators extends AnyRef

    Permalink

Value Members

  1. object expressions extends ExpressionConversions

    Permalink
  2. object plans

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped