HoistField

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

Description

If the data has a schema, wrap data using the specified field name in a Struct; if the data does not have a schema, wrap data using the specified field name in a Map.

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

Example

The configuration snippet below shows how to use HoistField to wrap the field name in a Struct.

"transforms": "HoistField",
"transforms.HoistField.type": "org.apache.kafka.connect.transforms.HoistField$Value",
"transforms.HoistField.field": "line"

Messages sent:

Foo
Bar

Topic result:

{"line":"Foo"}
{"line":"Bar"}

Tip

For additional examples, see Hoist Field for managed connectors.

Properties

Name Description Type Default Valid Values Importance
field Field name for the single field that will be created in the resulting Struct or Map. string   non-empty 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.