Настройка семантического слоя dbt
Начало работы
Существует два варианта разработки проекта dbt, включая Semantic Layer:
-
Cloud CLI — команды MetricFlow встроены в Cloud CLI и доступны через подкоманду
dbt sl. На данный момент это самый простой и наиболее полнофункциональный способ разработки кода Semantic Layer. Вы можете использовать любой удобный редактор и запускать команды из терминала. -
Studio IDE — вы можете создавать семантические модели и метрики непосредственно в Studio IDE.
Основные команды
- 🔍 Менее распространённая команда, которая пригодится при работе с Semantic Layer — это
dbt parse. Она парсит ваш проект и генерирует semantic manifest — представление значимых связей, описанных в вашем проекте. Этот файл загружается в dbt и используется для выполнения командdbt slв процессе разработки. Он предоставляет MetricFlow текущее состояние системы, на основе которого генерируются запросы. - 🧰
dbt sl query— ваш ещё один лучший помощник. Эта команда выполняет запрос к семантическому слою и возвращает пример результатов. Это удобно для тестирования семантических моделей и метрик по мере их создания. Например, если вы строите модель выручки, можно выполнитьdbt sl query --metrics revenue --group-by metric_time__month, чтобы убедиться, что месячная выручка рассчитывается корректно. - 📝 Наконец,
dbt sl list dimensions --metrics [metric name]выводит список всех измерений, доступных для заданной метрики. Это полезно для проверки того, что по мере развития проекта увеличивается размерность данных. Также можно использоватьdbt sl listдля просмотра других аспектов вашего Semantic Layer — выполнитеdbt sl list --help, чтобы увидеть полный список доступных опций.
Для получения дополнительной информации о доступных командах обратитесь к справочнику команд MetricFlow или используйте dbt sl --help и dbt sl [subcommand] --help в командной строке. Если вам нужно сначала настроить проект dbt, ознакомьтесь с руководствами по быстрому старту.
Вперед!
В остальной части руководства мы покажем пример кода на основе проекта Jaffle Shop, вымышленной сети ресторанов. Вы можете сами ознакомиться с кодом и попробовать его в репозитории Jaffle Shop. Так что если вы увидите, как мы рассчитываем метрики, такие как food_revenue, позже в этом руководстве, вот почему!