Обновление до v1.3
Версии dbt v1.3-v1.7 достигли конца жизненного цикла, и их поддержка будет прекращена January 31, 2027. После этой даты dbt Labs больше не будет поддерживать эти версии, и они будут удалены из dbt platform.
До этой даты переведите свои окружения на поддерживаемую версию dbt или канал выпусков, чтобы продолжать получать обновления и поддержку. Подробнее см. в руководстве Переход с устаревших версий dbt.
Ресурсы
Что нужно знать перед обновлением
Мы стремимся обеспечивать обратную совместимость для всех версий 1.x. Если при обновлении вы столкнётесь с ошибкой, сообщите нам об этом, создав issue.
В dbt v1.3 есть три изменения, которые могут потребовать действий от некоторых пользователей:
- Если в корневом каталоге, из которого вы запускаете dbt, находится файл
profiles.yml, dbt начнёт отдавать ему предпочтение перед файлом профилей в стандартном расположении на вашем компьютере. Подробнее об этом можно прочитать здесь. - Если в каталогах, указанных в
model-pathsвашего проекта dbt, уже есть файлы.py, dbt начнёт пытаться читать их как модели Python. Вы можете использовать новый файл.dbtignore, чтобы указать dbt игнорировать эти файлы. - Если ваш пользовательский код обращается к свойству моделей
raw_sql(через объекты model или graph), учтите, что оно переименовано вraw_code. Это изменение контракта манифеста, подробнее описанное ниже.
Для пользователей метрик dbt
Названия свойств метрик изменились с сохранением обратной совместимости. Изменения следующие:
typeпереименовано вcalculation_methodsqlпереименовано вexpression- Метод вычисления метрик
expressionпереименован вderived
Мы планируем сохранять обратную совместимость в течение одного полного минорного релиза. Определение метрик с использованием старых названий будет вызывать ошибку в dbt v1.4.
Для пользователей артефактов dbt (метаданных)
Мы обновили версию схемы манифеста до v7. Она включает описанные выше изменения метрик и несколько других изменений, связанных с добавлением моделей Python:
raw_sqlпереименовано вraw_codecompiled_sqlпереименовано вcompiled_code- Добавлено новое свойство узла верхнего уровня —
language('sql'или'python')
Для пользователей выбора на основе состояния: этот релиз включает логику, обеспечивающую обратную и прямую совместимость со старыми версиями манифеста. При работе с dbt v1.3 можно использовать выбор state:modified --state ... с манифестом, созданным в dbt v1.0 и выше.
Для разработчиков плагинов адаптеров
Обсуждение на GitHub с подробностями: dbt-labs/dbt#6011
Новая и обновлённая документация
-
Модели Python впервые получили встроенную поддержку в
dbt-coreдля хранилищ данных, поддерживающих среды выполнения Python. -
Обновления раздела Метрики отражают новый синтаксис их определения, а также дополнительные свойства, которые теперь доступны.
-
Кроме того, внесено несколько связанных обновлений в свойства экспозиций:
config,labelи проверкуname. -
Настраиваемый
node_colorвdbt-docs. Теперь вы впервые можете управлять цветами, отображаемыми в DAG dbt. Хотите бронзовый, серебряный и золотой слои? Всё в ваших руках. -
При поиске
Profiles.ymlтеперь сначала проверяется текущий рабочий каталог, а затем~/.dbt.
Кратко о других изменениях
- Флаг «Полное обновление» поддерживает короткую форму
-f. - Метод выбора «config» поддерживает не только строки, но и логические значения и списки в конфигурации.
- Добавлены две новые переменные контекста dbt-Jinja для доступа к метаданным вызова:
invocation_args_dictиdbt_metadata_envs.