DEV Community


Kafka Connect - Deep Dive into Single Message Transforms

rmoff profile image Robin Moffatt Originally published at on ・3 min read

KIP-66 was added in Apache Kafka 0.10.2 and brought new functionality called Single Message Transforms (SMT). Using SMT you can modify the data and its characteristics as it passes through Kafka Connect pipeline, without needing additional stream processors. For things like manipulating fields, changing topic names, conditionally dropping messages, and more, SMT are a perfect solution. If you get to things like aggregation, joining streams, and lookups then SMT may not be the best for you and you should head over to Kafka Streams or ksqlDB instead.

I recently completed a twelve-day exercise of digging into many of the Single Message Transform that are available - almost all of them ship with Apache Kafka itself. For each one I recorded a video, wrote up a blog detailing the SMT, and built a test environment in Docker so that you can go and try it out too :-)

✨ The Highlights ✨

SMT as a concept are a highlight of Kafka Connect in themselves, but here are a handful of the ones that thought were particularly neat:

🎥 Videos Playlist


👾 Code

You can grab the Docker Compose and tutorial files on GitHub

📝 The Complete List

Here are links to the blogs and videos of each Single Message Transform:

Discussion (0)

Editor guide