当前位置: 首页 > 知识库问答 >
问题:

如何轮询kafka中时间戳小于30秒的消息?

宫子晋
2023-03-14

任何建议或忠告都会真的很有帮助。提前道谢。

共有1个答案

商高谊
2023-03-14

您可以使用offsetsForTimes方法,该方法返回时间戳大于或等于给定时间戳的偏移量。有关官方文件的更多信息请访问:

https://kafka.apache.org/0101/javadoc/org/apache/kafka/clients/consumer/kafkaConsumer.html#offsetsforTimes(java.util.map)

获得偏移量后,您可以使用它来查找,并从那里开始读取。

 类似资料:
  • 是否使用@kafkaListener在间隔基中轮询()Kafka消息?如何在特定时间内阻止KafkaListenerEndpointRegistry轮询消息

  • 我没有找到任何关于Debezium如何设置Kafka消息时间戳的文档,以及是否设置了时间戳。 通过比较这些值,Kafka消息的时间戳总是在数据库表(source.ts_ms)更改的时间戳之后,也在Debezium(ts_ms)处理更改的时间之后。这表明Kafka消息时间戳只是Kafka代理设置为摄入时间的时间戳。 有人知道关于Debezium是否以及如何在其填充的接收器主题中设置Kafka消息时间

  • 我有一个Kafka主题,并为其附加了1个消费者(主题只有1个分区)。现在对于超时,我使用默认值(心跳:3秒,会话超时:10秒,轮询超时:5分钟)。 根据留档,轮询超时定义消费者必须在其他代理将该消费者从消费者组中删除之前处理消息。现在假设,消费者只需1分钟即可完成处理消息。 现在我有两个问题

  • 在我的脚本中,我提取了一个excel,在一个名为“Time”的列中有一个dtype对象,在该列中有一个类似于“14:00:00”的小时,我想将该列转换为_datetime,但是当我这样做时: 我把年、月和日加在一起,我不希望发生这种情况,我还想把这列作为日期时间,这样我就可以减去另一个时间,得到秒。我如何将其传递到只有小时、分钟和秒的datetime?

  • 我有一个Kafka消费者,其中消息通过HTTP POST调用传递给另一个应用程序。我还使用手动提交偏移量 确认。确认(); 有一些HTTP返回错误代码,我们忽略错误并提交偏移量,还有一些错误代码我们不提交偏移量。问题是,kafka使用者仅在我重新启动使用者时才轮询未提交的消息。如果分区中有未提交的消息,是否还有轮询消息的地方?

  • 问题内容: 我无法为Java时间戳添加秒数。 我有这个,但是,它给了我相同的日期: 问题答案: 您拥有的代码适合我。作为简短但完整的程序: 输出: 请注意相差10分钟,即600秒。 当然,这样会损失亚毫秒级的精度,这可能不太理想-最初与我通常使用的时间戳背道而驰-但这 确实 增加了秒数… 另一种选择是直接使用: