Можно ли преобразовать результаты теста dbt в отчет
Я использую DBT (инструмент построения данных) в качестве инструмента ETL для анализа данных. Команда
dbt test
Результат в тестовых примерах пройден / не пройден на выходном терминале, но необходимо экспортировать этот результат в формат JSON/HTML/XML для отчетности.
Любая помощь в этом отношении?
3 ответа
Если вы выполняете это в оболочке UNIX, такой как Mac или Linux, вы можете попробовать с tee
как это.
dbt run | tee -a your_log_file.txt
Это создаст и добавит туда файл журнала по вашему выбору для любых результатов dbt run
команда.
Мы экспортируем это в наши журналы как json, используя —log-format
флаг. Это глобальный флаг, поэтому его можно использовать сdbt test
также как и dbt run
.
Подробности здесь: https://docs.getdbt.com/docs/running-a-dbt-project/command-line-interface/global-cli-flags/
Также есть полезные артефакты json, созданные в целевом каталоге, например manifest.json
, run_results.json
которые можно проанализировать, чтобы найти добавленные вами дополнительные метаданные.
К сожалению, я не знаю никаких готовых решений, чтобы превратить все это в отчет. Однако разбор JSON этих элементов дает неплохие результаты. Это можно сделать с помощью инструментов ведения журнала, таких как Datadog, или вручную с помощью библиотек / dicts Python.
Кроме того, если вы назовете свои тесты определенным образом, вы можете затем использовать регулярное выражение для имен, чтобы получить некоторые детали таким же образом.