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

Свойства экспозиций

Обзор

Экспозиции определяются в файлах properties.yml, вложенных под ключом exposures:. Вы можете определять exposures в YAML-файлах, которые также определяют sources или models. Свойства экспозиций — это «особые свойства», потому что вы не можете настраивать их в файле dbt_project.yml или с помощью блоков config(). Подробнее см. Конфигурация и свойства.

Обратите внимание, что хотя большинство свойств exposure необходимо настраивать непосредственно в этих YAML-файлах, вы можете задать конфигурацию enabled на уровне проекта в файле dbt_project.yml.

Имена экспозиций должны содержать только буквы, цифры и подчеркивания (без пробелов или специальных символов). Для короткого, удобного для чтения имени с заглавными буквами, пробелами и специальными символами используйте свойство label.

models/<filename>.yml

exposures:
- name: <string_with_underscores>
description: <markdown_string>
type: {dashboard, notebook, analysis, ml, application}
url: <string>
maturity: {high, medium, low} # Указывает уровень уверенности или стабильности exposure
enabled: true | false
config: # 'tags' и 'meta' были перенесены в config в версии v1.10
tags: [<string>]
meta: {<dictionary>}
enabled: true | false
owner: # поддерживаются только поля 'name' и 'email'
name: <string>
email: <string>

depends_on:
- ref('model')
- ref('seed')
- source('name', 'table')
- metric('metric_name')

label: "Понятное человеку имя для этого exposure!"

- name: ... # объявление свойств дополнительных экспозиций

Пример

models/jaffle/exposures.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: jaffle_recommender
maturity: medium
type: ml
url: https://jupyter.org/mycoolalg
description: >
Глубокое обучение для персонализированного "Откройте для себя бутерброды еженедельно"

depends_on:
- ref('fct_orders')

owner:
name: Data Science Drew
email: data@jaffleshop.com


- name: jaffle_wrapped
type: application
description: Сообщите пользователям об их любимых jaffles за год
depends_on: [ ref('fct_orders') ]
owner: { email: summer-intern@jaffleshop.com }

Конфигурации на уровне проекта

Вы можете задать конфигурации на уровне проекта для exposures в файле dbt_project.yml в секции exposures: с использованием префикса +. В настоящее время поддерживается только конфигурация enabled:

dbt_project.yml
name: 'project_name'

# rest of dbt_project.yml

exposures:
+enabled: true

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

0
Loading