GCP Composer(Airflow)运算符

问题描述 投票:3回答:1

我正在使用GCP Composer API(Airflow)和我的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
        )
google-cloud-platform airflow google-cloud-dataproc google-cloud-composer
1个回答
2
投票

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

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

这解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.