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

Мониторинг активности dbt State

Узнайте, как отслеживать активность dbt State на dbt platform, чтобы лучше понимать процессы построения моделей и экономию затрат.

Мониторинг dbt State помогает:

  • Отслеживать эффективность dbt State — Узнавайте, как dbt State сокращает количество ненужных повторных построений моделей, выполняя построение только при изменении данных или кода. dbt State позволяет видеть, как работает оптимизация во всех ваших проектах.
  • Анализировать закономерности построения — Получайте информацию о частоте построений в проекте и выявляйте возможности для дальнейшей оптимизации.

Метрики dbt State​

При переходе в Account settings > Billing & Usage > Usage-based features на вкладке State отображается количество дней, оставшихся до конца пробного периода. После включения dbt State на ней отображаются следующие показатели за текущий месяц:

  • Models reused this month: количество построений моделей, которые dbt State пропустил или заменил клонированием вместо повторного построения с нуля.
  • Total % build reduction: общее сокращение количества построений моделей в вашем аккаунте.
  • Total query run time reduction: общее время, которое dbt State сэкономил, не выполняя ненужные построения моделей.

На вкладке State также отображаются следующие диаграммы:

  • DATT — Показывает целевые таблицы, обработанные dbt State, с разделением на Billable (платные) и Free (бесплатные). Ежедневно активные целевые таблицы (DATT) — это единицы тарификации dbt State. В течение пробного периода все DATT учитываются как бесплатные.
  • Asset builds — Показывает все построения моделей за месяц, включая повторно использованные и клонированные модели.

Рекомендации по допустимому отставанию данных​

На странице dbt State, доступной в левом меню dbt platform, есть раздел Lag tolerance recommendations, в котором указаны модели, допускающие большее отставание данных без негативных последствий. Это позволяет dbt State пропускать больше запусков и дополнительно экономить вычислительные ресурсы. Раздел доступен всем пользователям dbt State, в том числе тем, кто запускает dbt локально, через CI/CD или с помощью внешнего оркестратора.

В таблице рекомендаций отображаются следующие столбцы:

СтолбецОписание
Model nameИмя модели, для которой может быть полезно увеличить значение lag_tolerance.
ProjectПроект dbt, к которому относится модель, заданный параметром name: в dbt_project.yml. Он может отличаться от имени проекта на dbt platform.
Current lagТекущее значение настройки lag_tolerance модели.
Recommended lagЗначение lag_tolerance, которое dbt State рекомендует на основе истории построений модели за 30 дней.
% time savedОценочная доля времени построения в процентах, которую вы сэкономите, применив рекомендуемое значение lag_tolerance.
Projected 30d time savingsОценочное время построения, которое можно сэкономить за следующие 30 дней, применив рекомендуемое значение lag_tolerance. Расчёт основан на избыточных построениях за предыдущие 30 дней. Оценка учитывает только эту модель, поэтому фактическая экономия может быть выше, если зависимые модели также не будут перестраиваться.

Вы можете найти определённую модель с помощью строки поиска или отфильтровать рекомендации по проекту с помощью раскрывающегося меню Project.

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

Как dbt State рассчитывает рекомендации​

dbt State анализирует историю построений каждой модели за предыдущие 30 дней. Модели, для которых зафиксировано менее 10 построений, исключаются, поскольку истории недостаточно для надёжной рекомендации.

Для каждой подходящей модели dbt State:

  1. Определяет построения, при которых определение модели и входные данные не изменились с момента предыдущего построения.
  2. Оценивает время построения, которое удалось бы сэкономить при различных значениях lag_tolerance.
  3. Рекомендует наименьшее значение, которое позволило бы сэкономить более 30 минут, помогая сократить количество избыточных построений и при этом сохранить максимальную актуальность данных.

Модель не отображается в таблице, если она является представлением или её текущее значение lag_tolerance уже равно рекомендуемому значению либо превышает его. Для каждого аккаунта отображаются 20 моделей с наибольшей прогнозируемой экономией.

