你能帮我解决这个问题吗?
Encountered an error:
Compilation Error in model metrics_model (modelsexamplemetrics_model.sql)
Model 'model.test_project.metrics_model' (modelsexamplemetrics_model.sql) depends on a source named 'automate.metrics' which was not found
我犯了一个单调的错误,一直没能解决。
非常感谢!
对于PostgreSQL数据库,请检查sources.yml文件是否定义如下:
version: 2
sources:
- name: name_of the source
schema: name_of_the_schema
quoting:
database: false
schema: false
identifier: false
loader: stitch
tables:
- name: name_of_table1
- name: name_of_table2
这是由于数据库中缺少automate.metrics
表(dbt项目的目标数据库或同一服务器上的其他数据库(。项目中应该有一个source.yml
或automate.yml
文件来定义源。仅供参考,automate
是架构名称,metrics
是表名称。
- 如果源yml文件为
automate
模式指定了一个数据库,请查询该数据库以确保metrics
表存在于automate
模式中 - 如果源yml文件没有列出数据库,那么该模式/表应该存在于dbt项目的目标数据库中。您可以通过查看
~/.dbt/profiles.yml
中项目设置的概要文件来查看目标数据库是什么
您在开发环境中看到这一点了吗?在创建automate.metrics
之后,您可能没有运行dbt run
,这会阻止metrics_model
引用它。
检查是否将源配置放在正确的yaml文件中。我遇到了这个问题,并尝试了所有的解决方案,包括上面的一个。最后我忘了在源文件中放后缀.yml,当dbt在该文件中找不到源配置时。