如何清理spark结构化流中积累的检查点文件?

vs91vp4v  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(421)

这个问题在这里已经有了答案

sparkDataframe检查点清理(1个答案)
三个月前关门了。
我为sparkcontext添加了检查点,并为长期运行的spark结构化流作业的kafka数据流添加了写查询。

spark.sparkContext.setCheckpointDir("/tmp/checkpoint")

...

val monitoring_stream = monitoring_df.writeStream
                              .trigger(Trigger.ProcessingTime("120 seconds"))
                              .option("checkpointLocation", "s3a://spark-checkpoint/checkpointfiles")
                             .foreachBatch { (batchDF: DataFrame, batchId: Long) =>
                                if(!batchDF.isEmpty) 
                                {
                                }
                             .start()
                             .awaitTermination()

Spark作业运行稳定。但是,我注意到检查点文件是在hdfs和s3中累积的,没有自动清理。我看到存储空间不断被这些文件占用。是否有某种方法可以配置这些检查点文件的保留时间以使其自动删除?或者我需要运行一些cron作业来手动删除它们吗?如果我手动删除它们,会影响正在进行的spark作业吗?谢谢!

zzzyeukh

zzzyeukh1#

spark.cleaner.referenceTracking.cleanCheckpoints 需要设置为true,默认值为false。

相关问题