【问题标题】:How do I run DBT models from python command line?如何从 python 命令行运行 DBT 模型?
【发布时间】:2023-01-14 01:35:07
【问题描述】:

我有一个 DBT 项目,一个 python 脚本将从 postgresql 中获取数据以生成输出。

然而,部分 python 脚本将需要使 DBT 运行。我还没有找到可以让我从外部脚本运行 DBT 的库,但我很确定它存在。我该怎么做呢?

ETA:正确的答案可能是下载 DBT CLI,然后使用 python 系统调用来使用它……我希望有一个库,但我会尽我所能。

【问题讨论】:

    标签: python dbt


    【解决方案1】:

    (截至 2023 年 1 月)还没有用于 dbt 的公共 Python API。预计在 v1.5 中,它应该会在几个月内发布。

    现在,最安全的选择是使用 CLI。如果您不想使用 subprocess,CLI 现在使用 Click,Click 提供了一个 runner,您可以使用它来调用 Click 命令。它通常用于测试,但我认为它也适用于您的用例。 CLI 命令是here。这看起来像:

    from click.testing import CliRunner
    from dbt.cli.main import run
    
    dbt_runner = CliRunner()
    dbt_runner.invoke(run, args="-s my_model")
    

    您还可以使用 run_dbt 以他们在测试套件中的方式调用 dbt。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2021-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多