我对 DBT 比较陌生,我一直在阅读相关内容env_var,我想在几种情况下使用它,但我遇到了困难并寻求一些支持。
首先,我尝试在 profile.yml 文件中使用它来替换用户和密码,以便在调用它时可以对其进行设置。当尝试在本地测试此功能时(在我们的 AWS 端实现此功能之前),我无法找到正确的语法,并且在网上找不到任何有用的内容。我尝试过以下变体:
dbt run --vars '{DBT_USER: my_username, DBT_PASSWORD=my_password}'
Run Code Online (Sandbox Code Playgroud)
但它没有识别并给出任何有用的错误。当运行 dbt run 本身时,它确实要求,DBT_USER所以它期待它,但没有详细说明如何
我也想在我的dbt_project.yml模式中使用它,但我假设这与上面类似,只是最后有第三个变量。是这样吗?
谢谢
我有一个 DBT 项目,一个 python 脚本将从 postgresql 获取数据以生成输出。
但是,Python 脚本的一部分需要使 DBT 运行。我还没有找到可以让我从外部脚本运行 DBT 的库,但我很确定它存在。我该怎么做呢?
ETA:正确的答案可能是下载 DBT CLI,然后使用 python 系统调用来使用它......我希望有一个库,但我会采取我能得到的。
我正在尝试在宏中使用 dbt run 命令中传递的变量。我该如何使用它
{% set override_schema_name = vars('override_schema_name') %}
{%- set default_schema = target.schema -%}
{%- if custom_schema_name is none -%}
{{ default_schema }}
{%- else -%}
{{ default_schema }}_{{ override_schema_name| trim }}
{%- endif -%}
{%- endmacro %}
Run Code Online (Sandbox Code Playgroud)
在此示例中,我正在运行 dbt run --vars '{"override_schema_name":"someschema"}',但这会引发变量未定义的错误。