Интеграция с другими инструментами оркестрации
Наряду с dbt существуют и другие способы планирования и запуска ваших dbt‑задач с помощью инструментов, подобных тем, которые описаны на этой странице.
Создавайте и устанавливайте эти инструменты, чтобы автоматизировать ваши data‑workflow, запускать dbt‑задачи (в том числе размещённые в dbt) и получать удобный, не требующий лишних усилий опыт, экономя время и повышая эффективность.
Airflow
Если ваша организация использует Airflow, существует несколько способов запуска dbt задач, включая:
- dbt platform
- dbt Core
Установка провайдера dbt для оркестрации заданий dbt. Этот пакет содержит несколько Hooks, Operators и Sensors для выполнения различных действий внутри dbt.
Запуск задач dbt Core через BashOperator. В этом случае обязательно установите dbt в виртуальное окружение, чтобы избежать проблем с конфликтующими зависимостями между Airflow и dbt.
Для получения более подробной информации о каждом из этих методов, включая примеры реализации, ознакомьтесь с этим руководством.
Серверы автоматизации
Серверы автоматизации (такие как CodeDeploy, GitLab CI/CD (видео), Bamboo и Jenkins) могут использоваться для планирования bash команд для dbt. Они также предоставляют интерфейс для просмотра логов в командной строке и интеграции с вашим git-репозиторием.
Azure Data Factory
Интегрируйте dbt и Azure Data Factory (ADF), чтобы обеспечить плавный процесс работы с данными — от их загрузки до трансформации. Вы можете автоматически запускать задания dbt после завершения задач по загрузке данных, используя dbt API в ADF.
Следующее видео предоставляет подробный обзор того, как запускать задание dbt через API в Azure Data Factory.
Чтобы использовать API dbt для запуска задачи в dbt Cloud через ADF:
Чтобы использовать API dbt для запуска задания в dbt через ADF:
- В dbt перейдите в настройки задания для ежедневного продакшн‑задания и отключите запланированный запуск в разделе Trigger.
- Создайте пайплайн в ADF, который будет запускать задание dbt.
- Безопасно получите сервисный токен dbt из хранилища ключей (key vault) в ADF, используя web‑вызов в качестве первого шага пайплайна.
- Задайте параметры пайплайна, включая ID аккаунта dbt и ID задания, а также имя key vault и секрета, в котором хранится сервисный токен.
- Вы можете найти ID задания и ID аккаунта dbt в URL. Например, если ваш URL —
https://YOUR_ACCESS_URL/deploy/88888/projects/678910/jobs/123456, то ID аккаунта — 88888, а ID задания — 123456.
- Вы можете найти ID задания и ID аккаунта dbt в URL. Например, если ваш URL —
- Запустите пайплайн в ADF, чтобы стартовать задание dbt, и отслеживайте статус выполнения задания dbt в ADF.
- В dbt вы можете проверить статус задания и посмотреть, каким образом оно было запущено.
Cron
Cron — это неплохой способ планирования bash команд. Однако, хотя это может показаться простым способом планирования задачи, написание кода для учета всех дополнительных функций, связанных с производственным развертыванием, часто делает этот путь более сложным по сравнению с другими вариантами, перечисленными здесь.
Dagster
Если в вашей организации используется Dagster, вы можете применять библиотеку dagster_dbt для интеграции команд dbt в ваши пайплайны. Эта библиотека поддерживает выполнение dbt через dbt или dbt Core. Запуск dbt из Dagster автоматически агрегирует метаданные о запусках dbt. Подробнее см. в примере пайплайна.
Рабочие процессы Databricks
Используйте Databricks Workflows для вызова API заданий dbt, что дает несколько преимуществ: интеграцию с другими ETL‑процессами, использование возможностей заданий dbt, разделение ответственности, а также возможность пользовательского запуска заданий на основе собственных условий или логики. Эти преимущества обеспечивают большую модульность, более эффективную отладку и гибкость при планировании заданий dbt.
Дополнительную информацию см. в руководстве Databricks workflows and dbt jobs.
Kestra
Если в вашей организации используется Kestra, вы можете воспользоваться dbt plugin для оркестрации заданий dbt и dbt Core. Пользовательский интерфейс (UI) Kestra содержит встроенные Blueprints — готовые к использованию рабочие процессы. Перейдите на страницу Blueprints в левом навигационном меню и выберите тег dbt, чтобы найти несколько примеров планирования команд dbt Core и заданий dbt в составе ваших конвейеров данных. После каждого запланированного или ad‑hoc выполнения workflow вкладка Outputs в UI Kestra позволяет скачать и просмотреть все артефакты сборки dbt. Представления Gantt и Topology дополнительно визуализируют метаданные, чтобы показать зависимости и время выполнения ваших моделей и тестов dbt. Задача dbt предоставляет удобные ссылки для быстрого перехода между интерфейсами Kestra и dbt.
Orchestra
Если в вашей организации используется Orchestra, вы можете запускать задания dbt с помощью API dbt. Создайте API‑токен в своей учетной записи dbt и используйте его для аутентификации Orchestra в Orchestra Portal. Подробности см. в документации Orchestra по dbt.
Orchestra автоматически собирает метаданные из ваших запусков, чтобы вы могли просматривать ваши задачи dbt в контексте остальной части вашего стека данных.
Ниже приведён пример деталей выполнения в dbt для задания, запущенного с помощью Orchestra:
Ниже приведен пример просмотра родословной в Orchestra для задач dbt:
Prefect
Если в вашей организации используется Prefect, то способ запуска заданий будет зависеть от версии dbt, которую вы используете, а также от того, оркестрируете ли вы задания dbt или dbt Core. Ниже приведены различные возможные варианты:
Prefect 2
- dbt platform
- dbt Core
- Используйте поток trigger_dbt_cloud_job_run_and_wait_for_completion.
- По мере выполнения задач вы можете опрашивать dbt, чтобы узнать, завершилась ли задача без ошибок, через пользовательский интерфейс Prefect (UI).
- Используйте задачу trigger_dbt_cli_command.
- Для получения подробной информации о каждом из этих методов см. документацию prefect-dbt.
Prefect 1
- dbt platform
- dbt Core
- Запускайте задания dbt с помощью задачи DbtCloudRunJob.
- При выполнении этой задачи будет сгенерирован markdown‑артефакт, доступный для просмотра в интерфейсе Prefect UI.
- Артефакт будет содержать ссылки на dbt‑артефакты, созданные в результате выполнения задания.
- Используйте DbtShellTask для планирования, выполнения и мониторинга ваших запусков dbt.
- Используйте поддерживаемую ShellTask для выполнения команд dbt через оболочку.
Связанные документы
Связанные материалы
- Тарифы и планы dbt
- Руководства по быстрому старту
- Вебхуки для ваших jobs
- Руководства по оркестрации
- Команды для вашего production‑развёртывания





