1

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

在这方面有什么帮助吗?

4

2 回答 2

3

—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 库/字典手动完成。

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

于 2020-05-19T15:06:28.107 回答
2

如果您在 Mac 或 Linux 等 UNIX shell 上执行此操作,您可以尝试使用tee这样的方法。

dbt run | tee -a your_log_file.txt

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

于 2020-04-15T22:18:30.520 回答