我正在使用 Kafka Streams 开发 PoC。现在我需要获取流消费者中的偏移值,并使用它为每条消息生成一个唯一的键 (topic-offset)->hash
。原因是:生产者是系统日志,只有少数有 ID。我无法在使用者中生成 UUID,因为在重新处理的情况下我需要重新生成相同的 key 。
我的问题是:org.apache.kafka.streams.processor.ProcessorContext
类公开了一个返回值的 .offset()
方法,但我使用 KStream 而不是处理器,我找不到返回相同内容的方法。
有人知道如何从 KStream 中提取每一行的消费者值(value)吗? 提前致谢。
最佳答案
您可以通过process(...)
、transform(...)
和transformValues( ...)
。
它允许您访问当前记录偏移量,类似于普通处理器 API。在你的情况下,你似乎想使用 KStream#transform(...)
。
关于java - 如何获取 KStream 中的偏移值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40807346/