AwS клеящее задание считывает 0 файлов при запуске с созданной вручную таблицей - PullRequest
0 голосов
/ 26 марта 2020

Я хочу запустить связующее задание для выполнения процесса ETL для многих CSV-файлов от s3 до Postgres DB. Новые файлы записываются в исходную корзину s3 каждый день. Когда я запускаю сканер для этих файлов, чтобы сгенерировать таблицу со схемой, вместо одной таблицы в каталоге данных клея, я получаю много таблиц, что означает, что сканер не распознает схемы для этих файлов как одинаковые. Возможно, потому что есть много файлов с заголовком, но без содержимого.

Поэтому, когда я создаю склеиваемое задание с помощью мастера, когда меня спрашивают, какую таблицу использовать, я выбираю только одну из таблиц из каталога склеенных данных (созданных на основе самого большого CSV-файла). В результате в БД у меня есть данные только из этого самого большого файла, а не из всех файлов CSV. Я думаю, это происходит потому, что сканер, в то время как он создает эти таблицы в каталоге данных glue, также сохраняет список файлов, которые соответствуют этой таблице, я нашел эти файлы на s3: / aws -glue-временная-000xxxxx-us-east -2 / admin / список разделов / имя_скрипта / xxxxx / для каждого связующего задания есть datasource0.input-files. json файл с содержимым, подобным {"path":"s3://bucket1/customer/dt=2020-02-03/","files":["s3://bucket1/customer/dt=2020-02-03/file1.csv"]}]

Когда я проверяю Когда я попробуйте вручную создать таблицу схемы в каталоге данных glue и назначить ее скрипту работы glue, в надежде, что все файлы в пути s3 будут обработаны, он не прочитает ни один из файлов, и в журнале я вижу

- Skipping Partition {}
 as no new files detected @ s3://bucket1/customer/ / or path does not exist

и когда я проверяю соответствующие файлы данных datasource0.input. json, у него нет файлов: [{"path":"s3://bucket1/customer/","files":[]}]

Что я делаю не так? Как сделать так, чтобы скрипт скриптового задания с созданной вручную таблицей схемы считывал все файлы по выбранному пути s3? Или можно использовать только одну из множества автоматически создаваемых таблиц схемы со всеми файлами (не только с одной схемой)?

1 Ответ

1 голос
/ 31 марта 2020

Возможно, вы запускаете клейкое задание с включенной закладкой. Вам лучше не использовать закладки, а также не указывать контекст преобразования при извлечении данных, учитывая, что вы все настраиваете вручную, а не через сканер. Кроме того, если у вас есть разделы, вы также должны вручную добавить определения разделов.

...