Class KafkaTopicSink<T>

All Implemented Interfaces:
Serializable, ActualOperator, ElementaryOperator, Operator
Direct Known Subclasses:
JavaKafkaTopicSink, SparkKafkaTopicSink

public class KafkaTopicSink<T> extends UnarySink<T> implements Serializable
This UnarySink writes all incoming data quanta to a single Kafka topic.
See Also:
  • Field Details

  • Constructor Details

    • KafkaTopicSink

      public KafkaTopicSink()
    • KafkaTopicSink

      public KafkaTopicSink(String topicName, Class<T> typeClass)
      Creates a new instance with default formatting.
      Parameters:
      topicName - Name of Kafka topic that should be written to
      typeClass - Class of incoming data quanta
    • KafkaTopicSink

      public KafkaTopicSink(String topicName, FunctionDescriptor.SerializableFunction<T,String> formattingFunction, Class<T> typeClass)
      Creates a new instance.
      Parameters:
      topicName - Name of Kafka topic that should be written to
      formattingFunction - formats incoming data quanta to a String representation
      typeClass - Class of incoming data quanta
    • KafkaTopicSink

      public KafkaTopicSink(String topicName, TransformationDescriptor<T,String> formattingDescriptor)
      Creates a new instance.
      Parameters:
      topicName - Name of Kafka topic that should be written to
      formattingDescriptor - formats incoming data quanta to a String representation
    • KafkaTopicSink

      public KafkaTopicSink(KafkaTopicSink<T> that)
      Creates a copied instance.
      Parameters:
      that - should be copied
  • Method Details

    • initProducer

      public void initProducer(KafkaTopicSink<T> kts)
    • getProducer

      public org.apache.kafka.clients.producer.KafkaProducer<String,String> getProducer()
    • getProducer

      public org.apache.kafka.clients.producer.KafkaProducer<String,String> getProducer(Properties props)
    • loadConfig

      public static Properties loadConfig(String propertiesFilePath)
      Load properties from a properties file or alternatively use the default properties with some sensitive values from environment variables.
      Parameters:
      propertiesFilePath - - File path or null.
      Returns:
      Properties object
    • getDefaultProperties

      public static Properties getDefaultProperties()