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

Обновление до v1.0

Ресурсы​

Что нужно знать перед обновлением​

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

Переименованные поля в dbt_project.yml​

Эти изменения затрагивают всех:

  • model-paths заменяет source-paths в dbt-project.yml.
  • seed-paths заменяет data-paths в dbt-project.yml; значение по умолчанию — seeds.
  • Параметр modules-path переименован в packages-install-path. Кроме того, значение по умолчанию теперь dbt_packages, а не dbt_modules. Возможно, вам потребуется обновить это значение в clean-targets.
  • Значение по умолчанию для quote_columns теперь True для всех адаптеров, кроме Snowflake.

А эти, скорее всего, вас не затронут:

  • Значение по умолчанию для test-paths изменено на форму множественного числа — tests.
  • Значение по умолчанию для analysis-paths изменено на форму множественного числа — analyses.

Тесты​

Два типа тестов теперь называются «singular» (единичные) и «generic» (универсальные) вместо «data» и «schema» соответственно. Метод выбора test_type: принимает значения test_type:singular и test_type:generic. (Для обратной совместимости он также принимает test_type:schema и test_type:data.) Без обратной совместимости: флаги --data и --schema команды dbt test больше не поддерживаются, а теги 'data' и 'schema' больше не присваиваются тестам автоматически. Обновлённая документация: тесты данных, выбор тестов, методы выбора.

Флаг/свойство greedy переименован в indirect_selection, значение которого по умолчанию теперь eager. Примечание: это возвращает выбор тестов по умолчанию к поведению, которое было до v0.20. Команда dbt test -s my_model будет выбирать тесты с несколькими родительскими ресурсами, например relationships, которые зависят от невыбранных ресурсов. Чтобы получить поведение, введённое в v0.20 и v0.21, задайте --indirect-selection=cautious в CLI или indirect_selection: cautious в селекторах YAML. Обновлённая документация: примеры выбора тестов, селекторы YAML.

Глобальные макросы​

Глобальные макросы проекта реорганизованы, а некоторые старые неиспользуемые макросы удалены: column_list, column_list_for_create_table, incremental_upsert. Это вряд ли повлияет на ваш проект.

Установка​

  • Документация по установке отражает особенности установки отдельных адаптеров
  • Команда python -m pip install dbt больше не поддерживается и будет выдавать явную ошибку. Установите нужный плагин адаптера с помощью python -m pip install dbt-<adapter>.
  • Команда brew install dbt больше не поддерживается. Установите нужный плагин адаптера (Postgres, Redshift, Snowflake или BigQuery) с помощью brew install dbt-<adapter>.
  • Прекращена официальная поддержка Python 3.6, жизненный цикл которого заканчивается 23 декабря 2021 года

Для пользователей плагинов адаптеров​

  • BigQuery: поддержка таблиц, секционированных по времени загрузки данных, официально объявлена устаревшей в пользу современных подходов. Вместо этого используйте partition_by и стратегии инкрементального моделирования. Дополнительные сведения см. в разделе Инкрементальные модели.

Для разработчиков плагинов и других интеграций​

Мы представили новый интерфейс структурированных событий и перевели всё журналирование dbt на эту новую систему. Это включает изменение, нарушающее обратную совместимость плагинов адаптеров, для которого потребуется очень простая миграция. Подробнее см. в README модуля events. Если вы поддерживаете плагин другого типа, которому необходимо прежнее журналирование, пока что вы можете снова включить его с помощью переменной окружения (DBT_ENABLE_LEGACY_LOGGER=True); учтите, что мы удалим эту возможность в одной из будущих версий dbt.

dbt RPC Server выделен из dbt-core и теперь поставляется отдельным пакетом. Его функциональность будет полностью выведена из эксплуатации к концу 2022 года в пользу нового dbt Server. Вместо dbt rpc используйте dbt-rpc serve.

Артефакты: новые схемы (manifest v4, run results v4, sources v3). Основные изменения: добавлены узлы metrics; узлы schema test и data test переименованы в узлы generic test и singular test; значения порогов свежести по умолчанию выглядят немного иначе.

Прекращение поддержки давно устаревших возможностей​

Ряд внутренних механизмов из предыдущих минорных версий, для которых выводились предупреждения об устаревании, теперь окончательно выведен из эксплуатации.

  • Аргумент packages функции dispatch больше не поддерживается, и его использование приведёт к исключению.
  • Макрос "adapter_macro" больше не поддерживается. Вместо него используйте метод dispatch, чтобы найти макрос и вызвать полученный результат.
  • Аргумент release удалён из метода execute_macro.

Новые возможности и изменения в документации​

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

0
Loading