dbt exposures на собеседовании Data Engineer

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.

Что такое exposure

Downstream consumer dbt models — dashboard, ML model, application.

# exposures.yml
exposures:
  - name: weekly_revenue_dashboard
    type: dashboard
    url: https://datalens.yandex.ru/...
    owner:
      name: Marketing Team
      email: marketing@company.ru
    depends_on:
      - ref('fct_orders')
      - ref('dim_customers')

Не materialized в DB, но appears в dbt docs / lineage.

Описание

Types:

  • dashboard
  • notebook
  • analysis
  • ml
  • application

Fields: name, type, owner, url, description, dependencies.

Lineage benefits

В dbt docs — exposure visible как final node DAG.

Когда model meeting impact analysis:

fct_orders (model) → ?
  → exposed by: weekly_revenue_dashboard (Marketing Team)

Знаешь кому уведомить при breaking changes.

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Применение в CI

Test exposures периодически. Если SQL stale, model deleted — alert.

dbt run-operation check_exposures

В CI — pre-deploy check: dashboards match new schema.

Связанные темы

FAQ

Это официальная информация?

Нет. Статья основана на документации dbt 1.7+.


Тренируйте Data Engineering — откройте тренажёр с 1500+ вопросами для собесов.