我正在使用GCP Composer API(气流)和我的DAG来扩大工人数量,并不断向我返回以下错误:
Broken DAG: [/home/airflow/gcs/dags/cluster_scale_workers.py] 'module' object has no attribute 'DataProcClusterScaleOperator'
似乎与ScaleOperator相关,但是当我查看Airflow Read the Docs并与我的代码进行交叉检查时,似乎没有什么错。我想念什么?
与GCP Airflow版本有关吗?
代码:
import datetime
import os
from airflow import models
from airflow.contrib.operators import dataproc_operator
from airflow.utils import trigger_rule
yesterday = datetime.datetime.combine(
datetime.datetime.today() - datetime.timedelta(1),
datetime.datetime.min.time())
default_dag_args = {
'start_date': yesterday,
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': datetime.timedelta(minutes=5),
'project_id': models.Variable.get('gcp_project'),
'cluster_name': 'hive-cluster'
}
with models.DAG(
'scale_workers',
schedule_interval=datetime.timedelta(days=1),
default_args=default_dag_args) as dag:
scale_to_6_workers = dataproc_operator.DataprocClusterScaleOperator(
task_id='scale_dataproc_cluster_6',
cluster_name='hive-cluster',
num_workers=6,
num_preemptible_workers=3,
dag=dag
)
答案 0 :(得分:2)
我设法找到问题并进行了解决。上面Ashish Kumar提供的评论是正确的。
问题是我使用的Airflow版本(1.9.0)不支持DataProcClusterScaleOperator
。我通过激活BETA并选择版本1.10.0创建了另一个实例。
解决了我的问题。