如何在区间内有时间戳的分区中查询Kafka主题?

时间:2017-11-15 18:30:51

标签: apache-kafka

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

我目前的做法如下:

  1. 创建一个enable.auto.commit设置为false的KafkaConsumer(从而避免在轮询时提交偏移量)
  2. 找到包含我正在寻找的密钥的分区
  3. 将该分区分配给KafkaConsumer
  4. 通过offsetsForTimes,找到最接近时间间隔开始的偏移量
  5. seek KafkaConsumer开始阅读该偏移量
  6. 在循环中执行poll,累积所有带匹配键的记录,直到返回时间戳晚于时间间隔结束的记录
  7. 这种作品。以下是一些问题:

    • poll函数有时会在到达结尾之前返回空列表。
    • 如果间隔结束时,轮询将不会停止,直到将来的记录写入主题。
    • 在多个线程上重用相同的使用者组ID是否安全?

    有没有更好的方法来查询历史记录?

0 个答案:

没有答案