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

Обновление версий в dbt platform

В dbt и задания, и среды настроены на использование определённой версии dbt. Эту версию можно обновить в любой момент.

Среды​

Перейдите на страницу настроек среды и нажмите Edit. Откройте раскрывающийся список dbt version и выберите нужный вариант. Вы можете выбрать канал выпусков, чтобы регулярно получать обновления (рекомендуется), или одну из устаревших версий dbt v1. Обязательно сохраните изменения, прежде чем покинуть страницу.

Пример настроек среды в dbtПример настроек среды в dbt

Каналы выпусков​

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

dbt Labs рекомендует сначала тестировать обновление в среде разработки: используйте настройку Override dbt version, чтобы проверить свой проект на последней версии dbt, прежде чем обновлять среды развёртывания и среду разработки по умолчанию для всех коллег.

Переопределение версии dbt​

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

  1. Нажмите на имя своей учётной записи на левой панели и выберите Account settings.
  2. Выберите Credentials на боковой панели, затем выберите проект. Откроется боковая панель.
  3. На открывшейся боковой панели нажмите Edit и прокрутите до раздела User development settings.
  4. Выберите версию в раскрывающемся списке dbt version и нажмите Save.

Пример переопределения настроенной версии на канал выпусков v1 Latest для выбранного проекта:

Пример переопределения версии dbt для вашей учётной записиПример переопределения версии dbt для вашей учётной записи
  1. (Необязательно) Убедитесь, что dbt будет использовать переопределённую версию для сборки проекта: выполните команду dbt build в командной строке Studio IDE. Разверните раздел System Logs и найдите первую строку вывода. Она должна начинаться с Running with dbt= и содержать версию, которую использует dbt.

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

dbt v2​

dbt Labs представила новый dbt v2 — полностью переработанную с нуля реализацию dbt. Сейчас она общедоступна для проектов Snowflake, BigQuery, Redshift и Databricks. Для других поддерживаемых адаптеров в dbt platform она доступна в предварительной версии. Клиенты, соответствующие условиям доступа, могут обновить среды до dbt v2 так же, как и для v1.x, но при этом следует помнить:

  • Если среди доступных вариантов нет канала выпусков v2 Stable, уточните условия доступа у команды dbt Labs, которая сопровождает вашу учётную запись.

  • Чтобы повысить совместимость проекта, переведите все задания и среды на канал выпусков v1 Latest и ознакомьтесь с изменениями в нашем руководстве по обновлению.

  • Убедитесь, что вы используете поддерживаемый адаптер и способ аутентификации:

     BigQuery
     Databricks
    • Сервисный аккаунт / Токен пользователя
    • Встроенный OAuth
     Redshift
    • Имя пользователя / Пароль
    • Профиль IAM
     Snowflake
    • Имя пользователя / Пароль
    • Встроенный OAuth
    • Внешний OAuth
    • Пара ключей с использованием современного формата PKCS#8
    • MFA
     ClickHouseЗакрытая бета-версия
    • Имя пользователя / Пароль
    Жизненный цикл адаптера может различаться в dbt platform и при локальной разработке — адаптер может стать общедоступным (GA) в dbt platform раньше, чем для локального использования.
  • После обновления сред разработки до v2 Stable каждому пользователю потребуется перезапустить IDE.

    Обновление до v2 в настройках среды.Обновление до v2 в настройках среды.

Обновление сред до dbt v2​

Когда вы будете готовы обновить свои проекты до dbt v2, в интерфейсе dbt platform вам будут доступны инструменты, которые помогут начать работу. Помощник по обновлению до dbt v2 проведёт вас через процесс подготовки и обновления проектов.

Помощник по обновлению до v2.Помощник по обновлению до v2.

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

Чтобы воспользоваться помощником по обновлению и другими инструментами обновления, необходимо выполнить следующие условия:

  • Ваш проект dbt должен быть переведён на канал выпусков v1 Latest.
  • У вас должна быть лицензия developer.
  • У вас должен быть соответствующий набор разрешений для выполнения отдельных задач обновления. Миграция на dbt v2 — многоэтапный процесс, и некоторые его шаги могут выполняться в разных проектах разными пользователями:
