Class

org.apache.spark.sql.types

UserDefinedType

Related Doc: package types

Permalink

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, AbstractDataType, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. UserDefinedType
  2. Serializable
  3. Serializable
  4. DataType
  5. AbstractDataType
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new UserDefinedType()

    Permalink

Abstract Value Members

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

    Permalink

    Convert a SQL datum to the user type

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

    Permalink

    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

    Permalink

    Underlying storage type for this UDT

  4. abstract def userClass: Class[UserType]

    Permalink

    Class object for the UserType

Concrete Value Members

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

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

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

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

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

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

    Permalink

    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

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

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

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

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

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

    Permalink
    Definition Classes
    Any
  13. def json: String

    Permalink

    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

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

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

    Permalink
    Definition Classes
    AnyRef
  17. def prettyJson: String

    Permalink

    The pretty (i.e.

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

    Definition Classes
    DataType
  18. def pyUDT: String

    Permalink

    Paired Python UDT class, if exists.

  19. def serializedPyClass: String

    Permalink

    Serialized Python UDT class, if exists.

  20. def simpleString: String

    Permalink

    Readable string representation for the type.

    Readable string representation for the type.

    Definition Classes
    DataType → AbstractDataType
  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  22. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  23. def typeName: String

    Permalink

    Name of the type used in JSON serialization.

    Name of the type used in JSON serialization.

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from DataType

Inherited from AbstractDataType

Inherited from AnyRef

Inherited from Any

Ungrouped