使用GCP Dataform在BigQuery创建表仅生成临时表的问题咨询
解决GCP Dataform在BigQuery中创建永久表的问题
- 补全表配置的核心参数
你当前的表定义只指定了type: "table",缺少database(项目ID)、schema(目标数据集)和name(表名)这三个必填项,Dataform会默认生成临时表。修改后的代码如下:
config { type: "table", database: "xx-prd", schema: "mixpanel", name: "your_target_table_name" // 自定义你的永久表名称 } select * FROM ${ref('table1')} where DATE(created_at) = "2023-05-10" limit 10
- 设置项目级默认配置(可选)
如果不想每个表都重复写数据库和Schema参数,可以在项目根目录的dataform.json里配置默认值,后续表定义会自动继承:
{ "defaultDatabase": "xx-prd", "defaultSchema": "mixpanel", "warehouse": "bigquery" }
配置后,表定义只需写type和name即可:
config { type: "table", name: "your_target_table_name" }
确认执行方式
别用Dataform的"Preview"模式跑任务,预览只会生成临时表用于验证查询。要点击"Run"执行完整任务,才会创建永久表。检查权限
确保Dataform使用的服务账号有BigQuery目标数据集的写入权限(bigquery.tables.create、bigquery.tables.update),权限不足也可能导致无法创建永久表。
内容的提问来源于stack exchange,提问作者bha159
相关产品推荐
相关产品推荐

