Сбой задания 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/, указывая на верхнюю папку.

Другие вопросы по тегам