Kafka Connect TimestampRouter SMT Usage Reference for Confluent Platform
The TimestampRouter SMT (org.apache.kafka.connect.transforms.TimestampRouter) updates an Apache Kafka® record’s topic field based on the original topic value and the record timestamp.
Description
TimestampRouter updates a record’s topic field using the record timestamp. This is useful for sink connectors, because the topic field often determines the equivalent entity name in the destination system such as a database table or search index name.
To extract the timestamp from a specified message field, see Kafka Connect MessageTimestampRouter SMT Usage Reference for Confluent Platform. To convert the format of a timestamp field, see Kafka Connect TimestampConverter SMT Usage Reference for Confluent Platform.
Properties
Name | Description | Type | Default | Valid values | Importance |
|---|---|---|---|---|---|
| Format string for the timestamp that is compatible with | string | yyyyMMdd | high | |
| Format string which can contain | string |
| high |
Example: Add a timestamp to the topic
This configuration snippet shows how to use TimestampRouter to route messages to topics and include a formatted timestamp.
"transforms": "TimestampRouter",
"transforms.TimestampRouter.type": "org.apache.kafka.connect.transforms.TimestampRouter",
"transforms.TimestampRouter.topic.format": "foo-${topic}-${timestamp}",
"transforms.TimestampRouter.timestamp.format": "YYYYMM"
Before: ordersTopic
After: foo-ordersTopic-201804
Predicates
Configure transformations with predicates to ensure they process only records that satisfy a particular condition. You can also use predicates in a transformation chain with the Kafka Connect Filter (Kafka) SMT Usage Reference for Confluent Platform to conditionally filter specific records. For more information, see Predicates.