Package org.apache.storm.sql.kafka
Class RecordTranslatorSchemeAdapter
java.lang.Object
org.apache.storm.sql.kafka.RecordTranslatorSchemeAdapter
- All Implemented Interfaces:
Serializable
,Func<org.apache.kafka.clients.consumer.ConsumerRecord<ByteBuffer,
,ByteBuffer>, List<Object>> RecordTranslator<ByteBuffer,
ByteBuffer>
public class RecordTranslatorSchemeAdapter
extends Object
implements RecordTranslator<ByteBuffer,ByteBuffer>
RecordTranslator that delegates to a Scheme.
- See Also:
-
Field Summary
Fields inherited from interface org.apache.storm.kafka.spout.RecordTranslator
DEFAULT_STREAM
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionapply
(org.apache.kafka.clients.consumer.ConsumerRecord<ByteBuffer, ByteBuffer> record) Translate the ConsumerRecord into a list of objects that can be emitted.getFieldsFor
(String stream) Get the fields associated with a stream.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.storm.kafka.spout.RecordTranslator
streams
-
Constructor Details
-
RecordTranslatorSchemeAdapter
-
-
Method Details
-
apply
public List<Object> apply(org.apache.kafka.clients.consumer.ConsumerRecord<ByteBuffer, ByteBuffer> record) Description copied from interface:RecordTranslator
Translate the ConsumerRecord into a list of objects that can be emitted.- Specified by:
apply
in interfaceFunc<org.apache.kafka.clients.consumer.ConsumerRecord<ByteBuffer,
ByteBuffer>, List<Object>> - Specified by:
apply
in interfaceRecordTranslator<ByteBuffer,
ByteBuffer> - 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. Returnnull
to discard an invalidConsumerRecord
ifKafkaSpoutConfig.Builder.setEmitNullTuples(boolean)
is set tofalse
.
-
getFieldsFor
Description copied from interface:RecordTranslator
Get the fields associated with a stream. The streams passed in are returned by theRecordTranslator.streams()
method.- Specified by:
getFieldsFor
in interfaceRecordTranslator<ByteBuffer,
ByteBuffer> - Parameters:
stream
- the stream the fields are for- Returns:
- the fields for that stream.
-