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

Добавление экспозиций в ваш DAG

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

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

Exposures можно определить двумя способами:

  • Вручную — объявляются явно в YAML-файлах вашего проекта.
  • Автоматическиdbt автоматически создаёт и визуализирует downstream exposures для поддерживаемых интеграций, устраняя необходимость в ручном описании YAML. Эти downstream exposures хранятся в системе метаданных dbt, отображаются в Catalog и ведут себя так же, как и вручную объявленные exposures. Однако они не существуют в виде YAML-файлов.

Объявление exposure

Экспозиции определяются в файлах .yml, вложенных под ключом exposures:.

Следующий пример показывает определение exposure в файле models/<filename>.yml:

models/<filename>.yml

exposures:

- name: weekly_jaffle_metrics
label: Jaffles by the Week
type: dashboard
maturity: high
url: https://bi.tool/dashboards/1
description: >
Кто-то сказал "экспоненциальный рост"?

depends_on:
- ref('fct_orders')
- ref('dim_customers')
- source('gsheets', 'goals')
- metric('count_orders')

owner:
name: Callum McData
email: data@jaffleshop.com

Доступные свойства

Обязательные:

  • name: уникальное имя экспозиции, написанное в snake case
  • type: одно из dashboard, notebook, analysis, ml, application (используется для организации на сайте документации)
  • owner: требуется name или email; допускаются дополнительные свойства

Ожидаемые:

  • depends_on: список узлов, на которые можно ссылаться, включая metric, ref и source. Хотя это возможно, крайне маловероятно, что вам когда-либо понадобится, чтобы exposure зависела непосредственно от source.

Необязательные:

  • label: может содержать пробелы, заглавные буквы или специальные символы.
  • url: активирует и заполняет ссылку на Просмотр этой экспозиции в правом верхнем углу сгенерированного сайта документации
  • maturity: указывает уровень уверенности или стабильности экспозиции. Одно из high, medium или low. Например, вы можете использовать high для хорошо зарекомендовавшего себя дашборда, широко используемого и доверенного в вашей организации. Используйте low для нового или экспериментального анализа.

Общие свойства (необязательные)

Ссылки на экспозиции

После определения экспозиции вы можете выполнять команды, ссылаясь на нее:

dbt run -s +exposure:weekly_jaffle_report
dbt test -s +exposure:weekly_jaffle_report

Когда мы генерируем сайт Catalog, вы увидите, что exposure отображается следующим образом:

Exposures имеют отд�ельный раздел во вкладке 'Resources' в dbt Catalog, где перечислены все exposure в вашем проекте.Exposures имеют отдельный раздел во вкладке 'Resources' в dbt Catalog, где перечислены все exposure в вашем проекте.
Exposures отображаются как узлы в DAG dbt Catalog. Внутри узла показывается оранжевый индикатор 'EXP'.Exposures отображаются как узлы в DAG dbt Catalog. Внутри узла показывается оранжевый индикатор 'EXP'.

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

0
Loading