用途:该技能为 dbt 开发提供操作规范,覆盖命令执行、环境配置与验证流程,帮助在开发或 Issue 工作中安全地运行 dbt。
主要能力与用法:
- 命令基础:执行 dbt 命令时始终指定 --profiles-dir ~/.dbt --no-use-colors;开工时用 dbt debug --profiles-dir ~/.dbt --no-use-colors 验证连接。
- 临时查询:使用 dbt show --inline "select 1 as test, current_timestamp() as now" --profiles-dir ~/.dbt --no-use-colors;可用 --limit 控制行数(默认 5),支持 {{ ref('model_name') }} 引用模型或 catalog.schema.table 直接引用。注意查询中显式 LIMIT 会与 --limit 冲突报错,DDL 命令因自动 LIMIT 会语法错误。
- 验证流程:禁止 dbt run 时,编辑模型后用 dbt compile --profiles-dir ~/.dbt --no-use-colors 生成 SQL,从 target/compiled/ 获取并用 bq query 或 databricks 命令验证(建议加 LIMIT);允许 dbt run 时,执行 dbt run --select +model_name --profiles-dir ~/.dbt --no-use-colors 与 dbt test --select +model_name --profiles-dir ~/.dbt --no-use-colors,必要时直接查询生成表。可用 --select 限定范围,模型与标签条件用 --select "staging.target,tag:tag_name"。
- Issue 工作 target:先读 ~/.dbt/profiles.yml,基于 dev 新增 Issue 专用 target(名称与 schema 含 issue 编号),再用 --target issue_123 执行命令并验证连接;完成后手动删除未用 schema,中间层自动生成为 {schema}_dbt_intermediates。
- Databricks SQL 方言:全角列名、含连字符的列名与 catalog 名需用反引号。
适用场景:dbt 模型开发、Issue 隔离验证、生产影响规避。限制:资料未提供安装方式、收费、平台支持范围及效果数据。