Kafka从指定时间戳开始消费的命令语法及时间戳格式要求
从指定时间戳消费Kafka主题的命令语法
Kafka 2.1及以上版本的kafka-console-consumer.sh原生支持直接通过--offset参数传入时间戳标识,来从指定时间点开始消费,基础语法如下:
# 全分区从指定时间戳开始消费 bin/kafka-console-consumer.sh --topic <topic_name> \ --offset timestamp:<13位纪元毫秒数> \ --bootstrap-server <IP:port> # 仅指定单个分区从指定时间戳开始消费 bin/kafka-console-consumer.sh --topic <topic_name> \ --partition <分区数字编号> \ --offset timestamp:<13位纪元毫秒数> \ --bootstrap-server <IP:port>
时间戳格式要求
- 仅支持传入13位Unix纪元毫秒时间戳,即从1970-01-01 00:00:00 UTC到目标时间的总毫秒数,例如2024年1月1日0点UTC对应的时间戳为
1704067200000 - 不支持直接传入GMT格式的
yyyymmdd hhmmss这类可读格式化时间,需要先将可读时间转换为13位毫秒级纪元时间后再传入
如果指定的时间戳早于对应分区最早消息的时间戳,会自动从该分区最早的消息开始消费;如果指定的时间戳晚于对应分区最新消息的时间戳,会自动从最新消息的下一个offset开始消费,仅消费命令执行后新写入的数据。
内容的提问来源于stack exchange,提问作者Tristan Tran
相关产品推荐
相关产品推荐

