Триггерные клея ETL работы каждую 1 минуту - PullRequest
0 голосов
/ 26 августа 2018

Я хочу запускать связующее задание ETL каждую 1 минуту.

Я обнаружил, что есть триггер Расписание, но минимальное время составляет 5 минут.

Есть ли обходной путь для этого?Я вижу, что есть триггер по требованию, это можно вызвать из лямбда-функции?

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Если это не работает для вас, то есть обходной путь с использованием лямбда-функции.Вы можете создать лямбда-функцию, которая запускается событием cloudwatch (cron в течение 1 минуты), используя метод склеивания модуля boto3 start_job_run, вот пример вашего синтаксиса для функции lmabda:

    import boto3
    glue= boto3.client('glue')
    def lambda_handler(event, context):    
        response = glue.start_job_run(JobName='string')

PS: - А также вам нужно увеличить *** "1005 *

" предел параллелизма "для ваших рабочих мест.

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

0 голосов
/ 27 августа 2018

Вы можете сделать это, если используете Шаблоны CloudFormation , где вы можете указать выражение cron:

 Resources:
  YourJobNameTrigger:
    Type: AWS::Glue::Trigger
    Properties:
      Name: YourJobNameTriggerName
      Type: SCHEDULED
      Description: Daily scheduled trigger
      Schedule: cron(*/1 * * * ? *)
      Actions:
        - JobName: 
            Ref: YourJobName
...