我正在调试Apache Spark应用程序中的检查点问题,因此我正在阅读“ CheckpointWriter”类的Spark日志。
我正在从Kafka流式传输数据,并使用mapWithState将该数据置于状态,因此默认情况下,指向HDFS的检查点处于工作状态。
我知道mapWithState在每10批之后(我的批处理间隔是10秒)将数据指向HDFS,所以每100秒就会检查一次。
.contentWindow.document
我的观察:
但是当我查看日志时,我看到了日志,它表明每批数据都将检查点指向HDFS,并在此之后立即删除前一个检查点。
对于每个批次,它都将保存并删除HDFS中的数据两次。我不确定我是否错误地读取了日志。
还要提到我有两个流在同一个应用程序中运行。 我在第一个流中从Kafka流式传输,在第二个流中从EMS(使用自定义接收器)流式传输。 使用mapWithState在状态下更新来自两者的数据
有人可以照亮吗?