Загрузка данных из S3 убивает исполнителя - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь загрузить 4 ТБ данных (8760 файлов от 135 МБ до 400 МБ) из s3, то, что я сделал для того же:

Используемый метод: spark.read.format (…) длязагрузить его непосредственно во фрейм данных
Используемая машина: Master r4.4xlarge Core (8) r4.8xlarge
Настройка Spark: (Режим клиента) --num-executors 47 --executor-memory 36g --conf spark.yarn.executor.memoryOverhead = 2800M --conf spark.executor.cores = 5 --conf spark.driver.cores = 5 --conf spark.sql.shuffle.partitions = 115 --conf spark.default.parallelism = 115--conf spark.network.timeout = 5800s

Работает для небольших данных (75 ГБ) при увеличении до более 140 ГБ. Я столкнулся со следующими проблемами:

Проблема:
1) Всемои исполнители будут убиты, как только начнется загрузка, если для динамического выделения установлено значение true
2) Также не удается выделить ресурсы в режиме кластера (бесконечный клиент INFO: отчет приложения для сообщений application_xx (состояние: ПРИНЯТО))

Вещи, которые я пробовал:
1) Увеличение мнакладные расходы emory
2) spark.dynamicAllocation.enabled = false, чтобы сохранить исполнителей живыми через 60 секунд
3) Увеличение максимального числа повторных попыток при чтении s3 (spark.hadoop.fs.s3.maxRetries)
4) Sparkна выходе из пряжи с ненулевым кодом выхода 143, исправленным путем увеличения емкости ресурса в процентах к планировщику до (0,5)

Я новичок в поиске, не могли бы вы указать, что не так или предложить мне лучший способнагрузки

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