Spark
是抛出错误java.io.IOException: No space left on device
,我已追踪到的目录的溢出/tmp
哪里Spark
是创建临时文件。我想为这些文件手动指定其他可用空间的位置。目前使用PySpark 3.1.2
的Ubuntu 20.04
。已经尝试了以下方法但没有成功(Spark
仍然写入/tmp
):
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
spark.conf.set('spark.local.dirs', '/home/tmp')
也尝试过
spark.conf.set('spark.local.dir', '/home/tmp')
在这两种情况下Spark
,忽略配置更改以写入另一个目录 ( /home/tmp
),而是写入默认目录,就好像没有配置更改 ( /tmp
) 在没有足够空间的情况下一样。
您不能从 spark 会话内部执行此操作 - 因为 Spark 会话已经创建,因此本地目录已经设置(并使用)。您应该在启动时将其作为参数传递:
spark = SparkSession.builder.config('spark.local.dir', '/home/tmp').getOrCreate()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句