Настройка семантического слоя dbt
Начало работы
Существует два варианта разработки проекта dbt, включая семантический слой:
-
dbt Cloud CLI — Команды MetricFlow встроены в dbt Cloud CLI под подкомандой
dbt sl. Это самый простой и наиболее функци ональный способ разработки кода семантического слоя dbt на данный момент. Вы можете использовать редактор по вашему выбору и выполнять команды из терминала. -
dbt Cloud IDE — Вы можете создавать семантические модели и метрики в dbt Cloud IDE. Однако поддержка выполнения команд
dbt slпока недоступна, но активно разрабатывается. Это означает, что вы не сможете проверить ваш код, поэтому мы рекомендуем работать с Cloud CLI и локальным редактором на данный момент.
Основные команды
- 🔍 Менее распространенная команда, которая будет полезна с семантическим слоем, это
dbt parse. Она анализирует ваш проект и генерирует семантический манифест, представляющий собой описание значимых связей, описанных в вашем проекте. Этот файл загружается в dbt Cloud и используется для выполнения команд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другие аспекты вашего семантического слоя, выполнитеdbt sl list --helpдля полного списка опций.
Для получения дополнительной информации о доступных командах обратитесь к справочнику команд MetricFlow или используйте dbt sl --help и dbt sl [subcommand] --help в командной строке. Если вам нужно сначала настроить проект dbt, ознакомьтесь с руководствами по быстрому старту.
Вперед!
В остальной части руководства мы покажем пример кода на основе проекта Jaffle Shop, вымышленной сети ресторанов. Вы можете сами ознакомиться с кодом и попробовать его в репозитории Jaffle Shop. Так что если вы увидите, как мы рассчитываем метрики, такие как food_revenue, позже в этом руководстве, вот почему!