Как выполнить запрос в AWS Glue - PullRequest
1 голос
/ 02 июня 2019

У меня есть данные, которые мне нужны в AWS Redshift.Он находится в базе данных под названием Lz (Landingzone).Эти данные вставляются в базу данных с именем Stage (то же красное смещение).У меня есть (выберите) запросы, которые преобразуют данные из их необработанного состояния (LZ) в измерения и факты, которые мне нужны.Традиционно я бы использовал эти запросы в сочетании со вставкой для преобразования данных.Результат будет объединен с хранилищем данных (снова: то же самое красное смещение)

Как мне сделать это в Glue?Могу ли я выполнить запросы в задании, используя python?Или я могу создать хранимые процедуры в красном смещении, которые выполняются заданиями или из них?

1 Ответ

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

Я не думаю, что вы можете запустить redshift sql простым и запланированным способом из клея в данный момент (к сожалению). На мой взгляд, это серьезное упущение в продукте.

Существует возможность использовать предварительные / последующие операторы, как описано в этой статье. это довольно просто и может не соответствовать вашим потребностям.

https://aws.amazon.com/premiumsupport/knowledge-center/sql-commands-redshift-glue-job/

Вы можете использовать «правильный» продукт планирования (например, airflow) или crontab и скрипт bash, чтобы сделать следующее 1) следить за состоянием ваших клеевых заданий (зависимых заданий) 2) запустить sql на красное смещение

Вы могли бы также использовать cloudwatch (для наблюдения за завершением клея) и lambda (для запуска redshift sql), однако я не рекомендую такой подход из-за ограничения времени выполнения лямбда-задания (которое может быть меньше времени, чем вам нужно, чтобы ваше красное смещение завершилось)

...