Package org.apache.storm.kafka.spout
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 -
Method Summary
Modifier and TypeMethodDescriptionTranslate the ConsumerRecord into a list of objects that can be emitted.getFieldsFor(String stream) Get the fields associated with a stream.streams()Get the list of streams this translator will handle.
-
Field Details
-
DEFAULT_STREAM
-
-
Method Details
-
apply
Translate the ConsumerRecord into a list of objects that can be emitted.- Specified by:
applyin interfaceFunc<K,V> - Parameters:
record- the record to translate- Returns:
- the objects in the tuple. Return a
KafkaTupleif you want to route the tuple to a non-default stream. Returnnullto discard an invalidConsumerRecordifKafkaSpoutConfig.Builder.setEmitNullTuples(boolean)is set tofalse.
-
getFieldsFor
Get the fields associated with a stream. The streams passed in are returned by thestreams()method.- Parameters:
stream- the stream the fields are for- Returns:
- the fields for that stream.
-
streams
Get the list of streams this translator will handle.- Returns:
- the list of streams that this will handle.
-