dbt测试的结果可以转化为报告吗

Can the results of dbt test be converted to report

我正在使用 DBT(数据构建工具)作为数据分析的 ETL 工具。 命令 dbt test 测试用例的结果在输出终端上为 pass/fail,但需要将此结果导出为 JSON/HTML/XML 格式以进行报告。

在这方面有什么帮助吗?

如果您在 UNIX shell 上执行此操作,例如 Mac 或 Linux,您可以像这样尝试使用 tee

dbt run | tee -a your_log_file.txt

这将为 dbt run 命令的任何结果创建并附加到您选择的日志文件中。

我们使用 —log-format 标志将其作为 json 导出到我们的日志中。这是一个全局标志,因此可以与 dbt test 以及 dbt run.

一起使用

详情在这里: https://docs.getdbt.com/docs/running-a-dbt-project/command-line-interface/global-cli-flags/#log-formatting

在目标目录中还创建了有用的 json 人工制品,例如manifest.jsonrun_results.json 可以解析以查找您添加的其他元数据。

不幸的是,我不知道有什么开箱即用的解决方案可以将所有这些都变成一份报告。然而,解析这些项​​目的 JSON 得到了一些好东西。这可以使用 Datadog 之类的日志记录工具或使用 Python libraries/dicts.

手动完成

此外,如果您以定义的方式命名测试,则可以对名称执行一些正则表达式以通过这种方式获取一些详细信息。