Настройка семантического слоя 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
, позже в этом руководстве, вот почему!