Задача обновленияНеобходимые разрешенияПоддерживаемые наборы разрешений
Включение доступа к dbt v2 (запускает процессы миграции)dbt v2 readiness: write
Projects: write
Admin, Account Admin и все пользователи с назначенным набором v2 Migration Admin, если их базовая роль также предоставляет доступ write к проектам
Просмотр готовности к dbt v2 и возможности запуска заданийdbt v2 readiness: readDeveloper, Admin, Member, Account Admin, v2 Migration Admin
Действие задания Run once on dbt v2Runs: writeJob Admin, Job Runner, Admin, Member, Project Creator, Account Admin
Включение v2 Stable для средыEnvironments: writeJob Admin, Admin, Member, Project Creator, Account Admin

Предоставление доступа к обновлению​

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

Шаг 1: включите функции проверки готовности к dbt v2 (обязательно)

Помощник по обновлению и панель готовности появляются только после включения этой настройки. В разделе Account settings:

  1. Перейдите на страницу Account.
  2. Нажмите Edit и прокрутите до раздела Settings.
  3. Установите флажок рядом с Enable dbt v2 readiness & upgrade features.
  4. Нажмите Save.

После включения все администраторы и разработчики смогут видеть статус готовности каждого проекта к v2, а также какие задания подходят или не подходят для dbt v2. Администраторы также смогут запускать обновление до dbt v2 из сред разработки, настроек сред и настроек заданий (с учётом существующих разрешений пользователя). Пользователи с лицензией разработчика получат доступ к инструментам отладки, которые помогут обеспечить совместимость проектов с dbt v2 как в средах разработки, так и в производственных средах.

Шаг 2: ограничьте доступ к обновлению (необязательно, только для Enterprise/Enterprise+)

По умолчанию все администраторы и пользователи с лицензией разработчика имеют доступ к проверке готовности к dbt v2 и процессу обновления. Чтобы разрешить выполнение обновления только пользователям с набором разрешений v2 Migration Admin, включите эту дополнительную настройку. В разделе Account settings:

  1. Перейдите на страницу Account.
  2. Нажмите Edit и прокрутите до раздела Settings.
  3. Установите флажок рядом с Enable restricted dbt v2 upgrade permissions.
  4. Нажмите Save.

Это скроет процессы обновления до dbt v2 от пользователей, у которых нет набора разрешений v2 Migration Admin. Чтобы предоставить доступ к процессам обновления для определённых проектов и/или определённых пользователей:

  1. Откройте существующую группу в разделе Account settings и нажмите Edit или нажмите Create group, чтобы создать новую группу.
  2. Прокрутите до раздела Access and permissions и нажмите Add permission.
  3. Выберите набор разрешений v2 Migration Admin в раскрывающемся списке, затем выберите проекты, к которым нужно предоставить доступ пользователям.
  4. Нажмите Save.

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

Обновление среды разработки​

Чтобы начать обновление до dbt v2 с помощью помощника:

  1. На главной странице проекта нажмите кнопку Start dbt v2 upgrade или Upgrade. Вы будете перенаправлены в Studio IDE.
  2. В верхней части Studio IDE нажмите Check deprecation warnings.
Начало разбора проекта для выявления предупреждений об устаревших возможностях.Начало разбора проекта для выявления предупреждений об устаревших возможностях.
  1. dbt выполняет разбор проекта для выявления устаревших возможностей и выводит список всех соответствующих предупреждений, а также предлагает действие Autofix warnings. Автоматическое исправление пытается устранить все синтаксические ошибки. Подробнее см. в разделе Исправление предупреждений об устаревших возможностях.
  2. После устранения всех предупреждений об устаревших возможностях нажмите кнопку Upgrade to dbt v2. Ваша среда разработки будет обновлена до dbt v2!
Теперь всё готово к обновлению вашей среды разработки до v2!Теперь всё готово к обновлению вашей среды разработки до v2!

Теперь, когда ваша среда разработки обновлена до dbt v2, вы можете начать обновление сред Production, Staging и General. Следуйте стандартным процедурам вашей организации и используйте каналы выпусков для обновления.

Включите панель готовности к dbt v2

