ошибка памяти Shuffle: не удалось выделить прямую память - PullRequest
0 голосов
/ 23 марта 2020

При выполнении пары соединений на кадрах искровых данных (4x) я получаю следующую ошибку:

org.apache.spark.shuffle.FetchFailedException: failed to allocate 16777216 byte(s) of direct memory (used: 4294967296, max: 4294967296)

Даже при установке:

--conf "spark.executor.extraJavaOptions-XX:MaxDirectMemorySize=4G" \

это не решается.

1 Ответ

2 голосов
/ 24 марта 2020

Похоже, в полетных блоках слишком много. Попробуйте с меньшими значениями spark.reducer.maxBlocksInFlightPerAddress. Для справки взгляните на это JIRA

Текст цитирования:

Для конфигураций с включенным внешним перемешиванием мы заметили, что если очень большое значение no. блоков извлекаются из удаленного хоста, это создает дополнительное давление на NM и может взломать sh. Это изменение вводит конфигурацию spark.reducer.maxBlocksInFlightPerAddress, чтобы ограничить число. выводов карты, извлекаемых с заданного удаленного адреса. Примененные здесь изменения применимы как к сценарию ios - когда внешний тасование включено, так и отключено.

...