SlideShare a Scribd company logo
5
Most read
11
Most read
12
Most read
Transforming Data Streams with Kafka Connect:
An Introduction to Single Message Transforms
Ranjan Rao
❏ Kafka Connect Overview
❏ Single Message Transforms
❏ Common Use Cases
❏ Built-in SMTs
❏ Example SMT Configuration
❏ Alternatives
@ranjan_rao
Kafka Connect Overview
➔ Tool for streaming data from various sources to Kafka and from Kafka to
various sink systems.
@ranjan_rao
Source
Source
Connector Sink
Sink
Connector
Single Message Transforms
➔ Provides a powerful and flexible way to transform data
➔ Simple function that accepts one record as an input and outputs a modified
record
➔ Apache Kafka 0.10.2.0
@ranjan_rao
@ranjan_rao
Single Message Transforms
Database
Source
Connector
Transform
#1
Transform
#N
Converter
Database
Sink
Connector
Transform
#N
Converter
Transform
#1
✓ Kafka Connect Overview
✓ Single Message Transforms
❏ Common Use Cases
❏ Built-in SMTs
❏ Examples of SMT Configurations
❏ Alternatives
@ranjan_rao
Common Use Cases
● Data enrichment/enhancement
● Partitioning
● Field masking
● Event routing
@ranjan_rao
✓ Kafka Connect Overview
✓ Single Message Transforms
✓ Common Use Cases
❏ Built-in SMTs
❏ Example of SMT Configurations
❏ Alternatives
@ranjan_rao
Built-in SMTs
● InsertField
● ReplaceField
● MaskField
● ValueToKey
● ExtractField
@ranjan_rao
● TimestampRouter
● RegexRouter
● InsertHeader
● HeadersFrom
● DropHeaders
✓ Kafka Connect Overview
✓ Single Message Transforms
✓ Common Use Cases
✓ Built-in SMTs
❏ Example of SMT Configurations
❏ Alternatives
@ranjan_rao
Example SMT configuration
{“Firstname”: “John”, “LastName”: “Doe”,”Phone”: “000-000-0000” }
{“Firstname”: “John”, “LastName”: “Doe”, “Phone”: “123-456-7890”}
InsertField
MaskField
{“Firstname”: “John”, “LastName”: “Doe”,”Phone”: “
000-000-0000”,
“Origin”: “Source Connector”,
“RecordTimestamp”: 1707940094
}
Example SMT configuration
"transforms": "MaskField,InsertField",
"transforms.MaskField.type": "org.apache.kafka.connect.transforms.MaskField$Value"
,
"transforms.MaskField.fields": "Phone",
"transforms.MaskField.replacement"
: "000-000-0000"
"transforms.InsertField.type": "org.apache.kafka.connect.transforms.InsertField$Value",
"transforms.InsertField.static.field": "Origin",
"transforms.InsertField.static.value": "Source Connector",
"transforms.InsertField.timestamp.field": "RecordTimestamp"
{“Firstname”: “John”, “LastName”: “Doe”,”Phone”:“000-000-0000”,
“Origin”: “Source Connector”,
“RecordTimestamp”: 1707940094
}
● Single Message Transforms for Confluent Platform
● Single Message Transforms for Kafka Connectors in Confluent Cloud
@ranjan_rao
Example SMT configuration
✓ Kafka Connect Overview
✓ Single Message Transforms
✓ Common Use Cases
✓ Built-in SMTs
✓ Example of SMT Configurations
❏ Alternatives
@ranjan_rao
Alternatives
➢ Kafka Streams
➢ ksqlDB
➢ Apache Flink
@ranjan_rao
Thank You!

More Related Content

PDF
Kafka meetup - kafka connect
PDF
Kafka Summit NYC 2017 - Singe Message Transforms are not the Transformations ...
PDF
Single Message Transforms (SMT) in Kafka Connect | Betül Çetinkaya and Okan Y...
PDF
Diving into the Deep End - Kafka Connect
PDF
Data Pipelines Made Simple with Apache Kafka
PDF
Kafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the Field
PPTX
Curing Kafka Blindness with Hortonworks Streams Messaging Manager
PPTX
Introduction to kafka connector
Kafka meetup - kafka connect
Kafka Summit NYC 2017 - Singe Message Transforms are not the Transformations ...
Single Message Transforms (SMT) in Kafka Connect | Betül Çetinkaya and Okan Y...
Diving into the Deep End - Kafka Connect
Data Pipelines Made Simple with Apache Kafka
Kafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the Field
Curing Kafka Blindness with Hortonworks Streams Messaging Manager
Introduction to kafka connector

