Переход с dbt Core на платформу dbt: с чего начать
Введение
Переход от dbt Core к dbt упрощает рабочие процессы аналитической инженерии, позволяя командам разрабатывать, тестировать, развёртывать и исследовать аналитические продукты с помощью одного полностью управляемого программного сервиса.
Ознакомьтесь с нашей серией из трёх руководств, посвящённых переходу от dbt Core к dbt. Эта серия идеально подойдёт пользователям, которые стремятся к более упорядоченным рабочим процессам и расширенным возможностям аналитики:
| Loading table... |
Почему стоит перейти на dbt platform?
Если ваша команда сейчас использует dbt Core, вы можете читать это руководство по следующим причинам:
- Вы осознали, насколько обременительным является сопровождение такого развёртывания.
- Человек, который настраивал систему, уже покинул команду.
- Вам интересно, как dbt может помочь лучше управлять сложностью вашего dbt-развёртывания, упростить доступ для большего числа участников или улучшить практики безопасности и управления.
Переход с dbt Core на dbt упрощает рабочие процессы, предоставляя полностью управляемую среду, которая улучшает совместную работу, безопасность и оркестрацию. С dbt вы получаете доступ к таким возможностям, как кросс-командное взаимодействие (dbt Mesh), управление версиями, упрощённый CI/CD, Catalog для получения всесторонних инсайтов и многое другое — всё это облегчает управление сложными dbt-развёртываниями и позволяет эффективно масштабировать ваши data‑workflow.
Это идеальный выбор для команд, стремящихся снизить нагрузку на поддержку собственной инфраструктуры, одновременно улучшая управление и продуктивность.
Чему вы научитесь
Это руководство описывает шаги, которые необходимо выполнить для перехода с dbt Core на dbt, а также выделяет необходимые технические изменения:
- Настройка аккаунта: Узнайте, как создать аккаунт dbt, пригласить участников команды и настроить его под нужды вашей команды.
- Настройка платформы данных: Узнайте, как подключить вашу платформу данных к dbt.
- Настройка Git: Узнайте, как связать Git-репозиторий вашего проекта dbt с dbt.
- Настройка для разработчиков: Ознакомьтесь с настройками, необходимыми для разработки в dbt.
- Переменные окружения: Узнайте, как управлять переменными окружения в dbt, включая их приоритет.
- Настройка оркестрации: Узнайте, как подготовить ваше окружение dbt и задания для оркестрации.
- Конфигурация моделей: Получите представление о проверке и запуске моделей в dbt, используя либо Studio IDE, либо CLI dbt.
- Что дальше?: Содержит краткое изложение ключевых выводов и описание того, чего ожидать в следующих руководствах.
Связанные материалы
- Изучайте dbt — обучение по видео по запросу.
- Запишитесь на демонстрации с экспертами и получите практические инсайты.
- Работайте с командой Professional Services от dbt Labs, чтобы поддержать вашу организацию данных и процесс миграции.
Предварительные требования
- У вас уже есть проект dbt Core, подключённый к репозиторию Git и платформе данных, поддерживаемой в dbt.
- У вас есть учётная запись dbt. Нет учётной записи? Начните бесплатный пробный период уже сегодня!
Настройка аккаунта
В этом разделе описаны шаги по настройке вашей учетной записи dbt и ее конфигурации для вашей команды.
-
Предоставьте пользователям доступ и пригласите пользователей в вашу учетную запись и проект dbt.
-
Настройте Single Sign-On (SSO) или Role-based access control (RBAC) для удобного и безопасного доступа. EnterpriseEnterprise +
- Это устраняет необходимость хранить пароли и секретные переменные окружения локально.
Дополнительная конфигурация
Изучите эти дополнительные конфигурации для улучшения производительности и надежности:
-
В Настройках аккаунта включите частичный парсинг, чтобы перепарсить только измененные файлы, экономя время.
-
В разделе Account settings включите Git repo caching для повышения надежности заданий и защиты от сбоев сторонних сервисов. EnterpriseEnterprise +
Настройка платформы данных
В этом разделе описываются ключевые моменты и подходы к подключению вашей платформы данных к dbt.
-
В dbt настройте подключения к платформе данных и переменные окружения. dbt может подключаться к различным поставщикам платформ данных, включая:
-
Вы можете проверить ваши подключения к платформе данных, нажав кнопку Тестировать подключение в настройках ваших учетных данных для развертывания и разработки.
Дополнительная конфигурация
Изучите эти дополнительные конфигурации для дальнейшей оптимизации настройки вашей платформы данных:
- Используйте OAuth connections, которые обеспечивают безопасную аутентификацию с использованием SSO вашей платформы данных. EnterpriseEnterprise +
Настройка Git
Ваш существующий исходный код проекта dbt должен храниться в репозитории Git. В этом разделе вы подключите исходный код существующего проекта dbt из Git к dbt.
-
Убедитесь, что ваш проект dbt находится в репозитории Git.
-
В Account settings выберите Integrations, чтобы подключить ваш репозиторий Git к dbt:
-
(Рекомендуется) Подключение с помощью одной из нативных интеграций в dbt (например, GitHub, GitLab и Azure DevOps).
Этот способ предпочтителен благодаря своей простоте, функциям безопасности (включая безопасную авторизацию OAuth и автоматизированные процессы, такие как CI-сборки при pull request), а также общей удобству использования.
-
Импортировать репозиторий Git из любого допустимого Git URL, который указывает на проект dbt.
-
Настройка разработчика
В этом разделе описываются конфигурации для разработки, которые понадобятся вам для проекта dbt. В рамках раздела рассматриваются следующие категории:
Окружения dbt
Наиболее распространенные среды данных — это производственная, промежуточная и среда разработки. Способ, которым dbt Core управляет средами, заключается в использовании target, которые представляют собой различные наборы деталей подключения.
Окружения dbt идут дальше за счёт следующего:
- Интеграции с такими возможностями, как планирование заданий или контроль версий, что упрощает управление полным жизненным циклом ваших dbt‑проектов в рамках одной платформы.
- Упрощения процесса переключения между контекстами разработки, стейджинга и продакшена.
- Возможности легко настраивать окружения через UI dbt вместо ручного редактирования файла
profiles.yml. Вы также можете задать или кастомизировать имена target’ов в dbt. - Добавления атрибутов
profiles.ymlв настройки окружений dbt с помощью Extended Attributes. - Использования кэширования Git‑репозиториев для защиты от сбоев сторонних сервисов, ошибок аутентификации Git и других проблем. EnterpriseEnterprise +
Начальные шаги настройки
-
Настройка окружения разработки — Создайте окружение development и учётные данные для разработки. Это необходимо, чтобы получить доступ к вашему dbt‑проекту и начать разработку.
-
Версия dbt Core — В вашем окружении dbt выберите release track для регулярных обновлений версии dbt. Если ваша команда планирует использовать и dbt Core, и dbt для разработки или деплоя dbt‑проекта, вы можете выполнить команду
dbt --versionв командной строке, чтобы узнать, какую версию dbt Core вы используете.- При использовании dbt Core вам нужно самостоятельно следить за версией и управлять обновлениями. При использовании dbt рекомендуется использовать release tracks, чтобы не заниматься этим вручную.
-
Подключение к вашей платформе данных — При использовании dbt вы можете подключиться к вашей платформе данных напрямую через UI.
- Каждое окружение примерно соответствует одной записи в файле
profiles.yml. Это означает, что файлprofiles.ymlв проекте вам не нужен.
- Каждое окружение примерно соответствует одной записи в файле
-
Инструменты разработки — Настройте рабочее пространство для разработки с помощью CLI dbt (интерфейс командной строки или редактор кода) или Studio IDE (в браузере), чтобы писать код dbt, тестировать, запускать и версионировать его в удобном для вас инструменте.
- Если ранее у вас был установлен dbt Core, в документации по установке CLI dbt есть дополнительная информация о том, как установить CLI dbt, создать алиасы или удалить dbt Core для более плавного перехода.
Дополнительная конфигурация
Изучите эти дополнительные конфигурации для дальнейшей оптимизации вашей настройки разработчика:
- Кастомные имена целей — Использование
custom target.namesв ваших проектах dbt помогает идентифицировать различные среды (например, разработка, промежуточная и производственная). Хотя вы можете указать значенияcustom target.nameв ваших учетных данных разработчика или настройке оркестрации, мы рекомендуем использовать переменные окружения как предпочтительный метод. Они предлагают более ясный способ управления различными средами и лучше поддерживаются функцией частичного парсинга dbt, в отличие от использования логики{{ target }}, которая предназначена для определения подключения к хранилищу данных.
Команды dbt
- Ознакомьтесь с командами dbt, которые поддерживаются для разработки в dbt. Например,
dbt initне требуется в dbt, так как вы можете создать новый проект напрямую в dbt.
Переменные окружения
В этом разделе объясняется, как настраивать и управлять переменными окружения dbt для вашего проекта. Рассматриваются следующие категории:
- Переменные окружения в dbt
- Порядок приоритета переменных окружения dbt
- Настройка переменных окружения в dbt
В dbt вы можете задавать переменные окружения через пользовательский интерфейс (UI) dbt. Подробнее см. в разделе Настройка переменных окружения.
В dbt Core переменные окружения или функция env_var определяются вручную разработчиком или в внешнем приложении, выполняющем dbt.
Переменные окружения в dbt
- Переменные окружения dbt должны иметь префикс
DBT_(включаяDBT_ENV_CUSTOM_ENV_илиDBT_ENV_SECRET). - Если ваши переменные окружения dbt Core не следуют этому соглашению об именовании, выполните «find and replace» в вашем проекте, чтобы убедиться, что все ссылки на эти переменные окружения используют корректные соглашения об именовании.
- dbt обеспечивает защиту переменных окружения, которые позволяют более гибко настраивать подключения к хранилищам данных или интеграции с git‑провайдерами, предлагая дополнительные меры для чувствительных значений — например, использование префикса
DBT_ENV_SECRETдля сокрытия таких ключей в логах и пользовательском интерфейсе.
Порядок приоритета переменных окружения dbt
Переменные окружения в dbt управляются с помощью четкого порядка приоритета, который позволяет пользователям задавать значения на четырех уровнях (от высшего к низшему приоритету):
- Уровень задания (job override) или в Studio IDE для отдельного разработчика (personal override). Наивысший приоритет
- Уровень окружения, который может быть переопределен уровнем задания или персональным переопределением.
- Значение по умолчанию для всего проекта, которое может быть переопределено уровнем окружения, уровнем задания или персональным переопределением.
- Необязательный аргумент по умолчанию, передаваемый в Jinja-функцию
env_varв коде. Наименьший приоритет
Настройка переменных окружения в dbt
- Чтобы установить эти переменные для всего проекта или конкретных сред, перейдите в Развертывание > Среды > вкладка Переменные окружения.
- Чтобы установить эти переменные на уровне задания, перейдите в Развертывание > Задания > Выберите ваше задание > Настройки > Расширенные настройки.
- Чтобы установить эти переменные на уровне личного переопределения, перейдите в Настройки профиля > Учетные данные > Выберите ваш проект > Переменные окружения.
Настройка оркестрации
В этом разделе описываются соображения и методы настройки сред и заданий dbt для оркестрации. В рамках раздела рассматриваются следующие категории:
Среды dbt
Чтобы использовать планировщик заданий dbt, настройте одну среду как продакшн‑среду. Это будет среда deployment. Вы можете создать несколько сред для разных этапов конвейера развертывания, например для разработки, staging/QA и production.
Начальные шаги настройки
-
Версия dbt Core — В настройках среды сконфигурируйте dbt с той же версией dbt Core.
- После завершения полной миграции мы рекомендуем перевести ваши среды на release tracks, чтобы всегда получать самые новые возможности и улучшения. Это нужно сделать только один раз.
-
Настройка заданий — Создайте задания для плановых или событийных dbt‑задач. Вы можете использовать выполнение по cron, ручной запуск, запуск по pull request или триггер по завершении другого задания.
- Обратите внимание, что помимо заданий в dbt существуют и другие способы планирования и запуска dbt‑задач с помощью сторонних инструментов. Подробнее см. в разделе Интеграция с другими инструментами.
Дополнительная конфигурация
Изучите следующие дополнительные настройки, чтобы ещё больше оптимизировать оркестрацию в dbt:
-
Пользовательские имена target — Используйте переменные окружения, чтобы задать
custom target.nameдля каждого соответствующего задания dbt на уровне среды. -
Команды dbt — Добавьте необходимые команды dbt для выполнения запусков заданий dbt.
-
Уведомления — Настройте уведомления, настроив оповещения по электронной почте и Slack для мониторинга ваших заданий.
-
Инструменты мониторинга — Используйте инструменты мониторинга, такие как история запусков, повторные попытки заданий, цепочка заданий, плитки статуса на панели и многое другое для бесшовного опыта оркестрации.
-
API access — Создайте API auth tokens и при необходимости получите доступ к dbt APIs. StarterEnterprise
-
Catalog — Если вы используете Catalog и запускаете production‑джобы с помощью внешнего оркестратора, убедитесь, что ваши production‑джобы выполняют
dbt runилиdbt build, чтобы обновлять и просматривать модели и их metadata в Catalog. Запуск одного лишьdbt compileне обновляет метаданные моделей. Кроме того, такие возможности, как lineage на уровне колонок, также требуют наличия метаданных каталога, которые создаются при выполненииdbt docs generate. StarterEnterprise
Настройка CI/CD
Создание собственного решения для эффективной проверки кода при открытии pull request — это сложно. С помощью dbt вы можете включить continuous integration / continuous deployment (CI/CD) и настроить dbt так, чтобы он запускал ваши dbt‑проекты во временной схеме при появлении новых коммитов в открытых pull request.
Эта функция сборки при запросе на слияние — отличный способ поймать ошибки до развертывания в производственной среде и важный инструмент для специалистов по данным.
- Настройте интеграцию с нативным приложением Git (например, Azure DevOps, GitHub, GitLab) и CI‑окружением в dbt.
- Создайте CI/CD‑задачу, чтобы автоматизировать проверки качества перед развертыванием кода в продакшене.
- Запускайте ваши задачи в продакшен‑окружении, чтобы полностью реализовать CI/CD. В дальнейшем pull request’ы также будут использовать результаты последних продакшен‑запусков для сравнения.
Разработка и исследование моделей
В этом разделе вы сможете проверить, корректно ли ваши модели запускаются или компилируются в выбранном вами инструменте для разработки: Studio IDE или dbt CLI.
Вы захотите убедиться, что настроили вашу среду разработки и учетные данные.
-
В выбранном вами инструменте для разработки вы можете просмотреть свой dbt‑проект, убедиться, что он настроен корректно, и запустить несколько dbt commands:
- Запустите
dbt compile, чтобы убедиться, что проект корректно компилируется. - Запустите несколько моделей в Studio IDE или через dbt CLI, чтобы убедиться, что в процессе разработки вы получаете корректные результаты.
- Запустите
-
После того как ваша первая задача успешно отработает в production‑окружении, используйте Catalog, чтобы просмотреть resources вашего проекта (такие как модели, тесты и метрики) и их data lineage, чтобы лучше понять текущее состояние проекта в production. StarterEnterprise
Что дальше?
Поздравляем с завершением первой части перехода на dbt 🎉!
Вы узнали:
- как настроить учетную запись dbt
- как подключить вашу платформу данных и репозиторий Git
- как настроить среды разработки, оркестрации и CI/CD
- как настроить переменные окружения и проверить ваши модели
В качестве следующих шагов вы можете продолжить изучение нашей серии из трех руководств по переходу с dbt Core на dbt:
| Loading table... |
Почему стоит перейти на dbt platform?
Если ваша команда сейчас использует dbt Core, вы можете читать это руководство по следующим причинам:
- Вы осознали, насколько обременительным является сопровождение такого развёртывания.
- Человек, который настраивал систему, уже покинул команду.
- Вам интересно, как dbt может помочь лучше управлять сложностью вашего dbt-развёртывания, упростить доступ для большего числа участников или улучшить практики безопасности и управления.
Переход с dbt Core на dbt упрощает рабочие процессы, предоставляя полностью управляемую среду, которая улучшает совместную работу, безопасность и оркестрацию. С dbt вы получаете доступ к таким возможностям, как кросс-командное взаимодействие (dbt Mesh), управление версиями, упрощённый CI/CD, Catalog для получения всесторонних инсайтов и многое другое — всё это облегчает управление сложными dbt-развёртываниями и позволяет эффективно масштабировать ваши data‑workflow.
Это идеальный выбор для команд, стремящихся снизить нагрузку на поддержку собственной инфраструктуры, одновременно улучшая управление и продуктивность.
Связанные материалы
- Видеокурсы Learn dbt для обучения по запросу.
- Запишитесь на демонстрации под руководством экспертов и получите практические инсайты.
- Работайте с командой Professional Services от dbt Labs, чтобы получить поддержку для вашей организации данных и миграции.
- Сравнение dbt и dbt Core — подробное сопоставление dbt Core и dbt.
- Подпишитесь на RSS-уведомления dbt


