Kafka Connect HoistField SMT Usage Reference for Confluent Platform

The HoistField SMT (org.apache.kafka.connect.transforms.HoistField) wraps an Apache Kafka® record key or value in a single-field Struct or Map, using the field name you specify.

Description

The HoistField SMT wraps an entire record key or value in a single named field. If the data has a schema, HoistField wraps it in a Struct. If the data has no schema, HoistField wraps it 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).

Properties

Name

Description

Type

Default

Valid Values

Importance

field

Name of the single field created in the resulting Struct or Map that wraps the record.

string

medium

Example

The following configuration snippet shows how to use HoistField to wrap a schemaless value in a Map, using line as the field name.

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

Predicates

Configure transformations with predicates to ensure they only process records satisfying a particular condition. You can also use predicates in a transformation chain along with the Kafka Connect Filter (Kafka) SMT Usage Reference for Confluent Platform to conditionally filter specific records. For more information, refer to Predicates.