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

dbt运行编译错误:找不到源psa.emissionsbycountry求助排查

问题原因与解决方法

核心问题是schema.yml中定义的数据源名称与模型里引用的不匹配,导致dbt无法找到对应的源表。

具体问题点

模型stg_table.sql里引用的是{{ source('psa', 'emissionsbycountry') }},第一个参数psa是数据源的名称,但你的schema.yml里定义的数据源名称是EMISSIONSBYCOUNTRY,两者完全不匹配,dbt自然找不到对应的源。

修改步骤

修改models/staging/schema.yml中的数据源配置,将name改为psa,同时调整表名匹配引用的名称:

version: 2

sources:
  - name: psa  # 改为模型里引用的数据源名称
    database: DATABASE
    schema: PSA
    tables:
      - name: emissionsbycountry  # 匹配模型里引用的表名,Snowflake未加引号的表名默认不区分大小写

models:
  - name: stg_table

额外检查项

  1. 确认DATABASE是Snowflake中实际存在的数据库名称(如果是创建时加了双引号的大小写敏感名称,需要在配置中用引号包裹)
  2. 确保dbt连接的Snowflake角色有权限访问DATABASE.PSA.EMISSIONSBYCOUNTRY表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 02:00:02