Вызов хранимой процедуры из скрипта aws Glue

Как лучше всего вызвать хранимую процедуру в сценарии AWS Glue после выполнения задания ETL?

Я использую PySpark для извлечения данных из S3 и сохранения в промежуточной таблице. После этого процесса необходимо вызвать хранимую процедуру. Эта хранимая процедура загружает данные из промежуточной таблицы в соответствующие таблицы MDS.

Если мне нужно вызвать хранимую процедуру после выполнения задания ETL, каков наилучший способ? Если я рассматриваю лямбду AWS, есть ли способ, которым лямбда может быть уведомлена после ETL.


person Santhosh Nagulanchi    schedule 22.10.2017    source источник
comment
Мне любопытно услышать, как вы это решили? Вы в конечном итоге просто выполнили лямбда-функцию, как было предложено?   -  person Michael Black    schedule 12.04.2019


Ответы (3)


Вы можете использовать boto sdk, чтобы активировать лямбда-выражение в конце задания приклеивания ETL. Поскольку вы пишете в промежуточную таблицу, вам также понадобится NAT-шлюз в подсети подключения для работы вызова boto. Пример по этой ссылке использует boto для запуска задачи ECS, которая будет аналогичным процессом: https://github.com/full360/glue-sneaql-demo/blob/master/Glue-Job-Script.

person Dandalf    schedule 27.10.2017

вы можете сделать это с помощью py4j, и весь ваш код будет в одном месте, IMHO способ лучше, чем другие

Как запустить произвольный / DDL Операторы SQL или хранимые процедуры с использованием AWS Glue

person mishkin    schedule 21.01.2021

Используйте SDK напрямую, избегайте создания дополнительной инфраструктуры и ее координации, но в некоторых случаях это невозможно (сеть, безопасность, архитектура и т. Д.).

В этом случае вы можете настроить правило Cloudwatch для запуска лямбда-выражения при изменении статуса задания на УСПЕШНО.

Схема события:

{
  "detail-type": [
    "Glue Job State Change"
  ],
  "source": [
    "aws.glue"
  ],
  "detail": {
    "state": [
      "SUCCEEDED"
    ]
  }
}

и активируйте лямбда-выражение для этого события.

person RojoSam    schedule 05.06.2020