默认项目 ID 的 BigQueryInsertJobOperator 配置
BigQueryInsertJobOperator Configuration for default project ID
我遇到这样一种情况,我的数据位于另一个 GCP 项目中,比如“data-pro”,而我的计算项目设置为另一个 GCP 项目,该项目可以访问“data-pro”的表。
那么有没有办法指定查询必须使用的默认项目 ID 运行 ?
我可以看到有默认数据集、参数 .. 但没有默认 projectID。
所以我的查询如下:
select name ,id from employeedDB.employee .// this employeedDB is in data-proc
我的 BigQueryInsertJobOperator 配置如下:
BigQueryInsertJobOperator(dag=dag, task_id=name,
gcp_conn_id=connection_id,--//connection_id over compute-proc
configuration={
"query": {
"query": "{% include '"+sqlFile+"' %}",
"useLegacySql": False
},
},
pool='bqJobPool')
您应该为不同的项目定义不同的连接 ID(您可以通过每个任务中的参数或通过“default_args”功能来设置它。
我觉得SQL语句可以改成:
select name ,id from `<project_id>:employeedDB.employee`
我遇到这样一种情况,我的数据位于另一个 GCP 项目中,比如“data-pro”,而我的计算项目设置为另一个 GCP 项目,该项目可以访问“data-pro”的表。 那么有没有办法指定查询必须使用的默认项目 ID 运行 ? 我可以看到有默认数据集、参数 .. 但没有默认 projectID。
所以我的查询如下:
select name ,id from employeedDB.employee .// this employeedDB is in data-proc
我的 BigQueryInsertJobOperator 配置如下:
BigQueryInsertJobOperator(dag=dag, task_id=name, gcp_conn_id=connection_id,--//connection_id over compute-proc configuration={ "query": { "query": "{% include '"+sqlFile+"' %}", "useLegacySql": False }, }, pool='bqJobPool')
您应该为不同的项目定义不同的连接 ID(您可以通过每个任务中的参数或通过“default_args”功能来设置它。
我觉得SQL语句可以改成:
select name ,id from `<project_id>:employeedDB.employee`