Искры блоков данных: java.lang.OutOfMemoryError: превышен предел накладных расходов GC. - PullRequest
3 голосов
/ 31 октября 2019

Я выполняю задание Spark в кластере Databricks. Я запускаю задание через конвейер фабрики данных Azure, и оно выполняется с 15-минутным интервалом, поэтому после successful execution of three or four times происходит сбой и возникает исключение "java.lang.OutOfMemoryError: GC overhead limit exceeded". Хотя есть много ответов с ответом на вышеупомянутый вопрос, но в большинстве случаев их задания не выполняются, но в моих случаях это дает сбой после успешного выполнения некоторых предыдущих заданий. Размер моих данных составляет менее 20 МБ.

Моя конфигурация кластера: Databricks cluster Configuration

Поэтому мой вопрос заключается в том, какие изменения я должен внести в конфигурацию сервера,Если проблема исходит из моего кода, то почему это происходит в большинстве случаев. Пожалуйста, посоветуйте и предложите мне решение.

1 Ответ

0 голосов
/ 31 октября 2019

Скорее всего, это связано с тем, что в памяти исполнителя мало места. Не уверен, что является текущей настройкой и, если она по умолчанию, является значением по умолчанию в этом конкретном распределении базы данных. Хотя это и проходит, но из-за нехватки памяти происходит много сборок мусора, следовательно, время от времени он будет выходить из строя. При настройке spark предоставьте spark.executor.memory, а также некоторые другие параметры, относящиеся к числу исполнителей и ядер на исполнителя. В spark-submit конфигурация будет предоставляться как spark-submit --conf spark.executor.memory = 1g

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...