How to view Kafka message headers?

Since version 0.11, Apache Kafka supports message headers. Headers are a typical concept on messaging systems like JMS and transport systems like TCP or HTTP.

They can be used for routing, filter, and annotation. The header can contain pairs of key=value, where the key is always a string(text), and the value is an array of bytes.

Given that the actual value is an array of bytes, the developer who produces the messages knows whether this array of bytes represents a string, an int, a long, or a double. Lenses can visualize and use the record headers via SQL queries.

To view the headers of messages in Kafka, run:

SELECT HEADERKEYS() as headers
FROM trips
LIMIT 100

To view the value of a specific header you can run:

SELECT HEADERASSTRING("User") as user
FROM trips
LIMIT 100

See all available SQL functions