org.apache.spark.sql.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 DataFrame which has class X in the schema.

For SparkSQL to recognize UDTs, the UDT must be annotated with SQLUserDefinedType.

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

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: 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 clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def defaultSize: Int

    The default size of a value of the UserDefinedType is 4096 bytes.

    The default size of a value of the UserDefinedType is 4096 bytes.

    Definition Classes
    UserDefinedTypeDataType
  9. final def eq(arg0: AnyRef): Boolean

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

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

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

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

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

    Definition Classes
    Any
  15. def isPrimitive: Boolean

    Definition Classes
    DataType
  16. def json: String

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

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

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

    Definition Classes
    AnyRef
  20. def prettyJson: String

    Definition Classes
    DataType
  21. def pyUDT: String

    Paired Python UDT class, if exists.

  22. def simpleString: String

    Definition Classes
    DataType
  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  24. def toString(): String

    Definition Classes
    AnyRef → Any
  25. def typeName: String

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

    Matches any expression that evaluates to this DataType

    Matches any expression that evaluates to this DataType

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. 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