添加初始化动作时DataprocCreateClusterOperator导入DAG报错
解决DataprocCreateClusterOperator添加初始化动作的报错问题
问题原因
你直接把init_actions_uris作为Operator的顶级参数传入是错误的,这个参数不属于Operator的直接入参,而是需要嵌套在集群配置的初始化配置结构中。
正确配置方式
初始化动作的URI需要放在cluster_config的initialization_config字段下,示例代码如下:
from airflow.providers.google.cloud.operators.dataproc import DataprocCreateClusterOperator create_cluster = DataprocCreateClusterOperator( task_id="task123", project_id="你的GCP项目ID", cluster_name="你的集群名称", region="你的GCP区域", cluster_config={ "master_config": { "num_instances": 1, "machine_type_uri": "n1-standard-2" }, "worker_config": { "num_instances": 2, "machine_type_uri": "n1-standard-2" }, # 初始化动作配置嵌套在这里 "initialization_config": { "init_actions_uris": ["gs://<BUCKET>/path/to/init/action.sh"] } } )
额外注意事项
- 确认Airflow与Google Cloud Provider版本匹配,旧版本可能存在参数结构差异,但核心逻辑都是将初始化动作配置嵌套在
cluster_config内。 - 检查GCS路径权限:确保Dataproc集群的服务账号具备读取该初始化脚本GCS路径的权限。
内容的提问来源于stack exchange,提问作者Harikrishnan Balachandran
相关产品推荐
相关产品推荐

