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

我想知道当存储级别设置为disK_ONLY或MEMORY_AND_disK时,Spark存储数据的目录(在这种情况下,数据不适合内存).因为我看到我设置的级别没有区别.如果程序崩溃MEMORY_ONLY级别,它也会崩溃所有其他级别.

在我正在使用的集群中,/ tmp目录是一个RAM磁盘,因此大小有限. Spark是否试图将磁盘级数据存储到该驱动器?也许,这就是为什么我没有看到差异.如果确实如此,我该如何更改此认行为?如果我正在使用Hadoop附带的纱线群集,我是否需要更改hadoop配置文件中的/ tmp文件夹,或者仅使用Spark更改spark.local.dir?

解决方法

是的,Spark正在将磁盘级数据存储到该驱动器.

在yarn-cluster模式下,Spark执行程序和Spark驱动程序使用的本地目录将是为YARN配置的本地目录(Hadoop YARN config yarn.nodemanager.local-dirs).如果用户指定spark.local.dir,它将被忽略.

参考:https://spark.apache.org/docs/latest/running-on-yarn.html#important-notes

因此,您可以在yarn配置中更改spark本地目录更改yarn.nodemanager.local-dirs

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...