星火结构化数据流卡夫卡整合偏移管理(Spark Structured Streaming Kafka

2019-10-29 13:24发布

该文件说:

enable.auto.commit:卡夫卡源没有犯任何偏移。

因此,我的问题是,在一个工人或分区崩溃/重启的事件:

  1. startingOffsets设置为最新的,我们怎么不松动的消息?
  2. startingOffsets设置为最早的,我们怎么不重新处理所有消息?

这似乎是非常重要的。 关于如何处理它的任何指示?

Answer 1:

我也遇到了这个问题。

你就在你的观察在2个选项,即

  • 如果潜在的数据丢失startingOffsets设置为latest
  • 如果重复数据startingOffsets设置为earliest

然而...

有通过添加下面的选项检查点的选项:

.writeStream .<something else> .option("checkpointLocation", "path/to/HDFS/dir") .<something else>

在出现故障的情况下,星火会去通过这个检查站目录中的内容,接受任何新数据之前找回状态。

我发现这个有用的参考上是相同的。

希望这可以帮助!



文章来源: Spark Structured Streaming Kafka Integration Offset management