文档说:
enable.auto.commit:Kafka源代码没有任何偏移量。
因此,我的问题是,在工作程序或分区崩溃/重新启动的情况下:
这似乎很重要。有什么迹象表明如何处理吗?
答案 0 :(得分:1)
我也遇到了这个问题。
您对这两个选项的看法正确,即
startingOffsets
设置为latest
,则可能会丢失数据startingOffsets
设置为earliest
,则重复数据但是...
可以通过添加以下选项来选择检查点:
.writeStream
.<something else>
.option("checkpointLocation", "path/to/HDFS/dir")
.<something else>
如果发生故障,Spark将遍历此检查点目录的内容,并在接受任何新数据之前恢复状态。
我在同一地方找到了this useful reference。
希望这会有所帮助!