Kafka Connect ReplaceField SMT Usage Reference for Confluent Platform
The ReplaceField SMT (org.apache.kafka.connect.transforms.ReplaceField) filters or renames fields within an Apache Kafka® record’s Struct or Map.
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).
For the Confluent version that also supports nested fields, see ReplaceField (Confluent).
Properties
Name | Description | Type | Default | Valid values | Importance |
|---|---|---|---|---|---|
| Fields to exclude from the resulting Struct or Map. This takes precedence over the include list. | list | “” | Comma-separated list of fields to exclude. | medium |
| Field rename mappings. | list | “” | Comma-separated list of colon-delimited renaming pairs, for example, | medium |
| Fields to include. If specified, only the named fields will be included in the resulting Struct or Map. | list | “” | Comma-separated list of fields to include. | medium |
| Specifies whether to replace null fields with their defined default values. When set to | boolean |
|
| medium |
Examples
These examples show how to configure and use ReplaceField.
Drop a field
This configuration snippet shows how to use ReplaceField to exclude a field and remove it.
"transforms": "ReplaceField",
"transforms.ReplaceField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.ReplaceField.exclude": "c2"
This removes c2, transforming the original message as shown 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"}
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.
