Перейти к основному содержимому

Валидации

Валидации относятся к процессу проверки того, соответствует ли система или конфигурация ожидаемым требованиям или ограничениям. В случае Семантического слоя, работающего на базе MetricFlow, существует три встроенных валидации — синтаксическая, семантическая, и валидация платформы данных.

Эти валидации обеспечивают соответствие конфигурационных файлов ожидаемой схеме, отсутствие нарушений ограничений в семантическом графе и наличие семантических определений в физической таблице, что поддерживает эффективное управление данными. Эти три этапа валидации выполняются последовательно и должны быть успешными, прежде чем перейти к следующему этапу.

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

Команда валидации

Вы можете запустить валидации из dbt Cloud или командной строки с помощью следующих команд MetricFlow. В dbt Cloud вам потребуются учетные данные разработчика, чтобы запустить dbt sl validate-configs в IDE или CLI, и учетные данные для развертывания, чтобы запустить это в CI.

dbt sl validate # пользователи dbt Cloud
mf validate-configs # пользователи dbt Core

Синтаксическая валидация

На этом этапе валидации мы проверяем, что ваши конфигурационные файлы соответствуют определенной схеме для каждого объекта семантического графа и могут быть успешно разобраны. Она проверяет схему для следующих основных объектов:

  • Семантические модели
  • Идентификаторы
  • Меры
  • Измерения
  • Метрики

Семантический синтаксис

Этот этап синтаксической валидации происходит после того, как мы построили ваш семантический граф. Семантический слой, работающий на базе MetricFlow, выполняет набор тестов, чтобы убедиться, что ваш семантический граф не нарушает никаких ограничений. Например, мы проверяем, уникальны ли имена мер или существуют ли метрики, упомянутые в материализации. Текущие семантические правила, которые мы проверяем:

  1. Проверка, что семантические модели с мерами имеют допустимое временное измерение
  2. Проверка, что в каждой семантической модели определен только один основной идентификатор
  3. Согласованность измерений
  4. Уникальность мер в семантических моделях
  5. Меры в метриках являются допустимыми
  6. Кумулятивные метрики настроены правильно

Платформа данных

Этот тип валидации проверяет, существуют ли семантические определения в вашем семантическом графе в базовой физической таблице. Для этого мы выполняем запросы к вашей платформе данных, чтобы убедиться, что сгенерированный SQL для семантических моделей, измерений и метрик будет выполнен. Мы выполняем следующие проверки:

  • Существуют ли меры и измерения
  • Существуют ли базовые таблицы для источников данных
  • Сгенерированный SQL для метрик будет выполнен

Вы можете запускать семантические валидации (против вашего семантического слоя) в CI задаче, чтобы гарантировать, что любые изменения кода, внесенные в модели dbt, не нарушают эти метрики. Для получения дополнительной информации обратитесь к семантической валидации в CI.

0