Сбой задания AWS GLUE при работе с разделенными файлами Parquet во вложенных папках s3
Я получаю следующую ошибку при выполнении задания GLUE над разделенными файлами паркета. Невозможно определить схему для паркета. Должен быть указан вручную
Я настроил свой сканер и успешно получил схему для моих файлов паркета. Я могу просмотреть данные в Афине. Я создал схему вручную на моей целевой Redshift.
Я могу загрузить файлы через КЛЕЙ в Redshift, если все мои данные находятся только в одной папке. НО, когда я указываю на папку, в которой есть вложенные папки, например, папка X - имеет 04 и 05 - задание GLUE завершается неудачно с сообщением Невозможно определить схему для Parquet. Должен быть указан вручную
Что странно, так как работает, если я положу все эти файлы в одну папку?
2 ответа
Я нашел решение здесь - это работает для меня Firehose JSON -> S3 Parquet -> ETL Spark, ошибка: невозможно определить схему для Parquet
Это scala-версия работы с клеем ETL
Если вы укажете прямо на папку раздела, то папка раздела больше не будет столбцом в схеме таблицы. Лучше использовать предикат pushdown - https://aws.amazon.com/blogs/big-data/work-with-partitioned-data-in-aws-glue/, указывая на верхнюю папку.