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
c

com.adform.streamloader.iceberg

IcebergRecordBatchBuilder

class IcebergRecordBatchBuilder extends RecordBatchBuilder[IcebergRecordBatch]

Record batch builder that collects records to files per partition.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IcebergRecordBatchBuilder
  2. RecordBatchBuilder
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new IcebergRecordBatchBuilder(table: Table, recordFormatter: RecordFormatter[Record], fileFormat: FileFormat, fileCommitStrategy: MultiFileCommitStrategy, writeProperties: Map[String, String])(implicit timeProvider: TimeProvider = TimeProvider.system)

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. def add(record: StreamRecord): Int

    Adds a new record to the current batch.

    Adds a new record to the current batch. Keeps track of record ranges in the batch and delegates the actual adding to addToBatch.

    record

    Record to add to batch.

    returns

    Actual number of records added to the batch.

    Definition Classes
    RecordBatchBuilder
  5. def addToBatch(record: StreamRecord): Int

    Adds a record to the underlying batch and returns the number of records actually added.

    Adds a record to the underlying batch and returns the number of records actually added.

    Attributes
    protected
    Definition Classes
    IcebergRecordBatchBuilderRecordBatchBuilder
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def build(): Option[IcebergRecordBatch]

    Finalizes and outputs the batch.

    Finalizes and outputs the batch. Returns None if no records were added to the batch.

    Definition Classes
    IcebergRecordBatchBuilderRecordBatchBuilder
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  9. def currentRecordRanges: Seq[StreamRange]
    Definition Classes
    RecordBatchBuilder
  10. def discard(): Unit

    Discards the current batch, performs any necessary cleanup.

    Discards the current batch, performs any necessary cleanup.

    Definition Classes
    IcebergRecordBatchBuilderRecordBatchBuilder
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  13. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def isBatchReady: Boolean

    Checks whether the current batch is ready.

    Checks whether the current batch is ready. Concrete implementations can check whether the batch contains a certain amount of records or some time has passed since batch creation, etc.

    Definition Classes
    IcebergRecordBatchBuilderRecordBatchBuilder
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. 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 AnyRef

Inherited from Any

Ungrouped