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

Сохраненные запросы

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

Saved queries служат базовым строительным блоком, позволяя вам настраивать экспорты в конфигурации сохранённого запроса. Exports развивает эту функциональность дальше, позволяя вам планировать выполнение и запись saved queries напрямую в вашей data platform с использованием планировщика заданий dbt.

Параметры

Чтобы создать сохраненный запрос, обратитесь к следующей таблице параметров.

подсказка

Обратите внимание, что мы используем точечную нотацию (.), чтобы указать, является ли параметр вложенным в другой параметр. Например, query_params.metrics означает, что параметр metrics вложен в query_params.

Если вы используете несколько метрик в сохраненном запросе, то вы сможете ссылаться только на общие измерения, которые эти метрики разделяют в group_by или where выражениях. Используйте префикс имени сущности с объектом Dimension, например Dimension('user__ds').

Настройка сохраненного запроса

Используйте сохранённые запросы (saved queries) для определения и управления общими запросами Semantic Layer в YAML, включая метрики и измерения. Сохранённые запросы позволяют организовывать и повторно использовать типовые запросы MetricFlow внутри проектов dbt. Например, вы можете группировать связанные метрики для более удобной структуры, а также включать часто используемые измерения и фильтры.

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

В следующем примере вы можете задать сохраненный запрос в файле semantic_model.yml:

semantic_model.yml

Обратите внимание, что параметр export_as можно задать как для сохранённого запроса, так и в конфигурации экспорта config, при этом значение, указанное в конфигурации экспорта, имеет приоритет. Если какой‑либо ключ не задан в конфигурации экспорта, он будет унаследован из конфигурации сохранённого запроса.

Where выражение

Используйте следующий синтаксис для ссылки на сущности, измерения, временные измерения или метрики в фильтрах и обратитесь к Метрики как измерения для получения подробной информации о том, как использовать метрики как измерения с фильтрами метрик:

filter: | 
{{ Entity('entity_name') }}

filter: |
{{ Dimension('primary_entity__dimension_name') }}

filter: |
{{ TimeDimension('time_dimension', 'granularity') }}

filter: |
{{ Metric('metric_name', group_by=['entity_name']) }}

Сохранённые запросы на уровне проекта

Чтобы включить сохраненные запросы на уровне проекта, вы можете задать конфигурацию saved-queries в файле dbt_project.yml. Это сэкономит вам время на настройку сохраненных запросов в каждом файле:

dbt_project.yml
saved-queries:
my_saved_query:
+cache:
enabled: true

Для получения дополнительной информации о dbt_project.yml и соглашениях об именах конфигураций, см. страницу справки dbt_project.yml.

Чтобы собрать saved_queries:

Настройка экспортов

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

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

Следующий пример показывает сохраненный запрос с экспортом:

semantic_model.yml

Запуск экспортов

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

Для получения дополнительной информации о том, как запускать экспорты, обратитесь к документации Экспорты.

Часто задаваемые вопросы

 Могу ли я иметь несколько экспортов в одном сохраненном запросе?
 Как я могу выбрать saved_queries по их типу ресурса?

Нашли ошибку?

0
Loading