org.apache.spark.sql.catalyst.types

UserDefinedType

abstract class UserDefinedType[UserType] extends DataType with Serializable

::DeveloperApi:: The data type for User Defined Types (UDTs).

This interface allows a user to make their own classes more interoperable with SparkSQL; e.g., by creating a UserDefinedType for a class X, it becomes possible to create a SchemaRDD which has class X in the schema.

For SparkSQL to recognize UDTs, the UDT must be annotated with org.apache.spark.sql.catalyst.annotation.SQLUserDefinedType.

The conversion via serialize occurs when instantiating a SchemaRDD from another RDD. The conversion via deserialize occurs when reading from a SchemaRDD.

Annotations
@DeveloperApi()
Linear Supertypes
Serializable, Serializable, DataType, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. UserDefinedType
  2. Serializable
  3. Serializable
  4. DataType
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new UserDefinedType()

Abstract Value Members

  1. abstract def deserialize(datum: Any): UserType

    Convert a SQL datum to the user type

  2. abstract def serialize(obj: Any): Any

    Convert the user type to a SQL datum

    Convert the user type to a SQL datum

    TODO: Can we make this take obj: UserType? The issue is in ScalaReflection.convertToCatalyst, where we need to convert Any to UserType.

  3. abstract def sqlType: DataType

    Underlying storage type for this UDT

  4. abstract def userClass: Class[UserType]

    Class object for the UserType

Concrete Value Members

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

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  5. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

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

    Definition Classes
    Any
  12. def isPrimitive: Boolean

    Definition Classes
    DataType
  13. def json: String

    Definition Classes
    DataType
  14. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  17. def prettyJson: String

    Definition Classes
    DataType
  18. def pyUDT: String

    Paired Python UDT class, if exists.

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

    Definition Classes
    AnyRef
  20. def toString(): String

    Definition Classes
    AnyRef → Any
  21. def typeName: String

    Definition Classes
    DataType
  22. def unapply(a: Expression): Boolean

    Matches any expression that evaluates to this DataType

    Matches any expression that evaluates to this DataType

    Definition Classes
    DataType
  23. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from DataType

Inherited from AnyRef

Inherited from Any

Ungrouped