SuperAPI AI 工具集

dbt-coder

数据与分析

查看项目

更新于 10-16 00:03

技能介绍

用途:为 dbt 转换层开发提供可参考的模式,包括模型组织、增量策略和测试。

主要能力:

  1. 项目结构:示例包含 dbt_project.yml、profiles.yml 及 models(staging、intermediate、marts)、seeds、snapshots、macros、tests 等目录。
  2. 分层建模:staging 与数据源 1:1 并做轻量转换,intermediate 处理 join 与业务逻辑,marts 作为最终消费层;可用 +materialized 配置各层物化方式(view、ephemeral、table)。
  3. 源与命名:使用 source() 引用原始表,ref() 引用模型;staging 模型命名为 stg_<source>_<entity>,可定义 freshness 警告与错误阈值。
  4. 增量模型:通过 materialized='incremental'、unique_key 与 incremental_strategy(merge、delete+insert、append)实现增量更新,并用 is_incremental() 过滤新增数据。
  5. 快照:使用 snapshot 块与 timestamp 策略实现 SCD Type 2。
  6. 测试:支持列级与模型级测试,如 unique、not_null、dbt_utils.accepted_range、unique_combination_of_columns,也可编写返回失败行的自定义 SQL 测试。
  7. 宏:可定义如 cents_to_dollars、generate_schema_name 等可复用 SQL 宏。
  8. 常用命令:dbt run、dbt test、dbt build、dbt docs generate、dbt docs serve、dbt source freshness、dbt run --full-refresh、dbt deps 等,并支持通过 --select 按模型、标签或依赖选择执行范围。
  9. 最佳实践:使用 ref()/source()、为模型编写描述与 meta 信息(如 owner、pii)。

适用场景:数据仓库或分析工程的 dbt 建模、数据质量校验与增量数据处理。

限制:资料未提供该技能的安装方式、收费信息、平台限制或运行前置条件。