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

Интеграция с другими инструментами оркестрации

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

Установите и настройте эти инструменты для автоматизации ваших рабочих процессов с данными, запускайте dbt задачи (включая те, которые размещены в dbt Cloud) и наслаждайтесь беспроблемной работой, экономя время и повышая эффективность.

Airflow

Если ваша организация использует Airflow, существует несколько способов запуска dbt задач, включая:

Установка провайдера dbt Cloud для оркестрации задач dbt Cloud. Этот пакет содержит множество Hooks, Operators и Sensors для выполнения различных действий в dbt Cloud.

Airflow DAG с использованием DbtCloudRunJobOperatorAirflow DAG с использованием DbtCloudRunJobOperator
Задача dbt Cloud, запущенная AirflowЗадача dbt Cloud, запущенная Airflow

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

Серверы автоматизации

Серверы автоматизации (такие как CodeDeploy, GitLab CI/CD (видео), Bamboo и Jenkins) могут использоваться для планирования bash команд для dbt. Они также предоставляют интерфейс для просмотра логов в командной строке и интеграции с вашим git-репозиторием.

Azure Data Factory

Интегрируйте dbt Cloud и Azure Data Factory (ADF) для плавного процесса обработки данных от их загрузки до трансформации. Вы можете без проблем запускать задачи dbt Cloud после завершения задач загрузки данных, используя API dbt в ADF.

Следующее видео предоставляет подробный обзор того, как запускать задачу dbt Cloud через API в Azure Data Factory.

Чтобы использовать API dbt для запуска задачи в dbt Cloud через ADF:

  1. В dbt Cloud перейдите в настройки задачи ежедневного производства и отключите запланированный запуск в разделе Trigger.
  2. Создайте конвейер в ADF для запуска задачи dbt Cloud.
  3. Безопасно получите токен сервиса dbt Cloud из хранилища ключей в ADF, используя веб-вызов в качестве первого шага в конвейере.
  4. Установите параметры в конвейере, включая ID аккаунта dbt Cloud и ID задачи, а также имя хранилища ключей и секрет, содержащий токен сервиса.
    • Вы можете найти ID задачи и аккаунта dbt Cloud в URL, например, если ваш URL https://YOUR_ACCESS_URL/deploy/88888/projects/678910/jobs/123456, то ID аккаунта 88888, а ID задачи 123456.
  5. Запустите конвейер в ADF, чтобы начать задачу dbt Cloud и отслеживать статус задачи dbt Cloud в ADF.
  6. В dbt Cloud вы можете проверить статус задачи и как она была запущена в dbt Cloud.

Cron

Cron — это неплохой способ планирования bash команд. Однако, хотя это может показаться простым способом планирования задачи, написание кода для учета всех дополнительных функций, связанных с производственным развертыванием, часто делает этот путь более сложным по сравнению с другими вариантами, перечисленными здесь.

Dagster

Если ваша организация использует Dagster, вы можете использовать библиотеку dagster_dbt для интеграции команд dbt в ваши конвейеры. Эта библиотека поддерживает выполнение dbt через dbt Cloud или dbt Core. Запуск dbt из Dagster автоматически агрегирует метаданные о ваших запусках dbt. Обратитесь к примеру конвейера для получения подробной информации.

Рабочие процессы Databricks

Используйте рабочие процессы Databricks для вызова API задач dbt Cloud, что имеет несколько преимуществ, таких как интеграция с другими процессами ETL, использование функций задач dbt Cloud, разделение обязанностей и пользовательский запуск задач на основе пользовательских условий или логики. Эти преимущества приводят к большей модульности, эффективной отладке и гибкости в планировании задач dbt Cloud.

Для получения дополнительной информации обратитесь к руководству по рабочим процессам Databricks и задачам dbt Cloud.

Kestra

Если ваша организация использует Kestra, вы можете использовать плагин dbt для оркестрации задач dbt Cloud и dbt Core. Пользовательский интерфейс (UI) Kestra имеет встроенные Blueprints, предоставляющие готовые к использованию рабочие процессы. Перейдите на страницу Blueprints в левом меню навигации и выберите тег dbt, чтобы найти несколько примеров планирования команд dbt Core и задач dbt Cloud в рамках ваших конвейеров данных. После каждого запланированного или разового выполнения рабочего процесса вкладка Outputs в UI Kestra позволяет загружать и просматривать все артефакты сборки dbt. Вид Gantt и Topology дополнительно отображает метаданные для визуализации зависимостей и времени выполнения ваших моделей и тестов dbt. Задача dbt Cloud предоставляет удобные ссылки для легкой навигации между Kestra и UI dbt Cloud.

Orchestra

Если ваша организация использует Orchestra, вы можете запускать задачи dbt, используя API dbt Cloud. Создайте API токен из вашего аккаунта dbt Cloud и используйте его для аутентификации Orchestra в портале Orchestra. Для получения подробной информации обратитесь к документации Orchestra о dbt Cloud.

Orchestra автоматически собирает метаданные из ваших запусков, чтобы вы могли просматривать ваши задачи dbt в контексте остальной части вашего стека данных.

Ниже приведен пример деталей запуска в dbt Cloud для задачи, запущенной Orchestra:

Пример запуска задачи dbt с помощью OrchestraПример запуска задачи dbt с помощью Orchestra

Ниже приведен пример просмотра родословной в Orchestra для задач dbt:

Пример просмотра родословной для задач dbt в OrchestraПример просмотра родословной для задач dbt в Orchestra

Prefect

Если ваша организация использует Prefect, способ запуска ваших задач зависит от версии dbt, которую вы используете, и от того, оркестрируете ли вы задачи dbt Cloud или dbt Core. Ознакомьтесь с различными вариантами:

Prefect DAG с использованием потока выполнения задачи dbt CloudPrefect DAG с использованием потока выполнения задачи dbt Cloud

Prefect 2

Задача dbt Cloud, запущенная PrefectЗадача dbt Cloud, запущенная Prefect

Prefect 1

  • Запускайте задачи dbt Cloud с помощью задачи DbtCloudRunJob.
  • Запуск этой задачи создаст артефакт в формате markdown, доступный для просмотра в UI Prefect.
  • Артефакт будет содержать ссылки на артефакты dbt, созданные в результате выполнения задачи.

Связанные документы

0