Class SinkRecord


  • public class SinkRecord
    extends ConnectRecord<SinkRecord>
    SinkRecord is a ConnectRecord that has been read from Kafka and includes the kafkaOffset of the record in the Kafka topic-partition in addition to the standard fields. This information should be used by the SinkTask to coordinate kafkaOffset commits. It also includes the TimestampType, which may be TimestampType.NO_TIMESTAMP_TYPE, and the relevant timestamp, which may be null.
    • Constructor Detail

      • SinkRecord

        public SinkRecord​(String topic,
                          int partition,
                          Schema keySchema,
                          Object key,
                          Schema valueSchema,
                          Object value,
                          long kafkaOffset)
      • SinkRecord

        public SinkRecord​(String topic,
                          int partition,
                          Schema keySchema,
                          Object key,
                          Schema valueSchema,
                          Object value,
                          long kafkaOffset,
                          Long timestamp,
                          org.apache.kafka.common.record.TimestampType timestampType)
      • SinkRecord

        public SinkRecord​(String topic,
                          int partition,
                          Schema keySchema,
                          Object key,
                          Schema valueSchema,
                          Object value,
                          long kafkaOffset,
                          Long timestamp,
                          org.apache.kafka.common.record.TimestampType timestampType,
                          Iterable<Header> headers)
    • Method Detail

      • kafkaOffset

        public long kafkaOffset()
      • timestampType

        public org.apache.kafka.common.record.TimestampType timestampType()
      • newRecord

        public SinkRecord newRecord​(String topic,
                                    Integer kafkaPartition,
                                    Schema keySchema,
                                    Object key,
                                    Schema valueSchema,
                                    Object value,
                                    Long timestamp)
        Description copied from class: ConnectRecord
        Create a new record of the same type as itself, with the specified parameter values. All other fields in this record will be copied over to the new record. Since the headers are mutable, the resulting record will have a copy of this record's headers.
        Specified by:
        newRecord in class ConnectRecord<SinkRecord>
        Parameters:
        topic - the name of the topic; may be null
        kafkaPartition - the partition number for the Kafka topic; may be null
        keySchema - the schema for the key; may be null
        key - the key; may be null
        valueSchema - the schema for the value; may be null
        value - the value; may be null
        timestamp - the timestamp; may be null
        Returns:
        the new record
      • newRecord

        public SinkRecord newRecord​(String topic,
                                    Integer kafkaPartition,
                                    Schema keySchema,
                                    Object key,
                                    Schema valueSchema,
                                    Object value,
                                    Long timestamp,
                                    Iterable<Header> headers)
        Description copied from class: ConnectRecord
        Create a new record of the same type as itself, with the specified parameter values. All other fields in this record will be copied over to the new record.
        Specified by:
        newRecord in class ConnectRecord<SinkRecord>
        Parameters:
        topic - the name of the topic; may be null
        kafkaPartition - the partition number for the Kafka topic; may be null
        keySchema - the schema for the key; may be null
        key - the key; may be null
        valueSchema - the schema for the value; may be null
        value - the value; may be null
        timestamp - the timestamp; may be null
        headers - the headers; may be null or empty
        Returns:
        the new record