CentralMesh.io

Kafka Connect
AdSense Banner (728x90)

7.1 What Are Single Message Transforms?

Use lightweight transformations to reshape individual records inside connectors.

What Are Single Message Transforms?

Summary

SMTs sit between connectors and Kafka, transforming data as it passes through. You can chain multiple SMTs together for complex transformations.

COMMON SMT USE CASES

Add or Remove Fields: Add timestamps, remove sensitive data.

Rename Fields: Map source field names to destination requirements.

Route Messages: Send to different topics based on content.

Mask Sensitive Data: Replace or hash PII fields.

Flatten Nested Structures: Convert nested JSON to flat records.

BUILT-IN SMTS

Kafka Connect includes many useful SMTs:

  • InsertField: Add static fields or metadata
  • ReplaceField: Rename or remove fields
  • MaskField: Mask sensitive values
  • ValueToKey / ExtractField: Manipulate keys
  • TimestampRouter: Route to time-based topics
  • RegexRouter: Route based on regex patterns
  • Cast: Convert field types
  • Filter: Drop specific records

CONFIGURATION EXAMPLE

json
1{
2  "name": "my-connector",
3  "config": {
4    "transforms": "insertTimestamp,maskEmail",
5    "transforms.insertTimestamp.type": "org.apache.kafka.connect.transforms.InsertField$Value",
6    "transforms.insertTimestamp.timestamp.field": "processed_at",
7    "transforms.maskEmail.type": "org.apache.kafka.connect.transforms.MaskField$Value",
8    "transforms.maskEmail.fields": "email",
9    "transforms.maskEmail.replacement": "***@***.com"
10  }
11}

Key ideas

SMTs provide lightweight data transformation without custom code.

Apply to source or sink connectors, transforming data in-flight.

Chain multiple SMTs for complex transformations.

Many built-in SMTs for common use cases.

Configure via connector properties, no code deployment needed.