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:
You can grab the Docker Compose and tutorial files on GitHub