Amazon Redshift таблица на внешнюю таблицу в S3 каждый час - PullRequest
0 голосов
/ 10 мая 2018

Я хотел бы экспортировать данные из таблицы Amazon Redshift во внешнюю таблицу, хранящуюся в Amazon S3.Каждый час я хочу экспортировать строки из источника Redshift во внешнюю таблицу.

Какие варианты существуют в AWS для достижения этой цели?

Я знаю, что существует UNLOADкоманда, которая позволяет мне экспортировать данные в S3, но я думаю, что это не сработает для сохранения данных во внешней таблице (которая также разделена).Или Amazon EMR, вероятно, единственный способ заставить это работать?

1 Ответ

0 голосов
/ 10 мая 2018

Внешние таблицы Amazon Redshift Spectrum доступны только для чтения. Вы не можете обновить их из Redshift (например, с помощью команд INSERT).

Следовательно, вам потребуется метод для создания файлов непосредственно в S3.

UNLOAD, конечно, может сделать это, но не может сохранить данные в структуре разделов.

Amazon EMR, действительно, будет хорошим вариантом. В наши дни плата взимается посекундно, поэтому для экспорта данных потребуется только достаточно долго. Вы можете использовать предпочитаемый инструмент (например, Hive или Spark), чтобы экспортировать данные из Redshift, а затем записать их во внешнюю многораздельную таблицу.

Например, см .: Включение Amazon Redshift Analytics с помощью Apache Spark и Amazon Machine Learning | Блог больших данных AWS

spark-redshift

Другой вариант может быть AWS Glue. Я не слишком знаком с ним, но он может выводиться в разделы, так что это может быть еще более простой способ для достижения вашей цели!

См .: Управление разделами для вывода ETL в AWS Glue - AWS Glue

...