Apache kafka 如何在时间戳在间隔内的分区中查询Kafka主题中的记录?

Apache kafka 如何在时间戳在间隔内的分区中查询Kafka主题中的记录?,apache-kafka,Apache Kafka,我有一个卡夫卡主题(版本1.0.0)和时间序列数据。我想找到所有具有特定键的记录,以及记录时间戳在给定时间间隔内的位置 我目前的做法如下: 创建一个KafkaConsumer,将enable.auto.commit设置为false(从而避免在轮询时提交偏移量) 找到保存我要查找的密钥的分区 将该分区分配给KafkaConsumer 通过offsetsForTimes,找到距离时间间隔开始最近的偏移量 seekKafkaConsumer开始读取该偏移量 在循环中执行poll,使用匹配的键累积所有记

我有一个卡夫卡主题(版本1.0.0)和时间序列数据。我想找到所有具有特定键的记录,以及记录时间戳在给定时间间隔内的位置

我目前的做法如下:

  • 创建一个KafkaConsumer,将
    enable.auto.commit
    设置为false(从而避免在轮询时提交偏移量)
  • 找到保存我要查找的密钥的分区
  • 将该分区分配给KafkaConsumer
  • 通过
    offsetsForTimes
    ,找到距离时间间隔开始最近的偏移量
  • seek
    KafkaConsumer开始读取该偏移量
  • 在循环中执行
    poll
    ,使用匹配的键累积所有记录,直到返回一个时间戳晚于时间间隔结束的记录
  • 这类作品。以下是一些问题:

    • poll
      函数有时在到达末尾之前返回空列表
    • 如果间隔的结束时间是现在,则轮询将不会停止,直到将来的记录写入主题
    • 在多个线程上重用相同的使用者组id安全吗
    有没有更好的方式查询历史记录