SuperAPI AI 工具集

dbt-model-generator

数据与分析

查看项目

更新于 10-22 19:52

技能介绍

用途:dbt-model-generator 用于从 Snowflake 原始表自动创建 dbt 模型。它会先分析原始表数据,再推荐建模模式,然后生成 staging、维度(dim)和事实(fact)模型及测试,最终提交 PR 供工程师审核。

主要能力:数据剖析;推荐星型模型、OBT(one big table)或宽表冗余等建模模式;生成 staging/dim/fact 模型;生成 schema 测试与文档;可选执行 dbt parse 和 dbt run 验证;通过 Git 提交并创建 PR。

使用方式与工作流:先收集参数,再发现并分析原始表,然后推荐建模模式(此处暂停,等待用户确认模式与分类),接着生成 dbt 项目脚手架,再按 staging→dims→facts/OBT 顺序生成模型,随后生成 schema 测试与文档,执行验证(dbt parse 及可选的 dbt run,随后暂停供用户审核),最后进行 Git 提交与 PR。

参数:必填 <SOURCE_DATABASE>(包含原始表的 Snowflake 数据库)和 <SOURCE_SCHEMA>(数据库内 schema,或 * 表示全部 schema)。可选参数包括 <SOURCE_TABLE>(默认发现 schema 中全部表)、<PROJECT_NAME>(默认由数据库名派生)、<PROJECT_PATH>(默认 ~/Documents/coco-dev/<PROJECT_NAME>)、<TARGET_SCHEMA>(未提供时询问用户)、<GITHUB_REPO>(格式 owner/repo-name)、<WAREHOUSE> 和 <ROLE>(默认使用当前 CoCo 连接的仓库与角色)。

要求:dbt-core>=1.7,<2.0 且 dbt-snowflake>=1.7,<2.0;Python 3.9+;运行时 uv(优先)、pipx 或 pip,技能自动检测可用项;git CLI 与 gh CLI 用于创建 PR;Snowflake 需活动 CoCo 连接或基于环境变量的认证。

适用场景:从原始 Snowflake 表生成 dbt 模型;数据建模左移;自动化维度建模;从原始数据创建事实与维度;从原始表构建星型模型;从 Iceberg 表或任意原始来源自动生成 dbt 代码。

限制:不适用于修改现有 dbt 模型、仅运行 dbt 测试或 dbt 项目配置问题。更详细的步骤、SQL 查询、dbt 模板、列分类规则和故障排查见 references/workflow.md。