簡體   English   中英

使用 boto3 創建粘合作業時指定作業類型

[英]Specify job type when creating glue job with boto3

我正在嘗試創建一個膠水等工作。 我正在使用boto3。 我正在使用下面的腳本。 我想將它創建為 type=Spark,但下面的腳本創建了一個 type=Python Shell。 它也不會禁用書簽。 有誰知道我需要添加什么才能使其成為 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
)

請參閱文檔

Command (dict) -- [REQUIRED] 執行此作業的 JobCommand。

Name (string) -- 作業命令的名稱。 對於 Apache Spark ETL 作業,這必須是geletl 對於 Python shell 作業,它必須是 pythonshell。

您可以使用 function 重置書簽

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

需要JobName的地方。 可以從命令create_job()response['Name']中獲取

要創建 Spark 作業,您必須將命令的名稱稱為“glueetl”,如下所述,如果您沒有運行 python shell 作業,則無需在參數中指定 Z23EEEB4347BDD26BFC6B7EE9A3B75

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
)

關於作業書簽,作業書簽在默認情況下是禁用的,因此如果您沒有為作業書簽指定參數,那么創建的作業將禁用書簽。

如果要顯式禁用書簽,則可以在 Default Arguments[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
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM