Использование AWS Glue для преобразования очень большого csv.gz (30-40 ГБ каждый) в паркет - PullRequest
0 голосов
/ 02 октября 2018

Есть много таких вопросов, но, похоже, ничего не помогает.Я пытаюсь преобразовать довольно большие файлы csv.gz в паркет и продолжаю получать различные ошибки, такие как

'Command failed with exit code 1'

или

An error occurred while calling o392.pyWriteDynamicFrame. Job aborted due to stage failure: Task 0 in stage 0.0 failed 4 times, most recent failure: Lost task 0.3 in stage 0.0 (TID 3, ip-172-31-5-241.eu-central-1.compute.internal, executor 4): ExecutorLostFailure (executor 4 exited caused by one of the running tasks) Reason: Container marked as failed

.В мониторинге метрик я не вижу большой загрузки процессора или памяти.Существует движение данных ETL, но это должно вызвать любую ошибку при работе с S3.

Другая проблема заключается в том, что такая работа выполняется за 4-5 часов до броска.Это ожидаемое поведение?Файлы CSV имеют размер 30-40 столбцов.

Я не знаю, в каком направлении двигаться.Может ли Glue в целом обрабатывать такие большие файлы?

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Я думаю, что проблема не связана напрямую с количеством DPU.У вас большой файл, и вы используете формат GZIP, который нельзя разделить, поэтому у вас есть эта проблема.

Я предлагаю преобразовать ваш файл из GZIP в bzip2 или lz4.Кроме того, вы должны рассмотреть возможность использования разделения выходных данных для повышения производительности в будущем.

http://comphadoop.weebly.com/

0 голосов
/ 03 октября 2018

Сколько DPU вы используете.Эта статья дает хороший обзор планирования емкости DPU.Надеюсь, это поможет.В AWS нет определенной книги правил, в которой указано, сколько DPU нужно для обработки определенного размера.

...