GCP作曲家(气流)操作员

时间:2018-12-12 13:52:12

标签: google-cloud-platform airflow google-cloud-dataproc google-cloud-composer

我正在使用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
        )

1 个答案:

答案 0 :(得分:2)

我设法找到问题并进行了解决。上面Ashish Kumar提供的评论是正确的。

问题是我使用的Airflow版本(1.9.0)不支持DataProcClusterScaleOperator。我通过激活BETA并选择版本1.10.0创建了另一个实例。

解决了我的问题。