Укажите тип работы при создании склеивания с помощью boto3 - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь создать задание на клей. Я использую boto3. Я использую скрипт ниже. Я хочу создать его как type = Spark, но скрипт ниже создает оболочку type = Python. Также это не отключает закладки. Кто-нибудь знает, что мне нужно добавить, чтобы сделать его тип Spark и отключить закладки?

скрипт:

response = glue_assumed_client.create_job(
    Name='mlxxxx',
    Role='Awsxxxx',
    Command={
        'Name': 'mlxxxx',
        'ScriptLocation': 's3://aws-glue-scripts-xxxxx-us-west-2/xxxx',
        'PythonVersion': '3'
    },

    Connections={
        'Connections': [
            'sxxxx',
'spxxxxxx',
        ]
    },

    Timeout=2880,
    MaxCapacity=10
)

Ответы [ 2 ]

0 голосов
/ 08 ноября 2019

Чтобы создать задания Spark, вы должны указать имя команды как «glueetl», как описано ниже, и если вы не запускаете задание оболочки python, вам не нужно указывать версию python в параметрах команды

response = client.create_job(
    Name='mlxxxyu',
    Role='Awsxxxx',
    Command={
        'Name': 'glueetl',     # <——   mention the name as glueetl to create spark job
        'ScriptLocation': 's3://aws-glue-scripts-xxxxx-us-west-2/xxxx'
    },
    Connections={
        'Connections': [
            'sxxxx',
'spxxxxxx',
        ]
    },

    Timeout=2880,
    MaxCapacity=10
)

Что касается закладок задания, закладки задания по умолчанию отключены, поэтому, если вы не укажете параметр для закладок задания, то для созданного задания будут отключены закладки.

Если вы хотите явно отключитьзакладок, то вы можете указать то же самое в Аргументах по умолчанию [1], как показано ниже.

response = client.create_job(
    Name='mlxxxyu',
    Role='Awsxxxx',
    Command={
        'Name': 'glueetl',
        'ScriptLocation': ‘s3://aws-glue-scripts-xxxxx-us-west-2/xxxx'
    },
    DefaultArguments={
        '--job-bookmark-option': 'job-bookmark-disable'
    },
    Timeout=2880,
    MaxCapacity=10
)
0 голосов
/ 07 ноября 2019

См. Документацию .

Команда (dict) - [ОБЯЗАТЕЛЬНО] JobCommand, которая выполняет это задание.

Имя (строка) -Имя команды задания. Для задания Apache Spark ETL это должно быть glueetl . Для задания оболочки Python это должен быть pythonshell.

Вы можете сбросить закладку с помощью функции

client.reset_job_bookmark(
    JobName='string',
    RunId='string'
)

, где требуется JobName. Его можно получить из response['Name'] команды create_job()

...