Панель готовности к dbt v2 показывает статус готовности каждого проекта к переходу и блокирующие проблемы в dbt platform. Она внедряется поэтапно — если она ещё не включена для вашей учётной записи, администратор учётной записи может включить её в разделе Account settings → Account. Инструкции по настройке см. в разделе Включение функций проверки готовности к dbt v2.

Если у вас есть доступ к dbt Wizard, используйте процесс миграции на dbt v2 с помощью dbt Wizard, чтобы исправлять ошибки совместимости непосредственно в Studio IDE с помощью dbt Wizard — без необходимости вручную анализировать журналы!

Что следует учитывать при обновлении​

В процессе обновления учитывайте следующее:

  • Совместимость манифеста — dbt v2 создает манифест версии v12, совместимый с dbt v1. Единственное отличие — необязательные поля, специфичные для dbt v2: их записывает только dbt v2, а dbt v1 корректно их игнорирует.

    Поэтому вы можете использовать dbt v2 и dbt v1 параллельно. Функции, зависящие от состояния, такие как state:modified, --defer и выполнение dbt docs generate с использованием состояния из другого окружения, работают в смешанных окружениях dbt v2 и dbt v1. Это позволяет переходить на dbt v2 постепенно, не нарушая работу существующих заданий dbt v1.

Оркестрация с учетом состояния теперь называется dbt State

dbt State работает со всеми движками и окружениями: dbt v1, dbt platform и dbt v2.

Если вы использовали оркестрацию с учетом состояния до 1 июня 2026 года, вы можете продолжать ею пользоваться. Когда вы начнете бесплатный пробный период dbt State, он будет продлен сверх стандартных 30 дней. Если для вашей учетной записи продление не применено, обратитесь к команде по работе с вашим клиентским аккаунтом. Чтобы начать, ознакомьтесь с разделом Переход с оркестрации с учетом состояния.

Задания​

Каждое задание в dbt можно настроить так, чтобы оно наследовало параметры среды, к которой относится.

Настройки задания dbtНастройки задания dbt

Пример задания на снимке экрана выше относится к среде "Prod". Оно наследует версию dbt своей среды, что отражено выбранным вариантом Inherited from ENVIRONMENT_NAME (DBT_VERSION). Вы также можете вручную переопределить версию dbt для отдельного задания, выбрав в раскрывающемся списке любую другую текущую версию dbt v1, поддерживаемую в Cloud.

Поддерживаемые версии​

dbt Labs всегда рекомендовала пользователям обновлять dbt v1 при выходе каждой новой минорной версии. Мы выпустили первую мажорную версию dbt — dbt 1.0 — в декабре 2021 года. Одновременно с этим выпуском мы обновили политику поддержки версий dbt v1 в dbt platform.

Начиная с v1.0, все последующие минорные версии доступны в dbt. Версии активно поддерживаются, получая патчи и исправления ошибок, в течение 1 года после первоначального выпуска. По завершении этого годового периода мы рекомендуем всем пользователям перейти на более новую версию, чтобы и дальше получать качественное сопровождение и поддержку.

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

  • Активная поддержка: В первые несколько месяцев после первоначального выпуска минорной версии мы выпускаем для неё патч-релизы с исправлениями ошибок. Они включают исправления регрессий, новых и ранее обнаруженных ошибок, а также улучшения удобства использования. Мы вносим такие изменения, когда с высокой уверенностью можем утверждать, что они имеют узкую область воздействия и не вызовут непредвиденных побочных эффектов.
  • Критическая поддержка: После выхода новой минорной версии предыдущая переходит в режим «Критическая поддержка» на оставшуюся часть годового периода поддержки. В этот период патч-релизы ограничиваются критическими исправлениями безопасности и проблем установки. По истечении годового периода жизненный цикл версии завершается.
  • Завершение жизненного цикла: Минорные версии, жизненный цикл которых завершён (EOL), больше не получают новых патч-релизов.
  • Устаревшие версии: Версии dbt v1, которые больше не обслуживаются dbt Labs и не поддерживаются в dbt platform.

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

Последние выпуски​

