在共享目录中放置Spark的本地tmp文件夹是否安全?

时间:2019-03-26 11:01:47

标签: apache-spark

在我们的群集上,本地磁盘很小,而我们有一个庞大的网络安装的共享文件系统。为此目的使用共享驱动器安全吗? Spark创建的tmp文件夹是否具有唯一的ID?

1 个答案:

答案 0 :(得分:1)

即使与Hadoop相比Spark不需要大磁盘空间,我相信对于提供足够大且可能快速的文件系统(SSD)也是至关重要的。

Spark使用FS进行的一些重要操作包括:

  • 映射输出文件
  • 洗牌
  • RDD人口
  • 记录

前三个肯定需要很高的I / O吞吐量,因此我会避免增加网络延迟的额外开销,否则我相信Spark会变慢。当然,唯一的例外是您知道您的网络可以达到FS的I / O吞吐量的情况!

在官方的Spark documentationspark.local.dir属性上也强调了这一点:

  

用于Spark中“刮擦”空间的目录,包括地图输出   存储在磁盘上的文件和RDD。这应该很快   系统中的本地磁盘。它也可以是逗号分隔的列表   不同磁盘上的多个目录。注意:在Spark 1.0和更高版本中   这将被SPARK_LOCAL_DIRS(独立)覆盖,   MESOS_SANDBOX(Mesos)或LOCAL_DIRS(YARN)环境变量集   由集群管理器。

要回答您的最初答案,是的,由Spark创建的文件具有唯一的ID,尽管将它们放在同一目录中也会增加ID冲突的可能性。

最后,我认为您的最佳选择是将日志移到某个共享目录中,并将spark.local.dir保留在FS下。

一些有用的链接:

Creating the Apache Spark working directories

Why is Spark filling the /tmp folder?