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