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()

总结

  • 注意后面两种情况下,对于开始位置在代码上的设置差异。
相关推荐
jiedaodezhuti6 分钟前
HDFS纠删码:以算法换冗余,实现海量数据存储的降本增效
大数据·hadoop·hdfs
智链RFID22 分钟前
RFID技术:企业效率革命新引擎
大数据·网络·人工智能·rfid
CNRio23 分钟前
Day 56:Git的高级技巧:使用Git的filter-branch重写历史
大数据·git·elasticsearch
AllData公司负责人29 分钟前
杭州奥零数据科技 “2025全年度数据中台产品总结报告”
大数据·科技·开源
CNRio30 分钟前
Day 57:Git的高级技巧:使用Git的rebase交互式修改历史
大数据·git·elasticsearch
Promise微笑31 分钟前
2026年Geo优化的底层逻辑:从语义占位到数字信任的范式重构
大数据·人工智能·搜索引擎·重构·ai搜索
会编程的李较瘦1 小时前
【期末考试总结】spark课程知识点
大数据·单例模式·spark
Code Slacker1 小时前
第八届传智杯AI云计算大数据开发挑战赛练习题库(三)
大数据·人工智能·云计算·竞赛
无代码专家1 小时前
无代码驱动行业数字化转型:从痛点突破到效能重构
大数据·低代码·制造