No, I am not talking about Kafka Message Key. Rather key/value pair which comes 
separately as below.

Headers<eclipse-javadoc:%E2%98%82=event_dataflow_activity/C:%5C/maven%5C/.m2%5C/repository%5C/org%5C/apache%5C/kafka%5C/kafka-clients%5C/3.4.0%5C/kafka-clients-3.4.0.jar=/maven.pomderived=/true=/=/maven.groupId=/org.apache.kafka=/=/maven.artifactId=/kafka-clients=/=/maven.version=/3.4.0=/=/maven.scope=/compile=/=/maven.pomderived=/true=/%3Corg.apache.kafka.clients.consumer(ConsumerRecord.class%E2%98%83ConsumerRecord~headers%E2%98%82org.apache.kafka.common.header.Headers>
 
org<eclipse-javadoc:%E2%98%82=event_dataflow_activity/C:%5C/maven%5C/.m2%5C/repository%5C/org%5C/apache%5C/kafka%5C/kafka-clients%5C/3.4.0%5C/kafka-clients-3.4.0.jar=/maven.pomderived=/true=/=/maven.groupId=/org.apache.kafka=/=/maven.artifactId=/kafka-clients=/=/maven.version=/3.4.0=/=/maven.scope=/compile=/=/maven.pomderived=/true=/%3Corg>.apache<eclipse-javadoc:%E2%98%82=event_dataflow_activity/C:%5C/maven%5C/.m2%5C/repository%5C/org%5C/apache%5C/kafka%5C/kafka-clients%5C/3.4.0%5C/kafka-clients-3.4.0.jar=/maven.pomderived=/true=/=/maven.groupId=/org.apache.kafka=/=/maven.artifactId=/kafka-clients=/=/maven.version=/3.4.0=/=/maven.scope=/compile=/=/maven.pomderived=/true=/%3Corg.apache>.kafka<eclipse-javadoc:%E2%98%82=event_dataflow_activity/C:%5C/maven%5C/.m2%5C/repository%5C/org%5C/apache%5C/kafka%5C/kafka-clients%5C/3.4.0%5C/kafka-clients-3.4.0.jar=/maven.pomderived=/true=/=/maven.groupId=/org.apache.kafka=/=/maven.artifactId=/kafka-clients=/=/maven.version=/3.4.0=/=/maven.scope=/compile=/=/maven.pomderived=/true=/%3Corg.apache.kafka>.clients<eclipse-javadoc:%E2%98%82=event_dataflow_activity/C:%5C/maven%5C/.m2%5C/repository%5C/org%5C/apache%5C/kafka%5C/kafka-clients%5C/3.4.0%5C/kafka-clients-3.4.0.jar=/maven.pomderived=/true=/=/maven.groupId=/org.apache.kafka=/=/maven.artifactId=/kafka-clients=/=/maven.version=/3.4.0=/=/maven.scope=/compile=/=/maven.pomderived=/true=/%3Corg.apache.kafka.clients>.consumer<eclipse-javadoc:%E2%98%82=event_dataflow_activity/C:%5C/maven%5C/.m2%5C/repository%5C/org%5C/apache%5C/kafka%5C/kafka-clients%5C/3.4.0%5C/kafka-clients-3.4.0.jar=/maven.pomderived=/true=/=/maven.groupId=/org.apache.kafka=/=/maven.artifactId=/kafka-clients=/=/maven.version=/3.4.0=/=/maven.scope=/compile=/=/maven.pomderived=/true=/%3Corg.apache.kafka.clients.consumer>.ConsumerRecord<eclipse-javadoc:%E2%98%82=event_dataflow_activity/C:%5C/maven%5C/.m2%5C/repository%5C/org%5C/apache%5C/kafka%5C/kafka-clients%5C/3.4.0%5C/kafka-clients-3.4.0.jar=/maven.pomderived=/true=/=/maven.groupId=/org.apache.kafka=/=/maven.artifactId=/kafka-clients=/=/maven.version=/3.4.0=/=/maven.scope=/compile=/=/maven.pomderived=/true=/%3Corg.apache.kafka.clients.consumer(ConsumerRecord.class%E2%98%83ConsumerRecord>.headers()

From: Nikola Milutinovic <n.milutino...@levi9.com>
Sent: 25 August 2025 14:56
To: user@flink.apache.org
Subject: Re: Sharing data among flink operator pipeline

Hi Kamal.

When you say “Kafka Headers”, are you referring to “Kafka Message Key”? In 
Kafka, messages come as Key/Value pairs. You can omit the key, but if you do 
have it, you can read it in the job and then use it when writing to the other 
topic.

Nix.

From: Kamal Mittal via user 
<user@flink.apache.org<mailto:user@flink.apache.org>>
Date: Thursday, August 21, 2025 at 11:35 AM
To: user@flink.apache.org<mailto:user@flink.apache.org> 
<user@flink.apache.org<mailto:user@flink.apache.org>>
Subject: Sharing data among flink operator pipeline
Hello,

I have a scenario like for kafka source where kafka headers also come along 
with kafka record/event. Kafka headers fetched need to share/pass to 
next/parallel operators in pipeline.

So, is there any way to share data across operator pipeline?

Explored keyed state which has limitation that only with keyby() it will work.
Explored broadcast state which limitation that it can only work with process 
functions and not with map/flatmap/filter etc.

Rgds,
Kamal

Reply via email to