Kas*_*pgv 5 scala apache-spark checkpointing
我正在“本地”模式下运行 Spark 应用程序。它正确检查点到 checkpointFolder 配置中定义的目录。但是,我发现有两个问题导致了一些磁盘空间问题。
1)由于我们有多个用户运行该应用程序,服务器上的检查点文件夹是由第一个执行该应用程序的用户创建的,这会导致其他用户由于操作系统权限问题而运行失败。有没有办法在 checkpointFolder 中提供相对路径,例如 checkpointFolder=~/spark/checkpoint?
2)我已使用spark.worker.cleanup.enabled=true配置在运行后清理检查点文件夹,但没有看到这种情况发生。是否有其他方法可以通过应用程序清理它,而不是诉诸某些 cron 作业?
希望以下内容是明智的:
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)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1308 次 |
最近记录: |