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

Изучение данных с помощью Catalog

С помощью Catalog вы можете просматривать ресурсы вашего проекта (например, модели, тесты и метрики), их lineage, а также использование моделей, чтобы лучше понимать актуальное состояние продакшена.

Используйте Catalog для навигации и управления проектами в dbt, чтобы вы и другие дата-разработчики, аналитики и потребители данных могли находить и эффективно использовать ресурсы dbt. Catalog интегрируется с Studio IDE, dbt Insights, Orchestrator и Canvas, помогая разрабатывать или просматривать ваши dbt‑ресурсы.

Предварительные требования

  • У вас есть аккаунт dbt с тарифом Starter, Enterprise или Enterprise+.
  • Для каждого проекта, который вы хотите исследовать, настроена среда деплоя production или staging.
  • В среде деплоя выполнен как минимум один успешный запуск job. Обратите внимание, что CI jobs не обновляют Catalog.
  • Вы находитесь на странице Catalog. Для этого выберите Explore в навигации dbt.

Генерация метаданных

Catalog использует метаданные, предоставляемые Discovery API, чтобы отображать сведения о состоянии вашего dbt‑проекта. Доступный набор метаданных зависит от среды развертывания, которую вы указали как production или staging в вашем проекте dbt.

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

Метаданные dbt

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

  • Чтобы все метаданные были доступны в Catalog, запускайте dbt build и dbt docs generate в рамках задания в production или staging‑среде. Выполнение этих двух команд гарантирует, что все релевантные метаданные (такие как lineage, результаты тестов, документация и другое) будут доступны в Catalog.
  • Catalog автоматически получает обновления метаданных после каждого запуска задания в production или staging‑среде развертывания, поэтому всегда использует самые актуальные результаты по вашему проекту. Это относится как к deploy‑, так и к merge‑заданиям.
    • Обратите внимание, что CI‑задания не обновляют Catalog. Это связано с тем, что они не отражают состояние production и не предоставляют необходимые обновления метаданных.
  • Чтобы просмотреть ресурс и его метаданные, ресурс должен быть определён в вашем проекте, а задание должно быть выполнено в production или staging‑среде.
  • Итоговый набор метаданных зависит от команд, которые выполняются в заданиях.

Обратите внимание, что Catalog автоматически удаляет устаревшие метаданные через 3 месяца, если не выполнялись задания для их обновления. Чтобы избежать этого, убедитесь, что задания с необходимыми командами запускаются чаще, чем раз в 3 месяца.

Чтобы увидеть в CatalogНеобходимо успешно выполнить
Все метаданныеdbt build, dbt docs generate и dbt source freshness вместе в рамках одного задания в среде
Lineage модели, детали или результатыdbt run или dbt build для конкретной модели в рамках задания в среде
Колонки и статистику для моделей, источников и snapshot’овdbt docs generate в рамках задания в среде
Результаты тестовdbt test или dbt build в рамках задания в среде
Результаты source freshnessdbt source freshness в рамках задания в среде
Детали snapshot’овdbt snapshot или dbt build в рамках задания в среде
Детали seed’овdbt seed или dbt build в рамках задания в среде
Loading table...

По мере развития dbt в Catalog будут доступны более полные и более оперативно обновляемые метаданные.

подсказка

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

Импорт внешних метаданных Preview

Подключайтесь напрямую к вашему хранилищу данных с помощью external metadata ingestion, чтобы получить видимость таблиц, представлений и других ресурсов, которые не определены в dbt, в Catalog.

Мы создаём метаданные dbt и подтягиваем внешние метаданные. Catalog использует метаданные, предоставляемые Discovery API, чтобы отображать детали о состоянии вашего проекта. Доступный набор метаданных зависит от того, какая deployment environment назначена production или staging в вашем dbt‑проекте.

Обзор каталога

Catalog предоставляет возможность расширять поиск, включая dbt‑ресурсы (модели, seeds, snapshots, sources, exposures и другие) по всему вашему аккаунту. Это расширяет возвращаемые результаты и даёт более полное представление обо всех активах во всех ваших dbt‑проектах. Подробнее см. в разделе Global navigation или в нашем видеообзоре.

