Какой самый оптимальный способ автоматизировать передачу данных (CSV-файл) из s3 в Redshift без AWS Pipeline? - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь взять данные sql, хранящиеся в файле csv, в корзину s3 и перенести их в AWS Redshift и автоматизировать этот процесс.Будет ли написание сценариев etl с использованием лямбды / клея лучшим способом решения этой проблемы, и если да, то как мне периодически запускать сценарий / передачу?Если нет, то какой будет наиболее оптимальный способ передачи данных из s3 в Redshift.

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

1 Ответ

0 голосов
/ 04 июля 2019

Все системы (включая AWS Data Pipeline) используют команду Amazon Redshift COPY для загрузки данных из Amazon S3 .

Таким образом, вы можете написать Лямбда-функцию AWS, который подключается к Redshift и выдает команду COPY.Вам нужно будет включить совместимую библиотеку (например, psycopg2), чтобы иметь возможность вызывать Redshift.

Вы можете использовать Amazon CloudWatch Events , чтобы вызывать функцию Lambda по регулярному расписанию.Или вы можете получить фантазию и настроить Amazon S3 Events таким образом, чтобы при сбросе файла в корзину S3 автоматически запускалась функция Lambda.

Если вы не хотите писать это самостоятельно, вы можетепоиск существующего кода в Интернете, в том числе:

...