【问题标题】:spark-scala checkpointing cleanupspark-scala 检查点清理
【发布时间】:2020-11-05 22:11:21
【问题描述】:

我正在“本地”模式下运行 Spark 应用程序。它正确地检查点到 checkpointFolder 配置中定义的目录。但是,我发现有两个问题会导致一些磁盘空间问题。

1) 由于我们有多个用户运行应用程序,服务器上的检查点文件夹是由第一个执行它的用户创建的,这会导致其他用户的运行由于操作系统上的权限问题而失败。有没有办法在 checkpointFolder 中提供相对路径,例如 checkpointFolder=~/spark/checkpoint?

2) 我使用 spark.worker.cleanup.enabled=true 配置在运行后清理检查点文件夹,但没有看到这种情况发生。有没有其他方法可以通过应用程序清理它,而不是求助于一些 cron 作业?

【问题讨论】:

    标签: scala apache-spark checkpointing


    【解决方案1】:

    希望以下是明智的:

    1) 您可以每次创建唯一文件夹,例如 /tmp/spark_checkpoint_1578032476801

    2a) 您可以只删除应用程序末尾的文件夹。

    2b) 如果您使用 HDFS 进行检查点,则使用此类代码

      def cleanFS(sc: SparkContext, fsPath: String) = {
        val fs = org.apache.hadoop.fs.FileSystem.get(new URI(fsPath), sc.hadoopConfiguration)
        fs.delete(new Path(fsPath), true)
      }
    

    【讨论】:

      【解决方案2】:

      看看这个答案!

      PySpark: fully cleaning checkpoints

      我遇到了同样的问题,在上面的链接中解决了!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-22
        • 2017-12-23
        • 2023-02-09
        • 2020-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多