Spark Structured Streaming Kafka Integration 抵消管理
Spark Structured Streaming Kafka Integration Offset management
文档说:
enable.auto.commit: Kafka source doesn’t commit any offset.
因此我的问题是,如果有工人或分区 crash/restart :
- startingOffsets 设置为最新,我们如何不丢失消息?
- startingOffsets 设置为最早,我们如何不重新处理所有消息?
这似乎很重要。关于如何处理它的任何指示?
我也运行关注这个问题。
您对 2 个选项的观察是正确的,即
- 如果
startingOffsets
设置为 latest
,可能会丢失数据
- 如果
startingOffsets
设置为 earliest
,则会出现重复数据
然而...
通过添加以下选项可以选择检查点:
.writeStream
.<something else>
.option("checkpointLocation", "path/to/HDFS/dir")
.<something else>
如果发生故障,Spark 将检查此检查点目录的内容,在接受任何新数据之前恢复状态。
我发现 this useful reference 相同。
希望对您有所帮助!
文档说:
enable.auto.commit: Kafka source doesn’t commit any offset.
因此我的问题是,如果有工人或分区 crash/restart :
- startingOffsets 设置为最新,我们如何不丢失消息?
- startingOffsets 设置为最早,我们如何不重新处理所有消息?
这似乎很重要。关于如何处理它的任何指示?
我也运行关注这个问题。
您对 2 个选项的观察是正确的,即
- 如果
startingOffsets
设置为latest
,可能会丢失数据
- 如果
startingOffsets
设置为earliest
,则会出现重复数据
然而...
通过添加以下选项可以选择检查点:
.writeStream
.<something else>
.option("checkpointLocation", "path/to/HDFS/dir")
.<something else>
如果发生故障,Spark 将检查此检查点目录的内容,在接受任何新数据之前恢复状态。
我发现 this useful reference 相同。
希望对您有所帮助!