scala—当存储级别设置为磁盘时,spark在哪里存储数据?

sshcrbum  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(349)

我想知道当存储级别设置为disk\ only或memory\ u and\ disk(在这种情况下,数据不适合内存)时,spark在哪个目录中存储数据。因为我知道我设定的等级没有区别。如果程序仅在内存级别崩溃,它也会在所有其他级别崩溃。
在我使用的集群中,/tmp目录是一个ram磁盘,因此大小有限。spark是否正在尝试将磁盘级数据存储到该驱动器?也许,这就是为什么我看不出区别。如果真的是这样,我该如何改变这种默认行为?如果我使用的是hadoop附带的yarn集群,我需要更改hadoop配置文件中的/tmp文件夹吗,还是只需要使用spark更改spark.local.dir就可以了?

5w9g7ksd

5w9g7ksd1#

是的,spark正在将磁盘级数据存储到该驱动器。
在yarn集群模式下,spark执行器和spark驱动程序使用的本地目录将是为yarn配置的本地目录(hadoop yarn config yarn.nodemanager.local dirs)。如果用户指定spark.local.dir,它将被忽略。
参考文献:https://spark.apache.org/docs/latest/running-on-yarn.html#important-注意事项
因此,要更改spark本地目录,请在yarn配置中更改yarn.nodemanager.local-dirs

相关问题