Packages

c

org.apache.spark.sql.connector.read

VariantAccessInfo

final class VariantAccessInfo extends Serializable

Variant access information that describes how variant fields are accessed in a query.

This class captures the information needed by data sources to optimize reading variant columns. Instead of reading the entire variant value, the data source can read only the fields that are actually accessed, represented as a structured schema.

For example, if a query accesses variant_get(v, '$.a', 'int') and variant_get(v, '$.b', 'string'), the extracted schema would be struct<0:int, 1:string> where field ordinals correspond to the access order.

Annotations
@Evolving()
Source
VariantAccessInfo.java
Since

4.1.0

Linear Supertypes
Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. VariantAccessInfo
  2. Serializable
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new VariantAccessInfo(columnName: String, extractedSchema: StructType)

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. def columnName(): String

    Returns the name of the variant column.

  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(o: AnyRef): Boolean
    Definition Classes
    VariantAccessInfo → AnyRef → Any
    Annotations
    @Override()
  9. def extractedSchema(): StructType

    Returns the schema representing fields extracted from the variant column.

    Returns the schema representing fields extracted from the variant column.

    The schema structure is:

    • Field names: Typically ordinals ("0", "1", "2", ...) representing access order
    • Field types: The target data type for each field extraction
    • Field metadata: Contains variant-specific information such as JSON path, timezone, and error handling mode

    Data sources should use this schema to determine what fields to extract from the variant and what types they should be converted to.

  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  11. def hashCode(): Int
    Definition Classes
    VariantAccessInfo → AnyRef → Any
    Annotations
    @Override()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    VariantAccessInfo → AnyRef → Any
    Annotations
    @Override()
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  20. 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 Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped