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 source
    Definition Classes
    streamloader
  • KafkaContext
  • KafkaSource
  • LockingKafkaContext
  • MaxWatermarkProvider
  • WatermarkProvider

trait KafkaContext extends AnyRef

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

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. KafkaContext
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def commitSync(offsets: Map[TopicPartition, OffsetAndMetadata]): Unit

    Commits offsets to Kafka synchronously.

  2. abstract def committed(topicPartitions: Set[TopicPartition]): Map[TopicPartition, Option[OffsetAndMetadata]]

    Retrieves the committed offsets for the given topic partitions from Kafka.

  3. abstract val consumerGroup: String

    The consumer group ID.

  4. abstract def offsetsForTimes(timestamps: Map[TopicPartition, Long]): Map[TopicPartition, Option[OffsetAndTimestamp]]

    Look up the offsets for the given partitions by timestamp.