Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark “的价值”;火花、纱线、执行器、记忆头”;背景_Apache Spark_Apache Spark Sql_Spark Streaming_Apache Spark Mllib - Fatal编程技术网

Apache spark “的价值”;火花、纱线、执行器、记忆头”;背景

Apache spark “的价值”;火花、纱线、执行器、记忆头”;背景,apache-spark,apache-spark-sql,spark-streaming,apache-spark-mllib,Apache Spark,Apache Spark Sql,Spark Streaming,Apache Spark Mllib,在带有纱线的火花作业中,spark.Thread.executor.memoryOverhead的值应分配给App还是仅分配给最大值 spark.yarn.executor.memoryOverhead 只是最大值。目标是将开销计算为RDD和数据帧使用的实际执行器内存的百分比 --executor-memory/spark.executor.memory 控制执行器堆的大小,但JVM也可以使用堆外的一些内存,例如用于内部字符串和直接字节缓冲区 spark.warn.executor.memo

在带有纱线的火花作业中,
spark.Thread.executor.memoryOverhead
的值应分配给App还是仅分配给最大值

spark.yarn.executor.memoryOverhead
只是最大值。目标是将开销计算为RDD和数据帧使用的实际执行器内存的百分比

--executor-memory/spark.executor.memory
控制执行器堆的大小,但JVM也可以使用堆外的一些内存,例如用于内部字符串和直接字节缓冲区

spark.warn.executor.memoryOverhead的值
属性添加到执行器内存中,以确定每个执行器对纱线的完整内存请求。默认为最大值(executorMemory*0.10,最小值为384)


执行器将使用基于
spark.executor.memory
属性的内存分配,加上
spark.Thread.executor.memoryOverhead定义的开销

谢谢您的回复。我仍然想知道,我已经将Thread的内存应用于我的工作,然后我设置了'spark.Thread.executor.memoryOverhead'的值,这是否意味着它将为我的工作添加额外内存?默认情况下,spark.Thread.am.memoryOverhead为am memory*0.10,最小值为384。这意味着如果我们将spark.warn.am.memory设置为777M,实际的am容器大小将为2G。这是因为777+Max(384777*0.10)=777+384=1161,并且默认的warn.scheduler.minimum allocation mb=1024,所以2GB容器将分配给AM。