【问题标题】:How to get offset status and other metadata information when working with KStream in Kafka?在 Kafka 中使用 KStream 时如何获取偏移状态和其他元数据信息?
【发布时间】:2023-03-26 12:56:02
【问题描述】:

情况:

KafkaConsumer 类有一些不错的方法,例如:partitionForbegginingOffsetsendOffsets 以及 commitedposition

所有这些方法都是有帮助的,例如评估时。加载主题中的情况。

使用流时 - KStream,如何获取偏移状态和其他元数据信息?

如何在Java码流状态下查看runtime?

【问题讨论】:

    标签: java apache-kafka offset status apache-kafka-streams


    【解决方案1】:

    目前,使用 DSL 访问您描述的属性(无论如何,这些属性的子集)的唯一方法是使用#transform() 和或#process()。这些基本上是处理器 API 方法,因此您可以访问ProcessorContext,它使您可以访问主题、分区、偏移量和时间戳。否则,您无法使用 DSL 访问这些属性。

    根本无法访问 Kafka Streams 中的 partitionFor、begginingOffsets、endOffsets、commited 或 position。这些是完全隐藏的。

    【讨论】:

    • 我希望他们能添加一种使用 DSL 至少获取时间戳的方法,尽管我不知道有任何计划这样做:(
    • 太棒了。为什么将这些称为“丰富”功能?似乎没有在任何地方解释,我似乎缺乏一些背景。
    • 在提案 KIP-159: Introducing Rich functions to Streams 中,并非所有方法都与例如偏移量。 RecordContext中只有offset()方法,但KafkaConsumer中还有更重要的方法。
    • @SewerynHabdank-Wojewódzki 可能会在邮件列表上写下这方面的信息?这就是KIP讨论发生的地方。我的猜测是他们想要抽象那些其他方法,但我认为即使在 Streams 上下文中它们也可能有用。
    猜你喜欢
    • 2017-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    • 2017-07-16
    相关资源
    最近更新 更多