Используйте обзорную страницу Catalog, чтобы получить доступ к ресурсам и метаданным вашего проекта. Страница включает следующие разделы:

  • Search barПоиск ресурсов в вашем проекте по ключевым словам. Также можно использовать фильтры для уточнения результатов.
  • Sidebar — Левая боковая панель позволяет получить доступ к производительности моделей и рекомендациям по проекту в разделе Project details. В нижней части боковой панели можно просматривать ресурсы проекта, дерево файлов и базу данных.
    • Рекомендации по проекту доступны на его стартовой странице.*
  • Lineage graph — Изучайте lineage graph проекта или всего аккаунта, чтобы визуализировать связи между ресурсами.
  • Latest updates — Просматривайте последние изменения или проблемы, связанные с ресурсами проекта, включая недавние запуски job, изменения свойств, lineage и инциденты.
  • Marts and public models — Просмотр marts и public models в проекте. Также из этого представления можно перейти ко всем публичным моделям аккаунта.
  • Model query history — Используйте model query history для отслеживания запросов к моделям и более глубокого понимания их использования.
  • Visualize downstream exposuresНастройте и визуализируйте downstream exposures, чтобы автоматически отображать связанные модели данных из Tableau и повышать их прозрачность.
  • Data health signals — Просматривайте data-health-signals для каждого ресурса, чтобы оценить его состояние и производительность.

Права доступа к каталогу

При использовании глобальной навигации и поиске по всем проектам действуют следующие правила доступа:

  • Права доступа к проектам определяют, какие dbt‑проекты отображаются в левом меню глобальной навигации.
  • В поиске Catalog используются мягкие ограничения доступа: вы увидите все совпадающие ресурсы в результатах поиска, при этом элементы, к которым у вас нет доступа, будут явно помечены.
  • Для внешних метаданных глобальные учетные данные платформы определяют, метаданные каких ресурсов пользователи могут обнаруживать. Подробнее см. в разделе External metadata ingestion.
Обучение по запросу

Если вам нравятся видеокурсы, обратите внимание на наш on-demand курс по dbt Catalog и узнайте, как наиболее эффективно изучать ваши проекты dbt!

Изучение графа lineage проекта

Catalog предоставляет визуализацию DAG вашего проекта, с которой можно взаимодействовать. Чтобы открыть полный граф lineage проекта, выберите Overview в левой боковой панели и нажмите кнопку Explore Lineage в основной (центральной) части страницы.

Если граф lineage проекта не отображается сразу, нажмите Render Lineage. В зависимости от размера проекта и объёма доступной оперативной памяти на вашем компьютере отрисовка графа может занять некоторое время. Для очень крупных проектов граф может не отрисоваться полностью — в этом случае можно выбрать подмножество узлов с помощью селекторов.

Узлы в графе lineage представляют ресурсы проекта, а рёбра — связи между этими узлами. Узлы имеют цветовую кодировку и иконки в соответствии с типом ресурса.

По умолчанию Catalog показывает lineage проекта в applied state. Это означает, что отображаются модели, которые были успешно собраны и доступны для выполнения запросов, а не просто модели, определённые в проекте.

Чтобы изучить графы lineage для tests и macros, перейдите на страницы деталей соответствующих ресурсов. По умолчанию Catalog исключает эти ресурсы из полного графа lineage, если только поисковый запрос не возвращает их в результатах.

 Как я могу взаимодействовать с полным графом происхождения?
  • Наведите курсор на любой элемент графа, чтобы отобразить имя и тип ресурса.

  • Увеличивайте и уменьшайте масштаб графа с помощью прокрутки колёсика мыши.

  • Захватывайте и перемещайте граф и отдельные узлы.

  • Щёлкните правой кнопкой мыши по узлу (контекстное меню), чтобы:

    • Перефокусироваться на узле, включая его upstream‑ и downstream‑узлы
    • Перефокусироваться на узле и только на его downstream‑узлах
    • Перефокусироваться на узле и только на его upstream‑узлах
    • Открыть страницу сведений о ресурсе
  • Выберите ресурс, чтобы подсветить его связи с другими ресурсами в проекте. Справа от графа откроется панель, в которой отображается высокоуровневое резюме сведений о ресурсе. Боковая панель содержит вкладку General с такой информацией, как описание, тип материализации и другие детали. В правом верхнем углу боковой панели:

  • Используйте selectors (в строке поиска), чтобы выбрать конкретные ресурсы или подмножество DAG. Это помогает сузить фокус до интересующих вас ресурсов. Доступны все селекторы, кроме тех, которые требуют сравнения состояний (result, source status и state). Также можно использовать флаги --exclude и --select (необязательный). Примеры:

    • resource_type:model [RESOURCE_NAME] — возвращает все модели, соответствующие поиску по имени
    • resource_type:metric,tag:nightly — возвращает метрики с тегом nightly
  • Используйте graph operators (в строке поиска), чтобы выбрать конкретные ресурсы или подмножество DAG. Это помогает сузить фокус до интересующих вас ресурсов. Примеры:

    • +orders — возвращает все upstream‑узлы для orders
    • +dim_customers,resource_type:source — возвращает все источники, которые находятся upstream от dim_customers
  • Используйте set operators (в строке поиска), чтобы выбрать конкретные ресурсы или подмножество DAG. Это помогает сузить фокус до интересующих вас ресурсов. Например:

    • +snowplow_sessions +fct_orders — используйте аргументы, разделённые пробелами, для операции объединения. Возвращает ресурсы, которые являются upstream‑узлами либо для snowplow_sessions, либо для fct_orders.
  • Просматривайте сведения о ресурсе, выбрав узел (двойным щелчком) на графе.

  • Нажмите Lenses (в правом нижнем углу графа), чтобы использовать функциональность lenses в Catalog.