Similar to Transforming Data Streams with Kafka Connect: An Introduction to Single Message Transforms (15)

PDF
Apache Kafka - A modern Stream Processing Platform
ODP
Introduction to Kafka connect
PDF
Introducing Kafka Connect and Implementing Custom Connectors
PDF
Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streaming
PDF
Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streamin...
PDF
Streaming ETL with Apache Kafka and KSQL
PDF
What's new in Confluent 3.2 and Apache Kafka 0.10.2
PPTX
Confluent and Syncsort Webinar August 2016
PDF
Chti jug - 2018-06-26
PDF
How Much Can You Connect? | Bhavesh Raheja, Disney + Hotstar
PPTX
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
PDF
Streaming Transformations - Putting the T in Streaming ETL
PDF
How Much Can You Connect? | Bhavesh Raheja, Disney + Hotstar
PDF
Changing landscapes in data integration - Kafka Connect for near real-time da...
PDF
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
Apache Kafka - A modern Stream Processing Platform
Introduction to Kafka connect
Introducing Kafka Connect and Implementing Custom Connectors
Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streaming
Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streamin...
Streaming ETL with Apache Kafka and KSQL
What's new in Confluent 3.2 and Apache Kafka 0.10.2
Confluent and Syncsort Webinar August 2016
Chti jug - 2018-06-26
How Much Can You Connect? | Bhavesh Raheja, Disney + Hotstar
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
Streaming Transformations - Putting the T in Streaming ETL
How Much Can You Connect? | Bhavesh Raheja, Disney + Hotstar
Changing landscapes in data integration - Kafka Connect for near real-time da...
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
Ad

More from HostedbyConfluent (20)

PDF
Renaming a Kafka Topic | Kafka Summit London
PDF
Evolution of NRT Data Ingestion Pipeline at Trendyol
PDF
Ensuring Kafka Service Resilience: A Dive into Health-Checking Techniques
PDF
Exactly-once Stream Processing with Arroyo and Kafka
PDF
Fish Plays Pokemon | Kafka Summit London
PDF
Tiered Storage 101 | Kafla Summit London
PDF
Building a Self-Service Stream Processing Portal: How And Why
PDF
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
PDF
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
PDF
Navigating Private Network Connectivity Options for Kafka Clusters
PDF
Apache Flink: Building a Company-wide Self-service Streaming Data Platform
PDF
Explaining How Real-Time GenAI Works in a Noisy Pub
PDF
TL;DR Kafka Metrics | Kafka Summit London
PDF
A Window Into Your Kafka Streams Tasks | KSL
PDF
Mastering Kafka Producer Configs: A Guide to Optimizing Performance
PDF
Data Contracts Management: Schema Registry and Beyond
PDF
Code-First Approach: Crafting Efficient Flink Apps
PDF
Debezium vs. the World: An Overview of the CDC Ecosystem
PDF
Beyond Tiered Storage: Serverless Kafka with No Local Disks
PDF
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...
Renaming a Kafka Topic | Kafka Summit London
Evolution of NRT Data Ingestion Pipeline at Trendyol
Ensuring Kafka Service Resilience: A Dive into Health-Checking Techniques
Exactly-once Stream Processing with Arroyo and Kafka
Fish Plays Pokemon | Kafka Summit London
Tiered Storage 101 | Kafla Summit London
Building a Self-Service Stream Processing Portal: How And Why
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
Navigating Private Network Connectivity Options for Kafka Clusters
Apache Flink: Building a Company-wide Self-service Streaming Data Platform
Explaining How Real-Time GenAI Works in a Noisy Pub
TL;DR Kafka Metrics | Kafka Summit London
A Window Into Your Kafka Streams Tasks | KSL
Mastering Kafka Producer Configs: A Guide to Optimizing Performance
Data Contracts Management: Schema Registry and Beyond
Code-First Approach: Crafting Efficient Flink Apps
Debezium vs. the World: An Overview of the CDC Ecosystem
Beyond Tiered Storage: Serverless Kafka with No Local Disks
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...
Ad

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Electronic commerce courselecture one. Pdf
PPTX
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
PDF
cuic standard and advanced reporting.pdf
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Modernizing your data center with Dell and AMD
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Transforming Manufacturing operations through Intelligent Integrations
PDF
Empathic Computing: Creating Shared Understanding
PDF
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
Advanced methodologies resolving dimensionality complications for autism neur...
Understanding_Digital_Forensics_Presentation.pptx
Big Data Technologies - Introduction.pptx
Electronic commerce courselecture one. Pdf
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
cuic standard and advanced reporting.pdf
Advanced Soft Computing BINUS July 2025.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Modernizing your data center with Dell and AMD
madgavkar20181017ppt McKinsey Presentation.pdf
GamePlan Trading System Review: Professional Trader's Honest Take
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Transforming Manufacturing operations through Intelligent Integrations
Empathic Computing: Creating Shared Understanding
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Review of recent advances in non-invasive hemoglobin estimation
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
NewMind AI Monthly Chronicles - July 2025

