Конфигурация Spark
Spark позволяет настроить систему в соответствии с вашими потребностями. Одно из мест для настройки системы — это Spark Properties.
Spark Properties контролируют большинство параметров приложения и могут быть установлены с помощью SparkConf код> объект. Одно из этих свойств -
spark.driver.memory.OverHead
.
spark.driver.memoryOverHead
позволяет вам установить память, используемая каждым процессом драйвера Spark в кластерном режиме. Это память, которая учитывает такие вещи, как накладные расходы виртуальной машины , интернированные строки , другие собственные накладные расходы и т. Д. — это имеет тенденцию расти вместе с размером исполнителя (обычно 6-10%). Параметр spark.driver.memoryOverHead
в настоящее время поддерживается в YARN и Kubernetes; он доступен, начиная с версии Spark 2.3.0.
Память, назначенная с помощью
spark.driver.memoryOverHead
, является памятью без кучи поверх памяти, назначенной с помощьюspark.driver.memory
. Если явно не задано, по умолчанию используется driverMemory * 0.10, минимум 384.
Формат ввода памяти
Используйте следующий формат для установки памяти:
Формат | Описание |
---|---|
1b | байтов |
1k или 1kb | kibibytes = 1024 bytes |
1 м или 1 МБ | мебибайт = 1024 кибибайта |
1 г или 1 ГБ | гибибайт = 1024 мегибайта |
1t или 1tb | tebibytes = 1024 гибибайта |
1p или 1pb | pebibytes = 1024 tebibytes |
Как установить накладные расходы на память драйвера
Вы можете установить накладные расходы на память драйвера с помощью Spa rkConf
объект. Вот пример кода:
conf = new SparkConf () conf.set ('spark.driver.memoryOverhead', '15g')
Или вы можете динамически загружать свойство:
./bin/spark-submit --name "My app" --master local [4] --conf spark.driver.memoryOverhead = 15g
Вы можете использовать spark-submit
, чтобы указать любое свойство Spark с помощью - conf
/ -c
, а затем указав его аргумент после знака =
. Запуск - help
покажет вам весь список этих параметров.