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

Линия родословной на уровне столбцов

Теперь dbt Explorer предлагает линию родословной на уровне столбцов (CLL) для ресурсов в вашем проекте dbt. Инженеры-аналитики могут быстро и легко получить представление о происхождении своих данных на более детальном уровне. Для каждого столбца в ресурсе (модель, источник или снимок) в проекте dbt, Explorer предоставляет сквозную линию родословной для данных в этом столбце, учитывая, как они используются.

CLL доступен для аккаунтов dbt Cloud Enterprise, которые могут использовать Explorer.

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

Если вам нравятся видеокурсы, ознакомьтесь с нашим курсом dbt Explorer по запросу и узнайте, как лучше всего исследовать ваш(и) проект(ы) dbt!

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

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

dbt Cloud обновляет линию родословной в Explorer после каждого запуска, выполненного в производственной или промежуточной среде. По крайней мере одна задача в производственной или промежуточной среде должна выполнить dbt docs generate. Обратитесь к Генерация метаданных для получения более подробной информации.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Использование столбцов

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

Разбор SQL

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

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

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

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

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

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