如何获取 KStream 中的偏移值

How can I get the offset value in KStream

我正在使用 Kafka Streams 开发 PoC。现在我需要获取流消费者中的偏移值,并使用它为每条消息生成一个唯一的键 (topic-offset)->hash。原因是:生产者是系统日志,只有少数有 ID。我无法在消费者中生成 UUID,因为在重新处理的情况下我需要重新生成相同的密钥。

我的问题是:org.apache.kafka.streams.processor.ProcessorContext class 公开了一个 .offset() 方法 returns 值,但我使用的是 KStream 而不是处理器,我无法找到 returns 相同的方法。

有人知道如何从 KStream 中提取每一行的消费者价值吗? 提前致谢。

您可以通过 process(...)transform(...)transformValues(...).

使用混合搭配 DSL 和处理器 API

它允许您访问当前记录偏移量,类似于普通处理器 API。在你的情况下,你似乎想使用 KStream#transform(...).