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 CatalystTypeConverters.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 json: String

    The compact JSON representation of this data type.

    The compact JSON representation of this data type.

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

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

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

    Definition Classes
    AnyRef
  19. def prettyJson: String

    The pretty (i.

    The pretty (i.e. indented) JSON representation of this data type.

    Definition Classes
    DataType
  20. def pyUDT: String

    Paired Python UDT class, if exists.

  21. def simpleString: String

    Readable string representation for the type.

    Readable string representation for the type.

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

    Definition Classes
    AnyRef
  23. def toString(): String

    Definition Classes
    AnyRef → Any
  24. def typeName: String

    Name of the type used in JSON serialization.

    Name of the type used in JSON serialization.

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

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

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