我正在尝试创建胶水etl作业。我正在使用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
)
答案 0 :(得分:0)
请参见documentation。
命令(字典)-[必需]执行此作业的JobCommand。
名称(字符串)-作业命令的名称。对于Apache Spark ETL作业,它必须为 glueetl 。对于Python Shell作业,它必须是pythonshell。
您可以使用功能
重置书签。client.reset_job_bookmark(
JobName='string',
RunId='string'
)
需要JobName
的地方。可以从命令response['Name']
的{{1}}
答案 1 :(得分:0)
要创建Spark作业,您必须将命令的名称称为“ glueetl”,如下所述;如果您没有运行python shell作业,则无需在Command参数中指定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
)