在AWS MWAA的Airflow中配置Glue G.2X Worker参数遇错求解决
问题解决:AWS Glue Job与Airflow AwsGlueJobOperator配置冲突
错误原因
报错信息:
Failed to run aws glue job, error: An error occurred (InvalidInputException) when calling the CreateJob operation: Please do not set Allocated Capacity if using Worker Type and Number of Workers.
根源是你同时指定了基于DPU的旧容量配置(num_of_dpus=10)和基于Worker的新容量配置(NumberOfWorkers+WorkerType),两者在AWS Glue中是互斥的。
修正后的代码
移除num_of_dpus=10参数,保留create_job_kwargs里的Worker配置即可:
glue_job_step = AwsGlueJobOperator( job_name=glue_job_name, job_desc="AWS Glue Job with Airflow", script_location="s3://<bucket_name>/scripts/test_spark_hello.py", create_job_kwargs={'GlueVersion': '3.0', 'NumberOfWorkers': 10, 'WorkerType': 'G.2X'}, concurrent_run_limit=1, script_args=None, retry_limit=0, region_name=region_name, s3_bucket="s3_bucket_name", iam_role_name=glue_iam_role, run_job_kwargs=None, wait_for_completion=True, task_id='glue_job_step', dag=dag )
补充说明
- 当你移除
NumberOfWorkers和WorkerType时,Glue会默认使用G.1X Worker,此时num_of_dpus=10会被自动映射为10个G.1X Worker(1个G.1X对应1个DPU)。 - 改用G.2X Worker时,必须使用
WorkerType+NumberOfWorkers的组合,不能再设置num_of_dpus——因为G.2X每个Worker对应2个DPU,AWS Glue不再通过DPU直接分配容量。
内容的提问来源于stack exchange,提问作者Arun Kumar N
相关产品推荐
相关产品推荐

