org.apache.spark.sql.catalyst.encoders

ExpressionEncoder

case class ExpressionEncoder[T](schema: StructType, flat: Boolean, serializer: Seq[Expression], deserializer: Expression, clsTag: ClassTag[T]) extends Encoder[T] with Product with Serializable

A generic encoder for JVM objects.

schema

The schema after converting T to a Spark SQL row.

serializer

A set of expressions, one for each top-level field that can be used to extract the values from a raw object into an InternalRow.

deserializer

An expression that will construct an object given an InternalRow.

clsTag

A classtag for T.

Linear Supertypes
Product, Equals, Encoder[T], Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ExpressionEncoder
  2. Product
  3. Equals
  4. Encoder
  5. Serializable
  6. Serializable
  7. AnyRef
  8. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ExpressionEncoder(schema: StructType, flat: Boolean, serializer: Seq[Expression], deserializer: Expression, clsTag: ClassTag[T])

    schema

    The schema after converting T to a Spark SQL row.

    serializer

    A set of expressions, one for each top-level field that can be used to extract the values from a raw object into an InternalRow.

    deserializer

    An expression that will construct an object given an InternalRow.

    clsTag

    A classtag for T.

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def assertUnresolved(): Unit

    The process of resolution to a given schema throws away information about where a given field is being bound by ordinal instead of by name.

    The process of resolution to a given schema throws away information about where a given field is being bound by ordinal instead of by name. This method checks to make sure this process has not been done already in places where we plan to do later composition of encoders.

  8. val attrs: Seq[String]

    Attributes
    protected
  9. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. val clsTag: ClassTag[T]

    A classtag for T.

    A classtag for T.

    Definition Classes
    ExpressionEncoderEncoder
  11. val deserializer: Expression

    An expression that will construct an object given an InternalRow.

  12. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  13. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. val flat: Boolean

  15. def fromRow(row: InternalRow): T

    Returns an object of type T, extracting the required values from the provided row.

    Returns an object of type T, extracting the required values from the provided row. Note that you must resolveAndBind an encoder to a specific schema before you can call this function.

  16. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  17. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  18. def namedExpressions: Seq[NamedExpression]

    Returns a new set (with unique ids) of NamedExpression that represent the serialized form of this object.

  19. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  20. final def notify(): Unit

    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  22. def resolveAndBind(attrs: Seq[Attribute] = schema.toAttributes, analyzer: Analyzer = SimpleAnalyzer): ExpressionEncoder[T]

    Returns a new copy of this encoder, where the deserializer is resolved and bound to the given schema.

    Returns a new copy of this encoder, where the deserializer is resolved and bound to the given schema.

    Note that, ideally encoder is used as a container of serde expressions, the resolution and binding stuff should happen inside query framework. However, in some cases we need to use encoder as a function to do serialization directly(e.g. Dataset.collect), then we can use this method to do resolution and binding outside of query framework.

  23. val schema: StructType

    The schema after converting T to a Spark SQL row.

    The schema after converting T to a Spark SQL row.

    Definition Classes
    ExpressionEncoderEncoder
  24. val schemaString: String

    Attributes
    protected
  25. val serializer: Seq[Expression]

    A set of expressions, one for each top-level field that can be used to extract the values from a raw object into an InternalRow.

  26. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  27. def toRow(t: T): InternalRow

    Returns an encoded version of t as a Spark SQL row.

    Returns an encoded version of t as a Spark SQL row. Note that multiple calls to toRow are allowed to return the same actual InternalRow object. Thus, the caller should copy the result before making another call if required.

  28. def toString(): String

    Definition Classes
    ExpressionEncoder → AnyRef → Any
  29. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Product

Inherited from Equals

Inherited from Encoder[T]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped