Packages

  • package root
    Definition Classes
    root
  • package com
    Definition Classes
    root
  • package adform
    Definition Classes
    com
  • package streamloader

    The entry point of the stream loader library is the StreamLoader class, which requires a KafkaSource and a Sink.

    The entry point of the stream loader library is the StreamLoader class, which requires a KafkaSource and a Sink. Once started it will subscribe to the provided topics and will start polling and sinking records. The sink has to be able to persist records and to look up committed offsets (technically this is optional, but without it there would be no way to provide any delivery guarantees). A large class of sinks are batch based, implemented as RecordBatchingSink. This sink accumulate batches of records using some RecordBatcher and once ready, stores them to some underlying RecordBatchStorage. A common type of batch is file based, i.e. a batcher might write records to a temporary file and once the file is full the sink commits the file to some underlying storage, such as a database or a distributed file system like HDFS.

    A sketch of the class hierarchy illustrating the main classes and interfaces can be seen below.



    For concrete storage implementations see the clickhouse, hadoop, s3 and vertica packages. They also contain more file builder implementations than just the CsvFileBuilder included in the core library.

    Definition Classes
    adform
  • package iceberg
    Definition Classes
    streamloader
  • IcebergRecordBatch
  • IcebergRecordBatchBuilder
  • IcebergRecordBatchStorage
  • IcebergRecordBatcher

class IcebergRecordBatchStorage extends InDataOffsetBatchStorage[IcebergRecordBatch]

Iceberg record batch storage that appends multiple files and stores Kafka offsets in table properties in a single atomic table transaction. An optional lock can be specified to use when committing batches in order to reduce possible commit storms.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IcebergRecordBatchStorage
  2. InDataOffsetBatchStorage
  3. Logging
  4. RecordBatchStorage
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new IcebergRecordBatchStorage(table: Table, commitLock: Option[Lock])

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]) @native()
  6. final def commitBatch(batch: IcebergRecordBatch): Unit

    Stores a given batch to storage and commits offsets, preferably in a single atomic transaction.

    Stores a given batch to storage and commits offsets, preferably in a single atomic transaction.

    Definition Classes
    InDataOffsetBatchStorageRecordBatchStorage
  7. def commitBatchWithOffsets(batch: IcebergRecordBatch): Unit

    Stores a given batch to storage together with the offsets.

    Stores a given batch to storage together with the offsets.

    Definition Classes
    IcebergRecordBatchStorageInDataOffsetBatchStorage
  8. def committedPositions(topicPartitions: Set[TopicPartition]): Map[TopicPartition, Option[StreamPosition]]

    Gets the latest committed stream positions for the given partitions where streams should be sought to, i.e.

    Gets the latest committed stream positions for the given partitions where streams should be sought to, i.e. this should be the last stored offset + 1.

    Definition Classes
    IcebergRecordBatchStorageRecordBatchStorage
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def initialize(context: KafkaContext): Unit

    Initializes the storage with a Kafka context, which can be used to lookup/commit offsets, if needed.

    Initializes the storage with a Kafka context, which can be used to lookup/commit offsets, if needed.

    Definition Classes
    RecordBatchStorage
  14. def isBatchCommitted(batch: IcebergRecordBatch): Boolean

    Checks whether a given batch was successfully committed to storage by comparing committed positions with the record ranges in the batch.

    Checks whether a given batch was successfully committed to storage by comparing committed positions with the record ranges in the batch.

    batch

    Batch to check.

    returns

    Whether the batch is successfully stored.

    Definition Classes
    RecordBatchStorage
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. val kafkaContext: KafkaContext
    Attributes
    protected
    Definition Classes
    RecordBatchStorage
  17. val log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. def recover(topicPartitions: Set[TopicPartition]): Unit

    Performs any needed recovery upon startup, e.g.

    Performs any needed recovery upon startup, e.g. rolling back or completing transactions. Can fail, users should handle any possible exceptions.

    Definition Classes
    IcebergRecordBatchStorageInDataOffsetBatchStorageRecordBatchStorage
  22. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    AnyRef → Any
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

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 Logging

Inherited from AnyRef

Inherited from Any

Ungrouped