Packages

trait Column extends AnyRef

An interface representing a column of a Table. It defines basic properties of a column, such as name and data type, as well as some advanced ones like default column value.

Data Sources do not need to implement it. They should consume it in APIs like Column[], Transform[], Map), and report it in Table#columns() by calling the static create functions of this interface to create it.

A column cannot have both a default value and a generation expression.

Annotations
@Evolving()
Source
Column.java
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Column
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def comment(): String

    Returns the comment of this table column.

    Returns the comment of this table column. Null means no comment.

    Annotations
    @Nullable()
  2. abstract def dataType(): DataType

    Returns the data type of this table column.

  3. abstract def defaultValue(): ColumnDefaultValue

    Returns the default value of this table column.

    Returns the default value of this table column. Null means no default value.

    Annotations
    @Nullable()
  4. abstract def generationExpression(): String

    Returns the generation expression of this table column.

    Returns the generation expression of this table column. Null means no generation expression.

    The generation expression is stored as spark SQL dialect. It is up to the data source to verify expression compatibility and reject writes as necessary.

    Annotations
    @Nullable()
  5. abstract def identityColumnSpec(): IdentityColumnSpec

    Returns the identity column specification of this table column.

    Returns the identity column specification of this table column. Null means no identity column.

    Annotations
    @Nullable()
  6. abstract def metadataInJSON(): String

    Returns the column metadata in JSON format.

    Returns the column metadata in JSON format.

    Annotations
    @Nullable()
  7. abstract def name(): String

    Returns the name of this table column.

  8. abstract def nullable(): Boolean

    Returns true if this column may produce null values.

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[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  10. def id(): String

    Returns the ID of this top-level column, or null.

    Returns the ID of this top-level column, or null. The ID is an opt-in identifier that the connector uses to track column identity beyond column name and type.

    When a non-null ID is returned, the connector commits to the following contract:

    • The ID is stable across renames (logical name changes preserve the ID).
    • The ID changes when a top-level column is dropped and re-added, even with the same name and type.
    • IDs are not reused within a table's history.

    When null is returned, Spark skips identity validation for that column. Connectors should return null when:

    • The catalog has no notion of column identity beyond name and type, OR
    • The connector chooses to treat same-name drop+re-add as the same column (lenient semantics).

    Returning null is per-column: a connector may return IDs for some columns and null for others.

    This API covers top-level columns only. Nested struct fields, array elements, and map keys/values carry their own IDs in struct field metadata. Spark validates both top-level and nested struct field IDs as part of schema compatibility checks (array elements and map/key values' validation is not supported yet). See StructField#id().

    Annotations
    @Nullable()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  15. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  18. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from AnyRef

Inherited from Any

Ungrouped