Interface RecordTranslator<K,V>

All Superinterfaces:
Func<org.apache.kafka.clients.consumer.ConsumerRecord<K,V>,List<Object>>, Serializable
All Known Implementing Classes:
ByTopicRecordTranslator, DefaultRecordTranslator, OnlyValueRecordTranslator, RecordTranslatorSchemeAdapter, SimpleRecordTranslator

public interface RecordTranslator<K,V> extends Serializable, Func<org.apache.kafka.clients.consumer.ConsumerRecord<K,V>,List<Object>>
Translate a ConsumerRecord to a tuple.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final List<String>
     
  • Method Summary

    Modifier and Type
    Method
    Description
    apply(org.apache.kafka.clients.consumer.ConsumerRecord<K,V> record)
    Translate the ConsumerRecord into a list of objects that can be emitted.
    Get the fields associated with a stream.
    default List<String>
    Get the list of streams this translator will handle.
  • Field Details

    • DEFAULT_STREAM

      static final List<String> DEFAULT_STREAM
  • Method Details

    • apply

      List<Object> apply(org.apache.kafka.clients.consumer.ConsumerRecord<K,V> record)
      Translate the ConsumerRecord into a list of objects that can be emitted.
      Specified by:
      apply in interface Func<K,V>
      Parameters:
      record - the record to translate
      Returns:
      the objects in the tuple. Return a KafkaTuple if you want to route the tuple to a non-default stream. Return null to discard an invalid ConsumerRecord if KafkaSpoutConfig.Builder.setEmitNullTuples(boolean) is set to false.
    • getFieldsFor

      Fields getFieldsFor(String stream)
      Get the fields associated with a stream. The streams passed in are returned by the streams() method.
      Parameters:
      stream - the stream the fields are for
      Returns:
      the fields for that stream.
    • streams

      default List<String> streams()
      Get the list of streams this translator will handle.
      Returns:
      the list of streams that this will handle.