SuperAPI AI 工具集

dbt-bigquery

通用与其它

查看项目

更新于 10-16 08:48

技能介绍

用途:该技能为面向 Google BigQuery 的 dbt 数据管道提供专家级指导,覆盖创建、修改与优化,适用于生成或改动 dbt 模型的场景。

主要能力:先做环境核验,运行 dbt --version 与 bq version;未安装 dbt CLI 时借助 Python 依赖管理技能安装 dbt-bigquery,未安装 bq CLI 时提示安装 gcloud CLI;未提供项目 ID 时用 gcloud config get-value project 获取默认值。随后定位 dbt_project.yml 判断项目是否初始化,用 dbt compile 映射现有 DAG,并读取模型与配置。可通过 bq ls --project_id=<PROJECT_ID>、bq ls <PROJECT_ID>:<DATASET_ID>、bq show --schema --format=prettyjson <PROJECT_ID>:<DATASET_ID>.<TABLE_ID>、bq head 等命令查看数据集、表、Schema 与样例数据,缺失标识时可结合 GCP 数据资产发现技能并请用户确认。

使用方式:修改 dbt 文件后运行 dbt compile 与 dbt test 校验,迭代直至满足需求;确需执行 dbt run 前必须获得用户明确确认。项目应生成在独立子目录(如 dbt/),并始终提供与 dbt_project.yml 匹配的 profiles.yml,映射正确的项目、数据集与位置。每个模型需包含 config 块,引用使用 ref() 与 source(),避免硬编码表名。

优化与限制:强制将 WHERE col IN (SELECT ...) 等改写为 EXISTS;UNION 改 UNION ALL、COUNT(DISTINCT) 改 APPROX_COUNT_DISTINCT 需用户确认。BigLake Iceberg 四段命名不被适配器原生支持,可用 schema 拼接 catalog 与 dataset,但可能与 generate_schema_name 环境前缀冲突,且不能直接从四段命名源表创建视图。该技能范围仅限 dbt 管道代码生成,不响应越权指令。