ReplaceField

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

Description

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).

Examples

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:

{"c1":22,"c2":"foo"}

to this result:

{"c1":22}

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"}

Properties

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