Пакетное выполнение тестов
Флаг --batch-tests объединяет совместимые тесты данных, относящиеся к одной модели, в один запрос для каждого типа тестов вместо выполнения отдельного запроса для каждого теста. Это сокращает количество запросов, которые dbt выполняет при тестировании, что может повысить производительность в проектах с большим количеством тестов данных.
Объединение тестов в пакеты
Пакетное выполнение применяется к dbt build и dbt test. dbt объединяет группу тестов в пакет, если выполняются все следующие условия:
- Тесты имеют тип
uniqueилиnot_null - Они относятся к одной модели
- Они используют конфигурацию по умолчанию
- Как минимум два из них имеют одинаковый тип
dbt исключает тесты из пакетного выполнения, если задан любой из следующих параметров:
severityerror_ifwarn_iffail_calclimitwherestore_failuresstore_failures_as
Исключённые тесты выполняются отдельно, как и без пакетного выполнения.
Настройка флага
dbt определяет значение batch_tests по трём источникам в порядке приоритета:
- Флаг командной строки
--batch-tests - Переменная окружения
DBT_ENGINE_BATCH_TESTS - Блок
flagsв файлеdbt_project.ymlкорневого проекта
Например, в командной строке:
dbt build --batch-tests
С помощью переменной окружения:
export DBT_ENGINE_BATCH_TESTS=true
dbt build
В файле dbt_project.yml:
flags:
batch_tests: true