#aws-glue #amazon-redshift-spectrum
#aws-glue #amazon-redshift-spectrum
Вопрос:
У нас есть вариант использования, когда мы обрабатываем данные в Redshift. Но я хочу создать резервную копию этих таблиц в S3, чтобы я мог запрашивать их с помощью Spectrum.
Для перемещения таблиц из Redshift в S3 я использую Glue ETL. Я создал поисковый модуль для AWS Redshift. Задание на склеивание преобразует данные в parquet и сохраняет их в S3 с разделением по дате. Затем другой поисковый робот сканирует файлы S3, чтобы снова каталогизировать данные.
Как я могу устранить второй поисковый модуль и сделать это в самом задании?
Ответ №1:
Нет необходимости использовать AWS Glue или Athena для выгрузки данных Redshift в S3 в формате Parquet. Функция выгрузки данных в формате Parquet теперь поддерживается в Redshift:
UNLOAD ('select-statement')
TO 's3://object-path/name-prefix'
FORMAT PARQUET
Документацию можно найти по адресу ВЫГРУЗКА — Amazon Redshift
Ответ №2:
Да, вы можете исключить 2-й поисковый робот, но не в job, в качестве альтернативы вы можете напрямую создать таблицу в Athena, если знаете схему файлов, присутствующих в s3, используя инструкции create external table DDL. Затем выполните исправление MSCK в таблице, чтобы заполнить данные, присутствующие во всех разделах, как только это будет сделано, вы можете обновить новый раздел в каталоге клея с помощью вызова API обновления раздела клея.
Ответ №3:
Вместо создания другого сканера для обновления каталога клея создайте внешнюю таблицу в AWS Athena. Для получения более подробной информации о команде создания внешней таблицы обратитесь к следующей документации от AWS :
Поскольку ваши данные разделены, вам необходимо будет обновлять информацию о разделе в каталоге клея после каждого запуска. Для этого вы можете использовать команду восстановления MSCK следующим образом :
MSCK REPAIR TABLE table_name
Чтобы автоматизировать это с помощью кода, вы можете использовать любой AWS SDK по следующей ссылке, в зависимости от выбранного вами языка: AWS SDKS.
Комментарии:
1. Будет ли таблица Athena также присутствовать в каталоге клея?
2. Да, по умолчанию Athena использует каталог клея в качестве своего метастора. Ранее Amazon Athena управляла собственным каталогом данных до появления каталога Glue. Если ваша athena все еще указывает на старый каталог, вы можете перенести ее в каталог клея, используя следующую документацию AWS: docs.aws.amazon.com/athena/latest/ug/glue-upgrade.html