You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DBT执行报错:依赖的源pizza.src_sqlserver_pizzas未找到,请求协助解决

DBT源依赖错误排查:找不到'pizza.src_sqlserver_pizzas'源

问题背景

我在schema.yml中定义了如下源:

sources:
  - name: src_pizzas
    database: test_db
    schema: pizza
    tables:
      - name: src_sqlserver_pizzas
        columns:
          - name: size
            description: "The size of the pizza"
          - name: price
    .......

随后在models/example目录下创建模型tsnfrmed_sqlserver_pizzas.sql:

{{ config(materialized='view') }}

SELECT 
UPPER(size) AS size, 
UPPER(price) AS price, 
UPPER(pizza_id) AS pizza_id, 
UPPER(pizza_type_id) AS pizza_type_id 
FROM {{ source('src_pizzas', 'src_sqlserver_pizzas') }}

执行命令:

dbt run --select "tsnfrmed_sqlserver_pizzas"

出现错误:

Model 'model.pizza_data.tsnfrmed_sqlserver_pizzas' (models\example\tsnfrmed_sqlserver_pizzas.sql) depends on a source named 'pizza.src_sqlserver_pizzas' which was not found

已知表名与连接均正常,其他模型可正常连接,不排除拼写错误问题。

解决方案

  • 检查schema.yml的存放路径
    DBT要求源定义的schema.yml必须放在models目录(含子目录)下,若文件在其他位置(如根目录自定义的src文件夹且未配置sources路径),DBT无法识别。将schema.yml移至models目录或其子目录,比如models/schema.yml或models/example/schema.yml。

  • 验证拼写与大小写一致性
    确认模型中source('src_pizzas', 'src_sqlserver_pizzas')的参数与schema.yml里的name: src_pizzas、name: src_sqlserver_pizzas完全一致,注意部分环境下大小写敏感,避免因大小写不匹配导致识别失败。

  • 检查dbt_project.yml的sources配置
    打开项目根目录的dbt_project.yml,确认sources配置是否正确。若自定义了sources路径,需确保schema.yml在指定路径范围内:

    sources:
      pizza_data:  # 替换为你的DBT项目名称
        schema: pizza
        tables:
          - name: src_sqlserver_pizzas
    

    若使用默认配置,只要schema.yml在models目录下即可。

  • 用dbt debug验证源
    执行以下命令直接验证源是否可被识别:

    dbt debug --select source:src_pizzas.src_sqlserver_pizzas
    

    该命令会检测源的存在性与连接状态,帮助区分是识别问题还是连接问题。

  • 清理缓存后重试
    DBT会缓存源信息,修改schema.yml后缓存可能未更新。先清理缓存:

    dbt clean
    

    再重新运行模型命令:

    dbt run --select tsnfrmed_sqlserver_pizzas
    

内容的提问来源于stack exchange,提问作者Ankit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 11:46:33