org.apache.kafka.connect.transforms.InsertField
Insert field(s) using attributes from the record metadata or a configured static value.

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

Name Description Type Default Valid Values Importance
offset.fieldField name for Kafka offset - only applicable to sink connectors.
Suffix with ! to make this a required field, or ? to keep it optional (the default).
stringnullmedium
partition.fieldField name for Kafka partition. Suffix with ! to make this a required field, or ? to keep it optional (the default).stringnullmedium
static.fieldField name for static data field. Suffix with ! to make this a required field, or ? to keep it optional (the default).stringnullmedium
static.valueStatic field value, if field name configured.stringnullmedium
timestamp.fieldField name for record timestamp. Suffix with ! to make this a required field, or ? to keep it optional (the default).stringnullmedium
topic.fieldField name for Kafka topic. Suffix with ! to make this a required field, or ? to keep it optional (the default).stringnullmedium

org.apache.kafka.connect.transforms.ReplaceField
Filter or rename fields.

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

Name Description Type Default Valid Values Importance
blacklistFields to exclude. This takes precedence over the whitelist.list""medium
renamesField rename mappings.list""list of colon-delimited pairs, e.g. foo:bar,abc:xyzmedium
whitelistFields to include. If specified, only these fields will be used.list""medium

org.apache.kafka.connect.transforms.MaskField
Mask specified fields with a valid null value for the field type (i.e. 0, false, empty string, and so on).

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

Name Description Type Default Valid Values Importance
fieldsNames of fields to mask.listnon-empty listhigh

org.apache.kafka.connect.transforms.ValueToKey
Replace the record key with a new key formed from a subset of fields in the record value.

Name Description Type Default Valid Values Importance
fieldsField names on the record value to extract as the record key.listnon-empty listhigh

org.apache.kafka.connect.transforms.HoistField
Wrap data using the specified field name in a Struct when schema present, or a Map in the case of schemaless data.

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

Name Description Type Default Valid Values Importance
fieldField name for the single field that will be created in the resulting Struct or Map.stringmedium

org.apache.kafka.connect.transforms.ExtractField
Extract the specified field from a Struct when schema present, or a Map in the case of schemaless data.

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

Name Description Type Default Valid Values Importance
fieldField name to extract.stringmedium

org.apache.kafka.connect.transforms.SetSchemaMetadata
Set the schema name, version or both on the record's key (org.apache.kafka.connect.transforms.SetSchemaMetadata$Key) or value (org.apache.kafka.connect.transforms.SetSchemaMetadata$Value) schema.

Name Description Type Default Valid Values Importance
schema.nameSchema name to set.stringnullhigh
schema.versionSchema version to set.intnullhigh

org.apache.kafka.connect.transforms.TimestampRouter
Update the record's topic field as a function of the original topic value and the record timestamp.

This is mainly useful for sink connectors, since the topic field is often used to determine the equivalent entity name in the destination system(e.g. database table or search index name).

Name Description Type Default Valid Values Importance
timestamp.formatFormat string for the timestamp that is compatible with java.text.SimpleDateFormat.stringyyyyMMddhigh
topic.formatFormat string which can contain ${topic} and ${timestamp} as placeholders for the topic and timestamp, respectively.string${topic}-${timestamp}high

org.apache.kafka.connect.transforms.RegexRouter
Update the record topic using the configured regular expression and replacement string.

Under the hood, the regex is compiled to a java.util.regex.Pattern. If the pattern matches the input topic, java.util.regex.Matcher#replaceFirst() is used with the replacement string to obtain the new topic.

Name Description Type Default Valid Values Importance
regexRegular expression to use for matching.stringvalid regexhigh
replacementReplacement string.stringhigh