flink 任务恢复后的kafka消费起始位置

文章目录


主要分为三种情况进行讨论,一种是有checkpoint的情况下,一种是没有checkpoint的情况下,还有一种是启用了自动提交的情况下

启用checkpoint

  • 这种最简单,offset 保存在checkpoint 中,通过数据一致性的语义不同,offset 的位置也不一样,可能刚好从上一次checkpoint保存的位置开始,也可能位置会再往前一点,会多消费数据。

禁用checkpoint

  • 没有了checkpoint ,实际上offset 就取决于enable.auto.commit,如果没有自动提交,那相当于就没有offset 记录,实际的offset 取决于这里的实始化配置,如果有自动提交,就是下一种情况。
bash 复制代码
可选值
OffsetsInitializer.earliest() - starting from the earliest offsets. This is also the default OffsetsInitializer of the KafkaSource for starting offsets.
OffsetsInitializer.latest() - starting from the latest offsets.
setStartingOffsets()

kafka 是否启用enable.auto.commit

  • 如果启用了自动提交,可以通过
bash 复制代码
OffsetsInitializer.committedOffsets() 设置起始位置,
可选值有public enum OffsetResetStrategy {
    LATEST, EARLIEST, NONE
}
从已提交的offset的最新,最开始位置提交
setStartingOffsets()

总结

  • 注意后面两种情况下,对于开始位置在代码上的设置差异。
相关推荐
Guheyunyi10 小时前
智慧停车管理系统:以科技重塑交通效率与体验
大数据·服务器·人工智能·科技·安全·生活
Jackeyzhe17 小时前
Flink学习笔记:时间与Watermark
flink
wang_yb19 小时前
数据会说谎?三大推断方法帮你“审问”数据真相
大数据·databook
天远数科21 小时前
Golang并发实战:高效对接天远API实现海量用户画像构建
大数据·api
expect7g21 小时前
Paimon源码解读 -- Compaction-2.KeyValueFileWriterFactory
大数据·后端·flink
第二只羽毛21 小时前
C++ 高性能编程要点
大数据·开发语言·c++·算法
jason成都1 天前
elasticsearch部署时创建用户密码
大数据·elasticsearch·jenkins
新华经济1 天前
合同管理系统2025深度测评:甄零科技居榜首
大数据·人工智能·科技
黑客思维者1 天前
招商银行信用卡AI客服系统:从0到1实战笔记
大数据·人工智能·笔记
醇氧1 天前
【git】 撤回一个本地提交
大数据·git·elasticsearch