dbt 到雪花的连接通过 profile.yml 失败

Rav*_*avi 8 snowflake-task dbt

我尝试通过 dbt 连接到 Snowflake,但连接失败并出现以下错误:

Using profiles.yml file at /home/myname/.dbt/profiles.yml
Using dbt_project.yml file at /mnt/c/Users/Public/learn_dbt/rks-learn-dbt/learn_dbt/dbt_project.yml
Configuration:
  profiles.yml file [ERROR invalid]
  dbt_project.yml file [OK found and valid]
Profile loading failed for the following reason:
Runtime Error
  Could not find profile named 'learn_dbt'
Required dependencies:
 - git [OK found] 
Run Code Online (Sandbox Code Playgroud)

请任何建议。

注意:我正在观看 udemy 视频学习设置 dbt 连接。

以下是我的profiles.yml文件:

Using profiles.yml file at /home/myname/.dbt/profiles.yml
Using dbt_project.yml file at /mnt/c/Users/Public/learn_dbt/rks-learn-dbt/learn_dbt/dbt_project.yml
Configuration:
  profiles.yml file [ERROR invalid]
  dbt_project.yml file [OK found and valid]
Profile loading failed for the following reason:
Runtime Error
  Could not find profile named 'learn_dbt'
Required dependencies:
 - git [OK found] 
Run Code Online (Sandbox Code Playgroud)

小智 8

我的第一个猜测是,您profiles.yml的 dbt 项目文件夹中有一个文件,而 dbt 实际上并未使用/home/myname/.dbt/.

您可以尝试运行以下命令吗?

dbt debug --profiles-dir /home/myname/.dbt
Run Code Online (Sandbox Code Playgroud)

该标志--profiles-dir适用于大多数 dbt cli 命令,并允许您使用profiles.yml项目外部的自定义命令。我一直使用这个标志。


sup*_*san 6

我必须跑pip install dbt-snowflake,然后它就起作用了。

看来 dbt 已将其模块分离为 dbt-core 及其适配器dbt-snowflake等dbt-postgres