Пример полного графа происхождения

Пример исследования модели в графе происхождения проекта:

Пример полного графа происхожденияПример полного графа происхождения

Линзы

Функция Lenses доступна в графе линейности вашего проекта (правый нижний угол). Lenses можно сравнить со слоями на карте для вашего DAG. Они упрощают понимание контекстных метаданных проекта в большом масштабе, особенно когда нужно выделить конкретную модель или подмножество моделей.

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

Линзы полезны для анализа подмножества DAG, если вы увеличили масштаб, или для поиска моделей/проблем с более высокой точки зрения.

 Список доступных линз

Ресурс в вашем проекте характеризуется типом ресурса, типом материализации или слоем модели, а также его последним запуском или последним статусом теста. Линзы доступны для следующих метаданных:

  • Resource type: Организует ресурсы по типу ресурса, например: models, tests, seeds, saved query и другие. Для типа ресурса используется селектор resource_type.
  • Materialization type: Определяет стратегию построения моделей dbt в вашей платформе данных.
  • Latest status: Статус последнего выполнения ресурса в текущем окружении. Например, используется для диагностики упавшего участка DAG.
  • Model layer: Слой моделирования, к которому относится модель согласно руководству по лучшим практикам. Например, для поиска моделей marts для анализа.
    • Marts — Модель с префиксом fct_ или dim_, либо модель, находящаяся в подкаталоге /marts/.
    • Intermediate — Модель с префиксом int_ или модель, находящаяся в подкаталоге /int/ или /intermediate/.
    • Staging — Модель с префиксом stg_ или модель, находящаяся в подкаталоге /staging/.
  • Test status: Статус последнего выполнения тестов, запущенных для данного ресурса. Если у модели есть несколько тестов с разными результатами, линза отображает статус по принципу «наихудшего случая».
  • Consumption query history: Количество запросов к данному ресурсу за заданный период времени.

Пример линз

Пример применения типа материализации lens с уменьшенным масштабом графа lineage. В этом представлении каждое имя модели окрашено в цвет в соответствии с легендой типов материализации внизу, которая указывает тип материализации. Такая цветовая кодировка помогает быстро определить типы материализации различных моделей.

Пример линзы типа материализацииПример линзы типа материализации

Пример применения линзы Статус тестов, где каждое имя модели отображает статус тестов в соответствии с легендой внизу, которая указывает статус теста.

Пример линзы статуса тестовПример линзы статуса тестов

Поиск по ключевым словам

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

Вы можете находить ресурсы в своем проекте, выполняя поиск по ключевым словам в строке поиска. Все имена ресурсов, имена колонок, описания ресурсов, связи с warehouse, а также код, соответствующие вашим критериям поиска, будут отображены списком в основной (центральной) части страницы. При поиске по точному имени колонки результаты показывают все реляционные узлы, содержащие эту колонку в своих схемах. Если найдено совпадение, в результате поиска отображается уведомление о том, что ресурс содержит указанную колонку. Кроме того, вы можете применять фильтры, чтобы дополнительно уточнить результаты поиска.

 Функции поиска
  • Поиск по части ключевого слова — Также известен как нечеткий поиск (fuzzy search). Catalog использует логику «contains», чтобы улучшить результаты поиска. Это означает, что вы можете искать по части слова, не зная точную словоформу или корень искомого термина.
  • Исключение ключевых слов — Добавьте знак минус (-) перед ключевым словом, которое нужно исключить из результатов поиска. Например, -user исключит все совпадения с этим ключевым словом из результатов.
  • Логические операторы — Используйте логические (Boolean) операторы, чтобы расширить возможности поиска по ключевым словам. Например, результаты поиска по запросу users OR github будут включать совпадения с любым из этих ключевых слов.
  • Поиск по фразе — Заключите последовательность ключевых слов в двойные кавычки, чтобы найти именно эту фразу целиком (например, "stg users"). Подробнее см. статью Phrase search в Википедии.
  • Поиск с использованием SQL-ключевых слов — Используйте SQL-ключевые слова в поисковом запросе. Например, результаты поиска по запросу int github users joined будут включать совпадения, содержащие именно эту последовательность ключевых слов (аналогично поиску по фразе).
 Боковая панель фильтров

