有没有办法从javaapi中的特定偏移量开始使用kafka主题?

tv6aics1  于 2021-06-05  发布在  Kafka
关注(0)|答案(1)|浏览(345)

我正在使用Kafka流api。当我开始我的应用程序有时有一个差距,我想开始消费从一个特定的抵消。最早或最晚不是我想要的。

streamProperties.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");

我要找的是一个场景,比如我在配置文件中设置偏移量或以毫秒为单位的日期,然后从该点开始消费。我想知道是否有办法做到这一点?

kqhtkvqz

kqhtkvqz1#

配置 auto.offset.reset 只有在尚未提交偏移量时,才对应用程序的第一次启动有效。如果提交了偏移量,应用程序将始终从提交的偏移量恢复处理。
在kafka流中,没有api来显式地设置起始偏移量。消费者api将允许通过 Consumer#seek() .
对于kafka流,获得所需行为的一种方法是,要停止应用程序,请使用 bin/kafka-consmer.group.sh (或者更好) bin/kafka-streams-application-reset.sh ),并提交所需的起始偏移量。如果您随后启动应用程序,它将获取提交的偏移量并从此处开始处理。

相关问题