我一直在阅读 dbt 的《我们如何配置 Snowflake》raw指南,它解释了拥有数据库和数据库背后的基本原理analytics。原始数据被加载到您的仓库中raw(例如通过使用 Fivetran),并由analyticsdbt 使用来为数据分析师/科学家保存转换后的数据/视图。
但是,我似乎找不到任何有关如何实际设置的指南。profile.yml 文件需要指向原始数据所在的位置,以便 dbt 可以开始转换。然而,该文件似乎还规定了保存转换后的数据/视图的数据库和模式。
在 dbt 的许多 .yml 文件中,我应该在何处全局指定保存转换后的数据的位置?
设置您的profiles.yml,它并不存在于实际项目中,而是存在于~/.dbt您计算机上的文件夹中,以便它引用您的目标数据库/架构。对于开发来说,这将如下所示。用于 dbt Cloud 上的生产。现在,您只需像往常一样设置源(请参阅下面的第三块)。没有通用源选项,只有目标数据库/模式。
Profiles.yml 文档和Snowflake 配置文件文档
\n-- profiles.yml\n\nmy_profile:\n target: dev\n outputs:\n dev:\n type: snowflake\n account: <snowflake_server>\n user: my_user\n password: my_password\n role: my_role\n database: analytics\n warehouse: dev_wh\n schema: dbt_<myname>\n threads: 1\n client_session_keep_alive: False\nRun Code Online (Sandbox Code Playgroud)\n-- dbt_project.yml\n\nname: \'my_dbt_models\'\nversion: \'1.0.0\'\nconfig-version: 2\n\nprofile: \'my_profile\'\n...\n...\n...\nRun Code Online (Sandbox Code Playgroud)\n\n-- src.yml \n\nversion: 2\nsources:\n - name: jaffle_shop\n database: raw\n tables: \n - name: orders\nRun Code Online (Sandbox Code Playgroud)\n在模型中:
\nraw.jaffle_shop.orders变成{{ source( \'jaffle_shop\' , \'orders\' ) }}
请注意,dbt 处理此源,默认情况下假定名称是架构,但是,我发现您实际上可以将其命名为任何您想要的名称,如果您想给它一个特殊的名称,则可以添加到架构中。\ n例如\xe2\x80\xa6
\nsources:\n - name: my_special_name\n database: raw\n schema: jaffle_shop\n tables: \n - name: orders\nRun Code Online (Sandbox Code Playgroud)\n在模型中:
\nraw.jaffle_shop.orders变成{{ source( \'my_special_name\' , \'orders\' ) }}
我希望这一切都是有道理的。
\n| 归档时间: |
|
| 查看次数: |
1865 次 |
| 最近记录: |