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 clickhouse
    Definition Classes
    streamloader
  • package hadoop
    Definition Classes
    streamloader
  • package iceberg
    Definition Classes
    streamloader
  • package model
    Definition Classes
    streamloader
  • package s3
    Definition Classes
    streamloader
  • package sink
    Definition Classes
    streamloader
  • package source
    Definition Classes
    streamloader
  • KafkaContext
  • KafkaSource
  • LockingKafkaContext
  • MaxWatermarkProvider
  • WatermarkProvider
  • package util
    Definition Classes
    streamloader
  • package vertica
    Definition Classes
    streamloader

package source

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. trait KafkaContext extends AnyRef

    Represents an active Kafka consumer, can be used to commit and query offsets.

  2. class KafkaSource extends Metrics

    A source of data for stream loading that is backed by Kafka.

    A source of data for stream loading that is backed by Kafka.

    Not thread safe, create separate instances when loading data from multiple threads.

  3. class LockingKafkaContext extends KafkaContext

    A KafkaContext that performs offset lookup/committing by synchronizing on the consumer, which out of the box is not thread safe.

    A KafkaContext that performs offset lookup/committing by synchronizing on the consumer, which out of the box is not thread safe. The source that provides this context also synchronizes on the same lock during polls.

  4. class MaxWatermarkProvider extends WatermarkProvider with Logging

    Watermark provider that sets the watermark to the maximum observed event time.

    Watermark provider that sets the watermark to the maximum observed event time. In order to protect from malformed messages with timestamps from the future, values greater than a predefined threshold above the current time are rejected and do not advance the watermark.

  5. trait WatermarkProvider extends AnyRef

    Trait for implementing watermark tracking in a stream.

Value Members

  1. object KafkaSource

Ungrouped