Добавление экспозиций в ваш 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для нового или экспериментального анализа.
Общие свойства (необязательные)
- description
- tags
- meta
- enabled — Это свойство можно задать на уровне exposure или на уровне проекта в файле
dbt_project.yml.
Ссылки на экспозиции
После определения экспозиции вы можете выполнять команды, ссылаясь на нее:
dbt run -s +exposure:weekly_jaffle_report
dbt test -s +exposure:weekly_jaffle_report
Когда мы генерируем сайт Catalog, вы увидите, что exposure отображается следующим образом:
Exposures имеют отдельный раздел во вкладке 'Resources' в dbt Catalog, где перечислены все exposure в вашем проекте.
Exposures отображаются как узлы в DAG dbt Catalog. Внутри узла показывается оранжевый индикатор 'EXP'.Связанные документы
Нашли ошибку?
0