Рекомендации по допустимому отставанию данныхРекомендации по допустимому отставанию данных

Диаграмма построенных и повторно использованных моделей​

На странице Account home отображается диаграмма с количеством построенных и повторно использованных моделей, которая позволяет увидеть, как dbt State оптимизирует построение ваших данных. На странице Account home также можно посмотреть количество повторно использованных моделей по проектам.

Просмотр логов построения ресурсов​

При запуске задания или локальном выполнении dbt run либо dbt build в структурированном представлении логов отображается, какие ресурсы были построены, пропущены или повторно использованы.

Просмотр логов построения ресурсовПросмотр логов построения ресурсов
  1. У каждого ресурса есть значок, обозначающий его статус.
  2. На вкладке Reused указано общее количество повторно использованных ресурсов.
  3. Можно использовать строку поиска или фильтровать логи, чтобы отображать сообщения категорий All, Success, Warning, Failed, Running, Skipped, Reused или Debugged.
  4. Подробные сообщения в логах объясняют, почему ресурсы были построены, повторно использованы или пропущены. Эти сообщения выделены в логах.

Метка Reused в линзе Latest status​

Линзы графа происхождения данных — это интерактивные визуальные фильтры в dbt Catalog, которые показывают дополнительную информацию на графе происхождения данных и помогают понять, как определены ресурсы и как они работают. При применении линзы на узлах графа появляются метки со значением соответствующего слоя и цветовой индикацией на основе этого значения. Если сильно уменьшить масштаб, на графе будут видны только метки и их цвета.

Линза Latest status показывает статус последнего выполнения ресурса в текущей среде. При просмотре графа происхождения данных с этой линзой dbt State помечает повторно использованные модели меткой Reused.

Линза Latest status с повторно использованными моделямиЛинза Latest status с повторно использованными моделями

Чтобы просмотреть граф происхождения данных с линзой Latest status:

  1. В главном меню перейдите в Orchestration > Runs.
  2. Выберите нужный запуск.
  3. Перейдите на вкладку Lineage. Вы увидите граф происхождения данных вашего проекта.
  4. В поле Lenses выберите Latest status.

Вкладка Explain​

Чтобы узнать, почему dbt State перестроил, повторно использовал или клонировал определённый ресурс, перейдите в Orchestration > Runs. Выберите запуск и перейдите на вкладку Explain.

Вкладка Explain отображается для запусков заданий, в которых использовался dbt State. Она показывает, почему dbt State пересобрал, повторно использовал или клонировал каждый ресурс, позволяя исследовать неожиданное поведение или убедиться, что State работает как ожидается. Вкладка доступна во время выполнения запуска и обновляется по мере завершения обработки ресурсов.

На вкладке отображается таблица Explain results, в которой каждому ресурсу соответствует одна строка. Вы можете искать ресурсы по имени и скачивать полные результаты в виде текстового файла.

Разверните строку, чтобы просмотреть все подробности принятого решения. Не все виды анализа применимы к каждому типу ресурсов:

ПолеОписание
Resource nameИмя ресурса.
Resource typeТип ресурса: model, seed, snapshot, test и так далее.
DecisionПричина, по которой dbt State пересобрал, повторно использовал или клонировал этот ресурс.
Run stepКоманда задания, при выполнении которой был обработан этот ресурс (например, dbt build --exclude tag:ml_pipeline).
Table analysisСуществует ли целевая таблица в схеме.
Query analysisИзменился ли запрос ресурса или запросы ресурсов, от которых он зависит.
Data freshness analysisЯвляются ли данные вышестоящих ресурсов актуальными или укладываются ли они в настроенный допуск lag_tolerance.
Вкладка Explain с подробным разбором решенийВкладка Explain с подробным разбором решений

Связанная документация​

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

0
Loading