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

Поддерживаемые возможности

Узнайте о возможностях, поддерживаемых dbt v2, а также о требованиях и ограничениях.

При установке dbt вы по умолчанию получаете v2. Выбирать между отдельными наборами возможностей не нужно — v2 — это тот же dbt, который работает быстрее и предоставляет больше встроенных возможностей.

Требования​

Чтобы использовать v2 в своём проекте, необходимо:

  • Использовать поддерживаемый адаптер и метод аутентификации:
     BigQuery
     Databricks
    • Сервисный аккаунт / Токен пользователя
    • Встроенный OAuth
     Redshift
    • Имя пользователя / Пароль
    • Профиль IAM
     Snowflake
    • Имя пользователя / Пароль
    • Встроенный OAuth
    • Внешний OAuth
    • Пара ключей с использованием современного формата PKCS#8
    • MFA
     ClickHouseЗакрытая бета-версия
    • Имя пользователя / Пароль
     Apache Spark (только CLI)Бета-версия
    • Thrift
      • Простой уровень аутентификации и безопасности (SASL), механизм PLAIN
      • Без SASL (NOSASL)
    • Livy
      • Базовая аутентификация (имя пользователя и пароль)
      • При развертывании в Amazon Web Services (AWS): AWS Signature Version 4
        • Поддерживается аутентификация с использованием единого входа, сервисных учетных записей или пользовательских токенов
     DuckDB (только CLI)

    DuckDB не требует аутентификации — он работает локально на вашем компьютере.

    Обратите внимание, что жизненный цикл адаптера может различаться для dbt platform и локальной разработки. Адаптер может стать общедоступным (GA) в платформе dbt раньше, чем для локального использования.
  • Убедиться, что ваш проект может выполняться на последней версии v1 без предупреждений об устаревших возможностях и ошибок.
  • Перевести конфигурации Semantic Layer на последнюю спецификацию YAML.

Функциональный паритет с dbt v1​

На сегодняшний день dbt v2 поддерживает почти все возможности v1.x. Немногочисленные оставшиеся различия описаны ниже, в разделе Ограничения.

В v2 также удалены некоторые устаревшие возможности и введена более строгая проверка ошибочного кода проекта по сравнению с v1.x. Подробности см. в Руководстве по обновлению.

Функции и возможности​

dbt v2 ускоряет рабочие процессы разработки вашей команды благодаря обнаружению семантических и синтаксических ошибок, более быстрому линтеру, отслеживанию происхождения данных на уровне столбцов, языковому серверу и интеграции с VS Code, документации v2 (в полном объёме) и сравнению данных. Расширение dbt для VS Code дополнительно предоставляет такие возможности редактора, как IntelliSense, информация при наведении и отображение ошибок прямо в коде, на базе LSP.

Большинство возможностей v2 доступны сразу и не требуют входа в систему. Некоторые возможности на базе платформы dbt становятся доступны после входа с учётной записью dbt platform — её можно создать бесплатно, платный тариф не требуется. Полное описание возможностей, доступных без входа и после входа в систему, см. в разделе Доступность возможностей v2. Подробнее о возможностях LSP см. в разделе О dbt LSP.

подсказка

Возможности dbt platform (такие как Advanced CI, dbt Mesh и другие) — это корпоративный уровень функциональности поверх v2 — они доступны независимо от способа запуска dbt, в зависимости от вашего тарифного плана dbt.

Ограничения​

Если ваш проект использует что-либо из перечисленного ниже, вы всё ещё можете использовать v2, но полная миграция пока может быть невозможна:

  • Модели, которые зависят от возможностей материализации, не полностью поддерживаемых v2, или требуют конфигураций, которые в ней пока отсутствуют
  • Инструменты, которые зависят от точного формата вывода журналов v1.x
  • Рабочие процессы, построенные на возможностях платформы dbt, которые v2 пока не поддерживает, например на уведомлениях на уровне моделей
  • Использование расширения dbt для VS Code в режиме Agent в Cursor — визуализация происхождения данных отображается только в режиме Editor, поэтому переключитесь в него, если вам нужна полноценная вкладка происхождения данных
  • Линтинг с помощью SQLFluff — Вы используете SQLFluff для линтинга в CI или при локальной разработке. SQLFluff изначально не совместим с dbt v2, но в составе dbt v2 мы предоставляем высокопроизводительную альтернативу, совместимую с SQLFluff. Поддержка зависит от среды запуска:
    • Задания CI в dbt platform: задания CI на версии dbt v2 вызывают dbt lint вместо SQLFluff, поэтому результаты могут отличаться. См. раздел Паритет правил с SQLFluff.
    • Studio IDE: линтинг с помощью SQLFluff работает, но использует обработчик шаблонов движка dbt v1, а не dbt v2.
    • Локальная разработка: в качестве обходного решения можно запускать SQLFluff локально с помощью отдельного обработчика шаблонов движка dbt v1. Встроенный линтер dbt v2 доступен через команду dbt lint

Поддержка пакетов​

Чтобы определить, совместим ли пакет с dbt v2, посетите каталог пакетов dbt и найдите значок совместимости с dbt v2 или проверьте настройку require-dbt-version пакета.

  • Пакеты, у которых значение require-dbt-version равно 2.0.0 или задаёт диапазон, включающий эту версию, совместимы с dbt v2. Например, require-dbt-version: ">=1.10.0,<3.0.0".

    Даже если в каталоге пакетов не указана совместимость пакета, он всё равно может работать с v2. Взаимодействуйте с сопровождающими пакетов, чтобы отслеживать обновления, и перед развёртыванием тщательно тестируйте пакеты, совместимость которых явно не подтверждена.

  • Сопровождающие пакетов, которые хотят обеспечить совместимость своих пакетов с v2, могут найти инструкции в руководстве по обновлению пакетов для dbt v2.

Особенности пакетов Fivetran:

  • Пакеты Fivetran source и transformation объединены в один пакет.
  • Если вы вручную установили пакеты источников, такие как fivetran/github_source, необходимо убедиться, что установлен пакет fivetran/github, и деактивировать модели преобразования.

Сообщения о совместимости пакетов​

Расхождения между предупреждениями v2 и журналами dbt-autofix

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

Если вы используете dbt-autofix при переходе на v2 в Studio IDE или расширении dbt для VS Code, вы можете заметить расхождения между сообщениями о совместимости пакетов в dbt-autofix и предупреждениями v2.

Вот почему:

  • Предупреждения dbt v2 выдаются на основе значения require-dbt-version пакета и того, включает ли require-dbt-version версию 2.0.0.
  • Некоторые пакеты уже совместимы с v2, хотя их сопровождающие еще не обновили require-dbt-version.
  • dbt-autofix знает об этих совместимых пакетах и не будет пытаться обновить пакет, о совместимости которого ему уже известно.

Это означает, что даже если вы видите предупреждение v2 для пакета, который dbt-autofix определяет как совместимый, вам не нужно менять этот пакет.

Это временное расхождение в сообщениях: мы работаем над внедрением улучшенного механизма определения совместимости из dbt-autofix в предупреждения v2.

Вот пример предупреждения v2 в Studio IDE, которое сообщает, что пакет несовместим с v2, хотя dbt-autofix указывает, что он совместим:

dbt1065: Package 'dbt_utils' requires dbt version [>=1.30,<2.0.0], but current version is 2.0.0. This package may not be compatible with your dbt version. dbt(1065) [Ln 1, Col 1]

Дополнительная информация о dbt v2​

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

0
Loading