【问题标题】:Specifying checkpoint location when structured streaming the data from kafka topics在结构化流式传输来自 kafka 主题的数据时指定检查点位置
【发布时间】:2022-10-20 22:15:14
【问题描述】:
我已经构建了一个 spark 结构化流应用程序,它从 kafka 主题中读取数据,我已经指定了最新的起始偏移量,如果 spark 端出现任何故障会发生什么情况,从哪个点/偏移量开始,数据将在重新启动后继续读取和在写入流中指定检查点以确保我们从应用程序/火花失败的点读取是个好主意吗?
请告诉我。
【问题讨论】:
标签:
apache-spark
apache-kafka
spark-structured-streaming
spark-checkpoint
【解决方案1】:
您可以使用检查点,是的,或者您可以设置kafka.group.id(至少在 Spark 3+ 中)。
否则,它可能会在主题的末尾重新开始
【解决方案2】:
我建议您将偏移量设置为earliest 并配置checkpointLocation(HDFS、MinIO 等)。设置kafka.group.id 不会将偏移提交回Kafka(即使在Spark 3+ 中),除非您使用foreachBatch 手动提交它们。