TimestampConverter

The following provides usage information for the Apache Kafka® SMT org.apache.kafka.connect.transforms.TimestampConverter.

Description

Convert timestamps between different formats such as Unix epoch, strings, and Connect Date/Timestamp types. Applies to individual fields or to the entire value.

Use the concrete transformation type designed for the record key (org.apache.kafka.connect.transforms.TimestampConverter$Key) or value (org.apache.kafka.connect.transforms.TimestampConverter$Value).

Note

The TimestampConverter SMT operates on one field at a time.

Examples

This configuration snippet shows how to use TimestampConverter to transform a Unix epoch (represented as an int64 value) into a formatted date string.

"transforms": "TimestampConverter",
"transforms.TimestampConverter.type": "org.apache.kafka.connect.transforms.TimestampConverter$Value",
"transforms.TimestampConverter.format": "yyyy-MM-dd",
"transforms.TimestampConverter.target.type": "string"

Before: 1696521093

After: "2023-10-05"

This configuration snippet shows how to use TimestampConverter to define the converter precision to microseconds. Note that there will be precision loss when converting values using microseconds or nanoseconds.

"transforms.TimestampConverter.type": "org.apache.kafka.connect.transforms.TimestampConverter$Value",
"transforms.TimestampConverter.field": "event_date_long",
"transforms.TimestampConverter.unix.precision": "microseconds",
"transforms.TimestampConverter.target.type": "Timestamp"

Before: 1696521093

After: 1696521093000000

Tip

For additional examples, see Timestamp Converter for managed connectors.

Properties

Name Description Type Default Valid Values Importance
target.type The desired timestamp representation: string, unix, Date, Time, or Timestamp. string     high
field The field containing the timestamp, or empty if the entire value is a timestamp. string “”   high
format Format string for the timestamp that is compatible with java.text.SimpleDateFormat. Used to generate the output when type=string or used to parse the input if the input is a string. For additional details, see SimpleDateFormat. string “”   medium
unix.precision The desired UNIX precision for the timestamp in seconds, milliseconds, microseconds, or nanoseconds. Note that there will be precision loss when converting values using microseconds or nanoseconds. string “” seconds, milliseconds (default), microseconds, nanoseconds low

Predicates

Transformations can be configured with predicates so that the transformation is applied only to records which satisfy a condition. You can use predicates in a transformation chain and, when combined with the Filter (Apache Kafka), predicates can conditionally filter out specific records. For details and examples, see Predicates.