dbt v1Дата первого выпускаУровень поддержки и дата её окончания
v1.13(скоро)Бета-версия
v1.1216 июля 2026 г.Активная поддержка — 15 июля 2027 г.
v1.1119 декабря 2025 г.Поддержка критических исправлений — 18 декабря 2026 г.
v1.1016 июня 2025 г.Выведена из эксплуатации ⛔️
v1.99 декабря 2024 г.Выведена из эксплуатации ⛔️
v1.89 мая 2024 г.Выведена из эксплуатации ⛔️
v1.72 ноября 2023 г.Срок поддержки истёк ⚠️
Дата вывода из эксплуатации: January 31, 2027
v1.631 июля 2023 г.Срок поддержки истёк ⚠️
Дата вывода из эксплуатации: January 31, 2027
v1.527 апреля 2023 г.Срок поддержки истёк ⚠️
Дата вывода из эксплуатации: January 31, 2027
v1.425 января 2023 г.Срок поддержки истёк ⚠️
Дата вывода из эксплуатации: January 31, 2027
v1.312 октября 2022 г.Срок поддержки истёк ⚠️
Дата вывода из эксплуатации: January 31, 2027
v1.226 июля 2022 г.Выведена из эксплуатации ⛔️
v1.128 апреля 2022 г.Выведена из эксплуатации ⛔️
v1.03 декабря 2021 г.Выведена из эксплуатации ⛔️
v0.X ⛔️(разные даты)Выведена из эксплуатации ⛔️

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

1 Использование каналов обновлений обязательно для тарифных планов Developer и Starter в dbt. Учётные записи, использующие более старые версии dbt, будут переведены на канал обновлений v1 Latest.

Для клиентов dbt: dbt Labs настоятельно рекомендует переводить среды со старых и неподдерживаемых версий на каналы обновлений или поддерживаемую версию. С January 31, 2027 dbt Labs выведет из эксплуатации версии v1 с v1.3 по v1.7, после чего они станут недоступны в dbt platform.

Начиная с v1.0, dbt гарантирует, что вы всегда используете последние совместимые патч-релизы dbt-core и плагинов, включающие все актуальные исправления. Вы также можете попробовать предварительные версии этих патч-релизов до того, как они станут общедоступными.

Подробнее о поддержке версий и будущих выпусках см. в разделе Обзор версий dbt v1.

Нужна помощь с обновлением?​

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

Тестирование изменений перед обновлением​

Определив, какие изменения необходимо внести в код, вы можете приступить к их реализации. Мы рекомендуем:

  • Создайте отдельный проект dbt, "Upgrade project", чтобы протестировать изменения, прежде чем применять их в основном проекте dbt.
  • В проекте "Upgrade project" подключитесь к тому же репозиторию, который используется для вашего производственного проекта.
  • Задайте в настройках среды разработки последнюю версию dbt v1.
  • Переключитесь на ветку dbt-version-upgrade, внесите необходимые изменения в проект и убедитесь, что ваш проект dbt компилируется и выполняется с новой версией в Studio IDE.
    • Если обновление сразу до последней версии вызывает слишком много проблем, попробуйте последовательно тестировать проект на каждой следующей минорной версии. Между далеко отстоящими друг от друга версиями dbt v1 (например, 1.0 --> 1.10) лежат годы разработки и несколько изменений, нарушающих обратную совместимость. Вероятность возникновения проблем при переходе между соседними минорными версиями значительно ниже, поэтому рекомендуется обновляться регулярно.
  • После того как проект будет компилироваться и выполняться на последней версии dbt в среде разработки для ветки dbt-version-upgrade, попробуйте создать копию одного из производственных заданий и настроить её на запуск кода из этой ветки.
  • Для этого создайте новую среду развёртывания для тестирования, установите переключатель пользовательской ветки в положение 'ON' и укажите ветку dbt-version-upgrade. В этой среде также необходимо выбрать последнюю версию dbt v1.
Настройка тестовой средыНастройка тестовой среды
  • Затем добавьте в новую тестовую среду задание, повторяющее одно из производственных заданий, на которые полагается ваша команда.
    • Если задание выполняется без проблем, всё готово к слиянию вашей ветки с main.
    • Затем настройте среды разработки и развёртывания в основном проекте dbt на использование последней версии dbt v1.

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

0
Loading