带有气流中的DataprocOperator的组件网关

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

在GCP中,从UI或gcloud命令安装并运行JupyterHub component非常简单。我正在尝试通过Airflow和DataprocClusterCreateOperator编写进程脚本,这里是DAG的摘录

from airflow.contrib.operators import dataproc_operator  

create_cluster=dataproc_operator.DataprocClusterCreateOperator(
        task_id='create-' + CLUSTER_NAME, 
        cluster_name=CLUSTER_NAME,
        project_id=PROJECT_ID,
        num_workers=3,
        num_masters=1,
        master_machine_type='n1-standard-2',
        worker_machine_type='n1-standard-2',
        master_disk_size=100,
        worker_disk_size=100,
        storage_bucket='test-dataproc-jupyter', 
        region='europe-west4', 
        zone='europe-west4-a',
        auto_delete_ttl=21600, 
        optional_components=['JUPYTER', 'ANACONDA']
    )

但是我无法指定所需的enable-component-gateway参数。查看源代码,似乎参数不是必需的(在deprecatedlast stable运算符中)。

我知道REST API提供了endpointConfig.enableHttpPortAccess,但我宁愿使用正式的运算符。有谁知道如何实现这一目标?

python google-cloud-platform airflow google-cloud-dataproc
1个回答
0
投票

虽然不是最佳选择,但是您可以自己创建Cluster数据结构,而不用让Airflow的ClusterGenerator来完成。它应该适用于最新版本(1.10.7)

cluster = {
  'clusterName': CLUSTER_NAME,
  'config': {
    'gceClusterConfig': {
      'zoneUri': 'europe-west4-a'
    },
    'masterConfig': {
      'numInstances': 1,
      'machineTypeUri': 'n1-standard-2',
      'diskConfig': {
        'bootDiskSizeGb': 100
      },
    },
    'workerConfig': {
      'numInstances': 3,
      'machineTypeUri': 'n1-standard-2',
      'diskConfig': {
        'bootDiskSizeGb': 100
      },
    },
    'softwareConfig': {
      'optionalComponents': [
        'ANACONDA',
        'JUPYTER'
      ]
    },
    'lifestyleConfig': {
      'autoDeleteTtl': 21600
    },
    'endpointConfig': {
      'enableHttpPortAccess': True
    }
  },
  'projectId': PROJECT_ID
}
#Start DataProc Cluster
dataproc_cluster = DataprocClusterCreateOperator(
    task_id='create-' + CLUSTER_NAME,
    project_id=PROJECT_ID,
    num_workers=3,
    region='europe-west4', 
    zone='europe-west4-a',
    cluster = cluster,
    dag=DAG
)

如果您使用的是其他Airflow版本,请指定。

您也可以投票给我打开的错误:AIRFLOW-6432

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