dort, Der Wert von "spark.yarn.executor.memoryOverhead" im Spark-Job ist das Garn, das der App zugewiesen werden soll, oder nur der Maximalwert.
spark.yarn.executor.memoryOverhead
Ist nur der maximale Wert. Das Ziel ist, OVERHEAD als Prozentsatz des realen Executor-Speichers zu berechnen, wie er von RDDs und DataFrames verwendet wird
--executor-memory/spark.executor.memory
steuert die Größe des Executor-Heaps, JVMs können jedoch auch Speicher für Heap verwenden, z. B. für intern gespeicherte Strings und Puffer mit direktem Byte.
Der Wert der Eigenschaft spark.yarn.executor.memoryOverhead
. wird dem Executor-Speicher hinzugefügt, um die vollständige Speicheranforderung an YARN für jeden Executor zu bestimmen. Der Standardwert ist max (executorMemory * 0.10, mindestens 384).
Die Executoren verwenden eine Speicherzuordnung, die auf der Eigenschaft spark.executor.memory
plus basiert, und einem durch spark.yarn.executor.memoryOverhead
definierten Overhead.
Eine detaillierte Beschreibung des Funken-Executor-Speicherlayouts mit Garn finden Sie hier