Packages

abstract class RocksDBDataEncoder extends DataEncoder

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

Instance Constructors

  1. new RocksDBDataEncoder(keyStateEncoderSpec: KeyStateEncoderSpec, valueSchema: StructType)

Abstract Value Members

  1. abstract def decodeKey(bytes: Array[Byte]): UnsafeRow

    Decodes a complete key from its serialized byte form.

    Decodes a complete key from its serialized byte form.

    For NoPrefixKeyStateEncoder: Decodes the entire key For PrefixKeyScanStateEncoder: Decodes only the prefix portion

    bytes

    Serialized byte array containing the encoded key

    returns

    UnsafeRow containing the decoded key columns

    Definition Classes
    DataEncoder
    Exceptions thrown

    UnsupportedOperationException for unsupported encoder types

  2. abstract def decodePrefixKeyForRangeScan(bytes: Array[Byte]): UnsafeRow

    Decodes range scan key bytes back into an UnsafeRow, preserving proper ordering.

    Decodes range scan key bytes back into an UnsafeRow, preserving proper ordering.

    This method reverses the special encoding done by encodePrefixKeyForRangeScan: - Interprets sign byte markers - Reverses bit flipping for negative floating point values - Handles null values

    bytes

    Serialized byte array containing the encoded range scan key

    returns

    UnsafeRow containing the decoded range scan columns

    Definition Classes
    DataEncoder
    Exceptions thrown

    UnsupportedOperationException if called on an encoder that doesn't support range scans

  3. abstract def decodeRemainingKey(bytes: Array[Byte]): UnsafeRow

    Decodes the remaining portion of a split key from its serialized form.

    Decodes the remaining portion of a split key from its serialized form.

    For PrefixKeyScanStateEncoder: Decodes columns after the prefix For RangeKeyScanStateEncoder: Decodes non-ordering columns

    bytes

    Serialized byte array containing the encoded remaining key portion

    returns

    UnsafeRow containing the decoded remaining key columns

    Definition Classes
    DataEncoder
    Exceptions thrown

    UnsupportedOperationException if called on an encoder that doesn't support split keys

  4. abstract def decodeValue(bytes: Array[Byte]): UnsafeRow

    Decodes a value from its serialized byte form.

    Decodes a value from its serialized byte form.

    bytes

    Serialized byte array containing the encoded value

    returns

    UnsafeRow containing the decoded value columns

    Definition Classes
    DataEncoder
  5. abstract def encodeKey(row: UnsafeRow): Array[Byte]

    Encodes a complete key row into bytes.

    Encodes a complete key row into bytes. Used as the primary key for state lookups.

    row

    An UnsafeRow containing all key columns as defined in the keySchema

    returns

    Serialized byte array representation of the key

    Definition Classes
    DataEncoder
  6. abstract def encodePrefixKeyForRangeScan(row: UnsafeRow): Array[Byte]

    Encodes key columns used for range scanning, ensuring proper sort order in RocksDB.

    Encodes key columns used for range scanning, ensuring proper sort order in RocksDB.

    This method handles special encoding for numeric types to maintain correct sort order: - Adds sign byte markers for numeric types - Flips bits for negative floating point values - Preserves null ordering

    row

    An UnsafeRow containing the columns needed for range scan (specified by orderingOrdinals)

    returns

    Serialized bytes that will maintain correct sort order in RocksDB

    Definition Classes
    DataEncoder
    Exceptions thrown

    UnsupportedOperationException if called on an encoder that doesn't support range scans

  7. abstract def encodeRemainingKey(row: UnsafeRow): Array[Byte]

    Encodes the non-prefix portion of a key row.

    Encodes the non-prefix portion of a key row. Used with prefix scan and range scan state lookups where the key is split into prefix and remaining portions.

    For prefix scans: Encodes columns after the prefix columns For range scans: Encodes columns not included in the ordering columns

    row

    An UnsafeRow containing only the remaining key columns

    returns

    Serialized byte array of the remaining key portion

    Definition Classes
    DataEncoder
    Exceptions thrown

    UnsupportedOperationException if called on an encoder that doesn't support split keys

  8. abstract def encodeValue(row: UnsafeRow): Array[Byte]

    Encodes a value row into bytes.

    Encodes a value row into bytes.

    row

    An UnsafeRow containing the value columns as defined in the valueSchema

    returns

    Serialized byte array representation of the value

    Definition Classes
    DataEncoder
  9. abstract def supportsSchemaEvolution: Boolean
    Definition Classes
    DataEncoder

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. def decodeStateSchemaIdRow(bytes: Array[Byte]): StateSchemaIdRow
  7. def decodeToUnsafeRow(bytes: Array[Byte], reusedRow: UnsafeRow): UnsafeRow
  8. def decodeToUnsafeRow(bytes: Array[Byte], numFields: Int): UnsafeRow
  9. val doubleFlipBitMask: Long
  10. val doubleSignBitMask: Long
  11. def encodeUnsafeRow(row: UnsafeRow): Array[Byte]

    Encode the UnsafeRow of N bytes as a N+1 byte array.

    Encode the UnsafeRow of N bytes as a N+1 byte array.

    Note

    This creates a new byte array and memcopies the UnsafeRow to the new array.

  12. def encodeWithStateSchemaId(schemaIdRow: StateSchemaIdRow): Array[Byte]
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  15. val floatFlipBitMask: Int
  16. val floatSignBitMask: Int
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. val keySchema: StructType
  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. val negativeValMarker: Byte
  23. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  25. val nullValMarker: Byte
  26. val positiveValMarker: Byte
  27. val reusedKeyRow: UnsafeRow
  28. val reusedValueRow: UnsafeRow
  29. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  30. def toString(): String
    Definition Classes
    AnyRef → Any
  31. def unsupportedOperationForKeyStateEncoder(operation: String): UnsupportedOperationException
  32. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  33. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  34. 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 DataEncoder

Inherited from AnyRef

Inherited from Any

Ungrouped