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"}
Tip
For additional examples, see Replace Field for managed connectors.
Properties¶
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 |
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.