Package org.apache.storm.kafka.spout
Class SimpleRecordTranslator<K,V>
java.lang.Object
org.apache.storm.kafka.spout.SimpleRecordTranslator<K,V>
- All Implemented Interfaces:
Serializable,Func<org.apache.kafka.clients.consumer.ConsumerRecord<K,,V>, List<Object>> RecordTranslator<K,V>
- See Also:
-
Field Summary
Fields inherited from interface org.apache.storm.kafka.spout.RecordTranslator
DEFAULT_STREAM -
Constructor Summary
ConstructorsConstructorDescriptionSimpleRecordTranslator(Func<org.apache.kafka.clients.consumer.ConsumerRecord<K, V>, List<Object>> func, Fields fields) SimpleRecordTranslator(Func<org.apache.kafka.clients.consumer.ConsumerRecord<K, V>, List<Object>> func, Fields fields, String stream) Creates a SimpleRecordTranslator. -
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.
-
Constructor Details
-
SimpleRecordTranslator
-
SimpleRecordTranslator
public SimpleRecordTranslator(Func<org.apache.kafka.clients.consumer.ConsumerRecord<K, V>, List<Object>> func, Fields fields, String stream) Creates a SimpleRecordTranslator.- Parameters:
func- The mapping function responsible for translating a Kafka record to a Tuplefields- The fields tuples constructed by this translator will containstream- The stream tuples constructed by this translator will target
-
-
Method Details
-
apply
Description copied from interface:RecordTranslatorTranslate the ConsumerRecord into a list of objects that can be emitted.- Specified by:
applyin interfaceFunc<K,V> - Specified by:
applyin interfaceRecordTranslator<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
Description copied from interface:RecordTranslatorGet the fields associated with a stream. The streams passed in are returned by theRecordTranslator.streams()method.- Specified by:
getFieldsForin interfaceRecordTranslator<K,V> - Parameters:
stream- the stream the fields are for- Returns:
- the fields for that stream.
-
streams
Description copied from interface:RecordTranslatorGet the list of streams this translator will handle.- Specified by:
streamsin interfaceRecordTranslator<K,V> - Returns:
- the list of streams that this will handle.
-