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


Filter or rename fields within a Struct or Map.

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


These examples show how to configure and use ReplaceField.

Drop a Field

This configuration snippet shows how to use ReplaceField to blacklist a field and remove it.

"transforms": "ReplaceField",
"transforms.ReplaceField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.ReplaceField.blacklist": "c2"

This removes c2, transforming the original message as seen here:


to this result:


Rename a Field

This configuration snippet shows how to use ReplaceField with the renames property.

"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "foo:c1,bar:c2"

This replaces the foo and bar field names with c1 and c2.

Before: {"foo":22,"bar":"baz"}

After: {"c1":22,"c2":"baz"}


For additional examples, see Replace Field for managed connectors.


Name Description Type Default Valid Values Importance
exclude Fields to exclude from the resulting Struct or Map. This takes precedence over the include list. list “”   medium
renames Field rename mappings. list “” comma-separated list of colon-delimited renaming pairs, e.g. foo:bar,abc:xyz medium
include Fields to include. If specified, only the named fields will be included in the resulting Struct or Map. list “”   medium


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.