Можно ли преобразовать результаты теста 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.

Кроме того, если вы назовете свои тесты определенным образом, вы можете затем использовать регулярное выражение для имен, чтобы получить некоторые детали таким же образом.

Вы действительно должны проверить Elementary Data.

Другие вопросы по тегам