Боковая панель Filters становится доступной после выполнения поиска по ключевым словам. Используйте эту панель, чтобы дополнительно уточнить результаты поиска. По умолчанию Catalog выполняет поиск по всем ресурсам в проекте. Вы можете фильтровать по следующим параметрам:

В разделе Models вы можете фильтровать по свойствам модели (access или тип materialization). Также доступны Advanced‑параметры, где можно ограничить результаты поиска по имени колонки, коду модели и другим критериям.

Пример результатов поиска по ключевому слову customers с применением фильтров models, description и code. Сигналы качества данных отображаются справа от имени модели в результатах поиска.

Обзор через боковую панель

С помощью боковой панели вы можете просматривать ресурсы проекта, его дерево файлов и базу данных.

  • Вкладка Resources — Все ресурсы проекта, сгруппированные по типу. Выберите любой тип ресурса в списке, и все ресурсы этого типа в проекте отобразятся в виде таблицы в основной части страницы. Описание разных типов ресурсов (например, моделей, метрик и т. д.) см. в разделе О проектах dbt.
  • Вкладка File Tree — Все ресурсы проекта, сгруппированные по файлу, в котором они определены. Это отражает дерево файлов в репозитории вашего dbt-проекта.
  • Вкладка Database — Все ресурсы проекта, сгруппированные по базе данных и схеме, в которых они собраны. Это отражает структуру вашей платформы данных, которая представляет примененное состояние вашего проекта.

Доступ к интегрированным инструментам

Пользователи с developer license или местом (seat) аналитика могут открыть ресурс напрямую из Catalog: в Studio IDE — чтобы просмотреть файлы модели, в Insights — чтобы выполнять к нему запросы, или в Canvas — для визуального редактирования.

Просмотр версий моделей

Если модели в проекте версионируются, вы можете увидеть, какая версия модели применяется — prerelease, latest и old — в заголовке страницы деталей модели и в списке моделей в боковой панели.

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

Вы можете просмотреть определение и результаты последнего запуска для любого ресурса в проекте. Чтобы найти ресурс и открыть его детали, можно взаимодействовать с графом lineage, использовать поиск или просматривать Catalog.

Доступные вам сведения (метаданные) зависят от типа ресурса, его определения и команд, которые выполняются в заданиях в production-окружении.

В правом верхнем углу страницы деталей ресурса вы можете:

  • Нажать значок Open in Studio IDE, чтобы изучить ресурс в Studio IDE.
  • Нажать значок Share, чтобы скопировать ссылку на страницу в буфер обмена.
 Какие детали доступны для модели?
  • Сигналы здоровья данных (Data health signals)Data health signals предоставляют быстрый обзор состояния данных «с первого взгляда». Эти иконки показывают, находится ли модель в состоянии Healthy, Caution, Degraded или Unknown. Наведите курсор на иконку, чтобы увидеть подробную информацию о состоянии модели.
  • Строка состояния (под заголовком страницы) — информация о времени последнего запуска модели, был ли запуск успешным, как материализованы данные, количестве строк и размере модели.
  • Вкладка General включает:
    • Граф lineage — граф lineage модели, с которым можно взаимодействовать. Граф включает один upstream‑узел и один downstream‑узел относительно модели. Нажмите на иконку Expand в правом верхнем углу графа, чтобы открыть модель в режиме полного графа lineage.
    • Раздел Descriptionописание модели.
    • Раздел Recent — информация о времени последнего запуска модели, его длительности, успешности выполнения, ID job и ID run.
    • Раздел Testsтесты данных для модели, включая индикатор статуса последнего запуска тестов. Значок означает успешное прохождение теста.
    • Раздел Details — ключевые свойства, такие как имя relation модели (например, как она представлена и как к ней можно обращаться в платформе данных: database.schema.identifier); атрибуты governance модели, такие как access, group и признак contracted; и другое.
    • Раздел Relationships — узлы, от которых модель Depends On, которые Referenced by модель, и (если применимо) которые Used by моделью — для проектов, объявивших проект с этой моделью как зависимость.
  • Вкладка Code — исходный код и скомпилированный код модели.
  • Вкладка Columns — доступные колонки в модели. Эта вкладка также показывает результаты тестов (если они есть), которые можно выбрать для перехода на страницу с деталями теста. Значок означает успешное прохождение теста. Чтобы отфильтровать колонки ресурса, можно использовать строку поиска, расположенную в верхней части представления колонок.
 Какие сведения доступны для exposure?
  • Status bar (под заголовком страницы) — Информация о том, когда exposure последний раз обновлялся.
  • Data health signalsСигналы качества данных дают быстрый обзор состояния данных. Эти значки показывают, находится ли ресурс в состоянии Healthy, Caution или Degraded. Наведите курсор на значок, чтобы увидеть подробную информацию о состоянии exposure.
  • Вкладка General включает:
    • Data health — Статус свежести данных и качества данных.
    • Раздел Status — Статус свежести данных и качества данных.
    • Граф Lineage — Граф lineage для exposure. Нажмите значок Expand в правом верхнем углу графа, чтобы открыть exposure в режиме полноэкранного (full) lineage-графа. Нативно интегрируется с Tableau и автоматически генерирует downstream-lineage.
    • Раздел Description — Описание exposure.
    • Раздел Details — Детали, такие как тип exposure, maturity, информация о владельце и т. д.
    • Раздел Relationships — Узлы, от которых exposure Depends On.
 Какие сведения доступны для test?
  • Status bar (под заголовком страницы) — Информация о том, когда тест запускался в последний раз, прошел ли тест, имя теста, цель (target) теста и имя колонки. По умолчанию — все (all), если не указано иное.
  • Test Type (рядом со Status bar) — Информация о доступных типах тестов: Unit test или Data test. По умолчанию — все (all), если не указано иное.

