3

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

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] 

请有任何建议。

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

下面是我的profiles.yml文件:

learn_dbt:
  target: dev
  outputs:
    dev:
      type: snowflake
      account: XXXXXX
      user: XXXX                
      password: XXXX                     
      role: transform_role
      database: analytics
      warehouse: transform_wh
      schema: dbt
      threads: 1
      client_session_keep_alive: False
4

4 回答 4

5

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

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

dbt debug --profiles-dir /home/myname/.dbt

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

于 2020-07-04T01:55:07.927 回答
3

我不得不跑pip install dbt-snowflake,然后它起作用了。

似乎 dbt 已将其模块与 dbt-core 及其适配器dbt-snowflakedbt-postgres分开

于 2021-11-19T19:36:03.563 回答
2

我认为这与我在使用云环境时遇到的问题类似。

如果您在西海岸使用雪花实例,则帐户名称如下所示

如果您在东海岸使用雪花实例,则帐户名称类似于 <xxx12345.us-east-1>

于 2020-07-09T14:57:25.357 回答
0

总体而言,此错误意味着它无法连接到您的环境模板以获取您的雪花帐户详细信息。

'env.pd.template.bat' 或 'env.pd.template.sh' 是包含您的 Snowfalke 帐户设置的基本文件,因此您已运行此命令从编辑器连接到雪花。

您可以使用“.bat”或基于 Powershell 或 CMD 编辑器的 .sh 命令。

在我的场景中,我运行了“env.pd..private.bat”,您需要每次运行此命令以使用您的凭据连接到雪花帐户。我在cmd窗口中运行了这个。它解决了我的错误。

于 2021-11-15T10:26:12.133 回答