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

Происхождение на уровне столбцов EnterpriseEnterprise +

Catalog теперь предлагает column-level lineage (CLL) для ресурсов в вашем dbt‑проекте. Аналитические инженеры могут быстро и удобно получать представление о происхождении своих дата‑продуктов на более детальном уровне. Для каждого столбца в ресурсе (модели, источнике или snapshot) в dbt‑проекте Catalog предоставляет сквозную lineage данных в этом столбце с учётом того, как он используется.

CLL доступна во всех тарифных планах dbt Enterprise, которые поддерживают использование Catalog.

Обзор линии родословной на уровне столбцовОбзор линии родословной на уровне столбцов
Обучение по запросу

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

Доступ к линии родословной на уровне столбцов

Для CLL не требуется никакой дополнительной настройки, если ваша учетная запись находится на тарифе Enterprise, который поддерживает использование Catalog. Вы можете получить доступ к CLL, развернув карточку столбца на вкладке Columns в Catalog на странице сведений о ресурсе для модели, источника или снапшота.

dbt обновляет lineage в Explorer после каждого запуска, выполненного в среде production или staging. Как минимум одно задание в среде production или staging должно выполнять команду dbt docs generate. Подробнее см. в разделе Генерация метаданных.

Пример вкладки Columns и где развернуть для CLLПример вкладки Columns и где развернуть для CLL

Линза эволюции столбцов

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

Пример линзы эволюции столбцовПример линзы эволюции столбцов

Унаследованные описания столбцов

Повторно используемый столбец, обозначенный как Passthrough или Rename в линии родословной, автоматически наследует свое описание от столбцов исходной и вышестоящей модели. Наследование продолжается настолько далеко, насколько это возможно. Пока столбец не трансформируется, вам не нужно вручную определять описание; оно будет автоматически распространяться вниз по потоку.

Столбцы передачи и переименования четко обозначены и имеют цветовую кодировку в линии родословной.

В следующем примере модели dim_salesforce_accounts (расположенной в конце линии родословной) описание для столбца, унаследованного от модели stg_salesforce__accounts (расположенной второй слева), указывает на его происхождение. Это помогает разработчикам быстро идентифицировать оригинальный источник столбца, облегчая внесение изменений в документацию.

Пример линии родословной с распространенными и унаследованными описаниями столбцов.Пример линии родословной с распространенными и унаследованными описаниями столбцов.

Примеры использования линии родословной на уровне столбцов

Узнайте больше о том, почему и как вы можете использовать CLL в следующих разделах.

Анализ первопричин

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

Анализ воздействия

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

Сотрудничество и эффективность

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

Предостережения

Обратитесь к следующим предостережениям или ограничениям CLL, когда вы используете dbt Explorer.

При работе с Catalog обратите внимание на следующие оговорки или ограничения CLL.

Линия родословной на уровне столбцов отражает линию родословной из select операторов в SQL-коде ваших моделей. Она не отражает другое использование, такое как соединения и фильтры.

Разбор SQL

Линейность на уровне колонок (column-level lineage) основана на разборе SQL. Ошибки могут возникать в случаях, когда разбор SQL не удаётся или источник колонки невозможно определить (например, при распаковке JSON, использовании lateral join и т.п.). В таких ситуациях линейность может быть неполной, и dbt отобразит предупреждение об этом в линейности колонок.

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

Чтобы просмотреть детали ошибки:

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

Возможные случаи ошибок:

  • Ошибка разбора — Ошибка возникает, когда SQL является неоднозначным или слишком сложным для разбора. Примером неоднозначных сценариев разбора являются сложные боковые соединения.
  • Ошибка Python — Ошибка возникает, когда в линии родословной используется модель Python. Из-за природы моделей Python невозможно разобрать и определить линию родословной.
  • Неизвестная ошибка — Ошибка возникает, когда линию родословной невозможно определить по неизвестной причине. Примером этого может быть несоблюдение лучших практик dbt, например, использование жестко закодированных имен таблиц вместо операторов ref.

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

0
Loading