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
  • object IcebergRecordBatcher
    Definition Classes
    iceberg
  • Builder

case class Builder(_table: Table, _recordFormatter: RecordFormatter[Record], _fileFormat: FileFormat, _fileCommitStrategy: MultiFileCommitStrategy, _writeProperties: Map[String, String]) extends Product with Serializable

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Builder
  2. Serializable
  3. Product
  4. Equals
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Builder(_table: Table, _recordFormatter: RecordFormatter[Record], _fileFormat: FileFormat, _fileCommitStrategy: MultiFileCommitStrategy, _writeProperties: Map[String, String])

Value Members

  1. def build(): IcebergRecordBatcher
  2. def fileCommitStrategy(strategy: MultiFileCommitStrategy): Builder

    Sets the strategy for determining if a batch of files (one per partition) is ready to be stored.

  3. def fileFormat(format: FileFormat): Builder

    Sets the file format to use.

  4. def productElementNames: Iterator[String]
    Definition Classes
    Product
  5. def recordFormatter(formatter: RecordFormatter[Record]): Builder

    Sets the record formatter that converts from consumer records to Iceberg records.

  6. def table(table: Table): Builder

    Sets the Iceberg table to build batches for.

  7. def writeProperties(properties: Map[String, String]): Builder

    Sets any additional properties for the underlying data file builder.