我在纱线簇(HDP 2.4)中使用Spark,设置如下:
UI中的storage memory列显示用于执行和RDD存储的内存量。默认情况下,这等于(HEAP_SPACE-300MB)*75%。其余的内存用于内部元数据、用户数据结构和其他填充。
您可以通过设置spark.memory.fraction
(不推荐)来控制此数量。请参阅Spark的文档
我已经将spark.executor.memory设置为2048M,在UI“环境”页面中,我可以看到这个值已经设置正确。但是在“executors”页面中,我看到只有一个executor,它的内存是265.4MB。非常奇怪的价值。为什么不是256MB,或者就像我设定的那样?
我是一个新的spark框架,我想知道什么是驱动内存和执行器内存?从两者中获得最大性能的有效方法是什么?
null null 为了进行简单的开发,我使用在独立集群模式下(8个工作者、20个内核、45.3G内存)执行了我的Python代码。现在我想为性能调优设置执行器内存或驱动程序内存。 在Spark文档中,执行器内存的定义是 每个执行程序进程使用的内存量,格式与JVM内存字符串相同(例如512M、2G)。
如何增加Apache spark executor节点可用的内存? 我有一个2 GB的文件,适合加载到Apache Spark。我目前正在1台机器上运行apache spark,因此驱动程序和执行程序在同一台机器上。这台机器有8 GB内存。 我尝试了这里提到的各种东西,但我仍然得到错误,并没有一个明确的想法,我应该改变设置。 我正在从spark-shell交互地运行我的代码
1)谁能解释一下为什么显示的是31GB而不是60GB。2)还有助于为上述参数设置最佳值。