Может ли AWS Glue Crawler обрабатывать файлы разных типов в одной папке? - PullRequest
0 голосов
/ 26 июня 2019

У меня есть отчеты, доставленные на S3 в следующей структуре:

s3://chum-bucket/YYYY/MM/DD/UsageReportYYYYMMDD.zip
s3://chum-bucket/YYYY/MM/DD/SearchReportYYYYMMDD.zip
s3://chum-bucket/YYYY/MM/DD/TimingReportYYYYMMDD.zip

ДД ГГГГ ММ меняются в день.YYYMMDD в имени файла есть, потому что все файлы помещаются в один каталог на сервере, прежде чем они будут перемещены на S3.

Я хочу иметь 1 или 3 искателя, которые доставляют 3 таблицы в каталог, по одной для каждоготип отчета.Это возможно?Кажется, я не могу указать

s3://chum-bucket/**/UsageReport*.zip
s3://chum-bucket/**/SearchReport*.zip
s3://chum-bucket/**/TimingReport*.zip

Я могу написать один сканер, который исключает SearchReport и TimingReport и, следовательно, сканирует только UsageReport.Это лучший способ?

Или мне нужно полностью изменить дизайн имени корзины / папки / файла?

1 Ответ

1 голос
/ 26 июня 2019

Amazon Redshift загружает все файлы по заданному пути, независимо от имени файла.

Redshift не будет использовать преимущества разделов (Redshift Spectrum будет, но не обычный оператор Redshift COPY), но будет читать файлы излюбые подкаталоги в данном пути.

Поэтому, если вы хотите загрузить данные в отдельные таблицы (UsageReport, SearchReport, TimingReport), они должны находиться в отдельных путях (каталогах).Все файлы в указанной иерархии каталогов должны быть в одном и том же формате и загружаться в ту же таблицу с помощью команды COPY.

В качестве альтернативы можно указать в конкретный файл с использованием файлов манифеста, но это может привести к путанице.

Итог: Переместить файлы в отдельные каталоги.

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