Когда вы выбираете тест, доступны следующие сведения:

  • Вкладка General включает:
    • Граф Lineage — Интерактивный граф lineage для теста. Граф включает один upstream-узел и один downstream-узел относительно ресурса теста. Нажмите значок Expand в правом верхнем углу графа, чтобы открыть тест в режиме полноэкранного (full) lineage-графа.
    • Раздел Description — Описание теста.
    • Раздел Recent — Информация о последнем запуске теста: как долго он выполнялся, прошел ли он, ID задания (job ID) и ID запуска (run ID).
    • Раздел Details — Детали, такие как схема (schema), серьезность (severity), пакет (package) и т. д.
    • Раздел Relationships — Узлы, от которых тест Depends On.
  • Вкладка Code — Исходный код и скомпилированный код теста.

Пример представления Tests:

 Какие детали доступны для каждой таблицы источников в коллекции источников?
  • Строка состояния (ниже заголовка страницы) — Информация о последнем времени обновления источника и количестве таблиц, которые использует источник.
  • Вкладка Общие включает:
    • Граф происхождения — Граф происхождения источника, с которым вы можете взаимодействовать. Граф включает один вышестоящий узел и один нижестоящий узел от источника. Нажмите на иконку Развернуть в верхнем правом углу графа, чтобы просмотреть источник в режиме полного графа происхождения.
    • Раздел Описание — Описание источника.
    • Раздел Свежесть источника — Информация о том, было ли обновление данных успешным, последнее время загрузки источника, временная метка, когда выполнение сгенерировало данные, и ID выполнения.
    • Раздел Детали — Детали, такие как база данных, схема и многое другое.
    • Раздел Отношения — Таблица, перечисляющая все используемые источники с их статусом свежести, временной меткой последней проверки свежести и временной меткой последней загрузки источника.
  • Вкладка Столбцы — Доступные столбцы в источнике. Эта вкладка также показывает результаты тестов (если есть), которые вы можете выбрать, чтобы просмотреть страницу деталей теста. обозначает успешный тест.

Пример деталей модели

Пример просмотра деталей для модели customers:

Пример деталей ресурсаПример деталей ресурса

Пример деталей downstream‑экспозиции для Tableau.Пример деталей downstream‑экспозиции для Tableau.

Стейджинговая среда

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

Catalog поддерживает представления для staging‑окружений развертывания в дополнение к production‑окружению. Это дает вам уникальный обзор ваших допродакшн‑процессов обработки данных с использованием тех же инструментов, что и в production, при этом обеспечивая дополнительный уровень проверки и контроля.

Вы можете изучать метаданные из production‑ или staging‑окружения, чтобы поддерживать и улучшать жизненный цикл разработки данных. Для этого достаточно задать одно окружение в рамках проекта dbt как «production» или «staging» и убедиться, что соответствующие метаданные были сгенерированы — после этого они станут доступны для просмотра в Catalog. Подробнее см. в разделе Генерация метаданных.

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

0
Loading