AWS Glue автоматическое создание рабочих мест - PullRequest
0 голосов
/ 15 января 2019

У меня есть скрипт pyspark, который я могу запустить в AWS GLUE. Но каждый раз, когда я создаю задание из пользовательского интерфейса и копирую свой код в задание. В любом случае я могу автоматически создавать задание из своего файла в корзине s3. (У меня есть весь контекст библиотеки и клея, который будет использоваться во время работы)

Ответы [ 3 ]

0 голосов
/ 16 января 2019

Другой альтернативой является использование AWS CloudFormation . Вы можете определить все ресурсы AWS, которые вы хотите создать (не только задания Glue), в файле шаблона, а затем обновлять стек в любое время из Консоль AWS или , используя cli .

Шаблон для работы с клеем будет выглядеть так:

  MyJob:
    Type: AWS::Glue::Job
    Properties:
      Command:
        Name: glueetl
        ScriptLocation: "s3://aws-glue-scripts//your-script-file.py"
      DefaultArguments:
        "--job-bookmark-option": "job-bookmark-enable"
      ExecutionProperty:
        MaxConcurrentRuns: 2
      MaxRetries: 0
      Name: cf-job1
      Role: !Ref MyJobRole # reference to a Role resource which is not presented here
0 голосов
/ 16 января 2019

Я написал скрипт, который делает следующее:

  1. У нас есть (клей) _dependency.txt файл, скрипт получает путь ко всем файлам зависимостей и создает zip-файл.
  2. Он загружает файл склеивания и zip-файл в S3 с помощью синхронизации s3
  3. Опционально, если любое изменение в настройке задания приведет к повторному развертыванию шаблона облачной информации

Вы можете написать скрипт оболочки для этого.

0 голосов
/ 15 января 2019

Да, это возможно. Например, для этой цели вы можете использовать каркас boto3.

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/glue.html#Glue.Client.create_job

https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html

...