DataprocClusterCreateOperator没有要定义的temp_bucket变量



我正试图通过Apache气流通过DataprocClusterCreateOperator创建dataproc集群气流版本:1.10.15作曲家版本:1.16.4我想将项目使用的临时存储桶分配给集群,而不是谷歌在运行时创建的存储桶。当我们使用选项--temp bucket通过命令行创建集群时,这个选项是可用的,但这个变量不能通过ClusterCreateOperator传递。

Dataproc操作员信息:https://airflow.apache.org/docs/apache-airflow/1.10.15/_modules/airflow/contrib/operators/dataproc_operator.html

通过命令创建集群:

gcloud dataproc clusters create cluster-name 
--properties=core:fs.defaultFS=gs://defaultFS-bucket-name 
--region=region 
--bucket=staging-bucket-name 
**--temp-bucket=project-owned-temp-bucket-name ** 
other args ...
create_cluster = DataprocClusterCreateOperator(
task_id="create_cluster",
project_id="my-project_id",
cluster_name="my-dataproc-{{ ds_nodash }}",
num_workers=2,
storage_bucket="project_bucket",
region="us-east4",
... other params...
)

不幸的是,Ariflow中的方法DataprocClusterCreateOperator不支持属性temp-bucket。只能将此属性与gcloud commandREST API一起使用。

使用REST API,可以在cluster.create中使用这些字段ClusterConfig.configBucketClusterConfig.tempBucket

一个可能的解决方案是创建一个scheduler job。您可以查看此文档。

相关内容

  • 没有找到相关文章

最新更新