org.apache.spark.sql.types

UserDefinedType

Related Doc: package types

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: 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. 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
  7. final def eq(arg0: AnyRef): Boolean

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

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

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

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

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

    Definition Classes
    Any
  13. def json: String

    The compact JSON representation of this data type.

    The compact JSON representation of this data type.

    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

    The pretty (i.e.

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

    Definition Classes
    DataType
  18. def pyUDT: String

    Paired Python UDT class, if exists.

  19. def simpleString: String

    Readable string representation for the type.

    Readable string representation for the type.

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

    Definition Classes
    AnyRef
  21. def toString(): String

    Definition Classes
    AnyRef → Any
  22. def typeName: String

    Name of the type used in JSON serialization.

    Name of the type used in JSON serialization.

    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