Event Streaming Platforms will connect a variety of systems over time, and it may not be feasible to use common data formats across all of these systems.
How can systems that use different data formats communicate with each other via Events?
An Event Translator converts a data format into a standard format that is familiar to downstream Event Processors. This can take the form of field manipulation -- for example, mapping one Event schema to another Event schema. Another common form is different serialization types -- for example, translating Apache Avro™ to JSON or Protocol Buffers (Protobuf) to Avro.
With the streaming database ksqlDB, we can create Event Streams using SQL statements:
CREATE STREAM translated_stream AS
SELECT
fieldX AS fieldC,
field.Y AS fieldA,
field.Z AS fieldB
FROM untranslated_stream