Transforming Data Streams with Kafka Connect: An Introduction to Single Message Transforms

  • 1. Transforming Data Streams with Kafka Connect: An Introduction to Single Message Transforms Ranjan Rao
  • 2. ❏ Kafka Connect Overview ❏ Single Message Transforms ❏ Common Use Cases ❏ Built-in SMTs ❏ Example SMT Configuration ❏ Alternatives @ranjan_rao
  • 3. Kafka Connect Overview ➔ Tool for streaming data from various sources to Kafka and from Kafka to various sink systems. @ranjan_rao Source Source Connector Sink Sink Connector
  • 4. Single Message Transforms ➔ Provides a powerful and flexible way to transform data ➔ Simple function that accepts one record as an input and outputs a modified record ➔ Apache Kafka 0.10.2.0 @ranjan_rao
  • 6. ✓ Kafka Connect Overview ✓ Single Message Transforms ❏ Common Use Cases ❏ Built-in SMTs ❏ Examples of SMT Configurations ❏ Alternatives @ranjan_rao
  • 7. Common Use Cases ● Data enrichment/enhancement ● Partitioning ● Field masking ● Event routing @ranjan_rao
  • 8. ✓ Kafka Connect Overview ✓ Single Message Transforms ✓ Common Use Cases ❏ Built-in SMTs ❏ Example of SMT Configurations ❏ Alternatives @ranjan_rao
  • 9. Built-in SMTs ● InsertField ● ReplaceField ● MaskField ● ValueToKey ● ExtractField @ranjan_rao ● TimestampRouter ● RegexRouter ● InsertHeader ● HeadersFrom ● DropHeaders
  • 10. ✓ Kafka Connect Overview ✓ Single Message Transforms ✓ Common Use Cases ✓ Built-in SMTs ❏ Example of SMT Configurations ❏ Alternatives @ranjan_rao
  • 11. Example SMT configuration {“Firstname”: “John”, “LastName”: “Doe”,”Phone”: “000-000-0000” } {“Firstname”: “John”, “LastName”: “Doe”, “Phone”: “123-456-7890”} InsertField MaskField {“Firstname”: “John”, “LastName”: “Doe”,”Phone”: “ 000-000-0000”, “Origin”: “Source Connector”, “RecordTimestamp”: 1707940094 }
  • 12. Example SMT configuration "transforms": "MaskField,InsertField", "transforms.MaskField.type": "org.apache.kafka.connect.transforms.MaskField$Value" , "transforms.MaskField.fields": "Phone", "transforms.MaskField.replacement" : "000-000-0000" "transforms.InsertField.type": "org.apache.kafka.connect.transforms.InsertField$Value", "transforms.InsertField.static.field": "Origin", "transforms.InsertField.static.value": "Source Connector", "transforms.InsertField.timestamp.field": "RecordTimestamp" {“Firstname”: “John”, “LastName”: “Doe”,”Phone”:“000-000-0000”, “Origin”: “Source Connector”, “RecordTimestamp”: 1707940094 }
  • 13. ● Single Message Transforms for Confluent Platform ● Single Message Transforms for Kafka Connectors in Confluent Cloud @ranjan_rao Example SMT configuration
  • 14. ✓ Kafka Connect Overview ✓ Single Message Transforms ✓ Common Use Cases ✓ Built-in SMTs ✓ Example of SMT Configurations ❏ Alternatives @ranjan_rao
  • 15. Alternatives ➢ Kafka Streams ➢ ksqlDB ➢ Apache Flink @ranjan_rao