spark-scala checkpointing清理

时间:2018-01-17 19:51:04

标签: scala apache-spark checkpointing

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

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

2)我在运行后使用spark.worker.cleanup.enabled = true config来清理checkpoint文件夹,但是没有看到这种情况发生。是否有其他方法通过应用程序清理它,而不是诉诸某些cron工作?

2 个答案:

答案 0 :(得分:0)

希望以下是明智的选择:

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)
  }

答案 1 :(得分:0)

签出此答案!

PySpark: fully cleaning checkpoints

我也遇到了同样的问题,以上链接已解决!