卡夫卡的火花补偿管理

问题描述

我正在使用Spark结构化流(版本2.3.2)。我需要从Kafka Cluster中读取并写入以Kerberized的Kafka。 在将记录写入到Kerberized Kafka中之后,我想在这里使用Kafka作为偏移量检查点。

问题:

  1. 我们可以使用Kafka进行检查点管理偏移吗?还是仅需要使用HDFS / S3?

请帮助。

解决方法

我们可以使用Kafka进行检查点管理偏移吗

否,您不能将偏移量提交回源Kafka主题。 here对此进行了详细说明,当然,官方Spark Structured Streaming + Kafka Integration Guide也对此进行了说明。

还是仅需要使用HDFS / S3?

是的,它必须类似于HDFS或S3。在《 StructuredStreaming编程指南》的Recovering from Failures with Checkpointing部分中对此进行了解释:“此检查点位置必须是与HDFS兼容的文件系统中的路径 ,并且可以在以下情况下在DataStreamWriter中设置为选项开始查询。”