AWS Redshift для S3 паркетных файлов с использованием клея AWS - PullRequest
1 голос
/ 23 апреля 2019

У нас есть случай, когда мы обрабатываем данные в Redshift.Но я хочу создать резервную копию этих таблиц в S3, чтобы я мог запрашивать их с помощью Spectrum.

Для перемещения таблиц из Redshift в S3 я использую ETL клея.Я создал сканер для AWS Redshift.Задание Glue преобразует данные в паркет и сохраняет их в S3 с разбивкой по дате.Затем другой сканер сканирует файлы S3, чтобы снова каталогизировать данные.

Как удалить второй сканер и сделать это в самом задании?

Ответы [ 2 ]

0 голосов
/ 07 мая 2019

Вместо создания другого сканера для обновления каталога клея создайте внешнюю таблицу в AWS Athena.Для получения дополнительной информации о команде создания внешней таблицы см. Следующую документацию AWS:

AWS Athena - Создать таблицу

Поскольку ваши данные разбиты на разделы, вам необходимо обновитьразделить информацию в каталоге клея после каждого запуска.Для этого вы можете использовать команду восстановления MSCK следующим образом:

MSCK REPAIR TABLE table_name

Для автоматизации этого с помощью кода вы можете использовать любой AWS SDK по следующей ссылке, в зависимости от выбранного языка: AWS SDKs .

0 голосов
/ 23 апреля 2019

Да, вы можете исключить 2-го поискового робота, но не в работе. В качестве альтернативы вы можете напрямую создать таблицу в Афине, если знаете схему файлов, присутствующих в s3, с помощью операторов DDL создания внешней таблицы. Затем выполните восстановление MSCK для таблицы, чтобы заполнить данные, присутствующие во всем разделе, после того как это будет сделано, вы можете обновить новый раздел в каталоге клея с помощью API-вызова раздела обновления клея.

...