Поделиться через


Что такое CI/CD в Azure Databricks?

В этой статье приведены общие сведения о CI/CD в Databricks. Непрерывная интеграция и непрерывная поставка (CI/CD) — это процесс разработки и поставки программного обеспечения с короткими, частыми циклами посредством конвейеров автоматизации. CI/CD распространен в разработке программного обеспечения и становится все более необходимым в инженерии данных и науке о данных. Автоматизируя сборку, тестирование и развертывание кода, команды разработчиков могут предоставлять выпуски более надежно, чем при использовании ручных процессов, которые по-прежнему распространены для команд по проектированию и обработке и анализу данных.

Azure Databricks рекомендует использовать пакеты ресурсов Databricks для CI/CD, которые позволяют разрабатывать и развертывать сложные данные, аналитику и проекты машинного обучения для платформы Azure Databricks. Пакеты позволяют легко управлять множеством пользовательских конфигураций и автоматизировать сборки, тесты и развертывания проектов в разработках, промежуточных и рабочих областях Azure Databricks.

Обзор проектов CI/CD для проектов машинного обучения в Azure Databricks см. в статье О том, как Databricks поддерживает CI/CD для машинного обучения?.

Что содержит конвейер CI/CD в Azure Databricks?

Пакеты ресурсов Databricks можно использовать для определения и программного управления реализацией CI/CD Azure Databricks, которая обычно включает:

  • Блокноты: Блокноты Azure Databricks часто являются ключевой частью рабочих процессов инженерии данных и науки о данных. Вы можете использовать управление версиями для ноутбуков, а также выполнять их валидацию и тестирование в рамках CI/CD pipeline. Вы можете запускать автоматические тесты для записных книжек, чтобы проверить, работают ли они должным образом.
  • Библиотеки. Управление зависимостями библиотеки , необходимыми для запуска развернутого кода. Используйте управление версиями для библиотек и включите их в автоматизированное тестирование и проверку.
  • Рабочие процессы. Задания Databricks состоят из заданий, которые позволяют планировать и запускать автоматизированные задачи с помощью записных книжек или заданий Spark.
  • конвейеры данных. Вы также можете включить конвейеры данных в автоматизацию CI/CD, используя DLT, фреймворк в Databricks для описания конвейеров данных.
  • Инфраструктура: конфигурация инфраструктуры включает определения и сведения о подготовке кластеров, рабочих областей и хранилища для целевых сред. Изменения инфраструктуры можно проверять и тестировать как часть конвейера CI/CD, обеспечивая согласованность и отсутствие ошибок.

Шаги для CI/CD в Azure Databricks

Типичный поток для конвейера CI/CD Azure Databricks включает следующие действия.

  1. Хранение: храните код и записные книжки Azure Databricks в системе управления версиями, например в Git. Это позволяет отслеживать изменения с течением времени и сотрудничать с другими участниками команды. Смотрите методы CI/CD с папками Git и Databricks Git (Repos) и настройки Git для пакета.
  2. Код: Разработка кода и модульных тестов в блокноте Azure Databricks в рабочей области или локально с помощью внешней интегрированной среды разработки. Azure Databricks предоставляет расширение Visual Studio Code, которое упрощает разработку и развертывание изменений в рабочих областях Azure Databricks.
  3. Сборка: Используйте настройки Databricks Asset Bundles для автоматического создания определённых артефактов во время развертывания. См. артефакты. Кроме того, Pylint, расширенный с помощью плагина pylint от Databricks Labs, помогает применять стандарты программирования и обнаруживать ошибки в ваших записных книжках и коде приложений Databricks.
  4. Развертывание. Развертывание изменений в рабочей области Azure Databricks с помощью пакетов ресурсов Databricks в сочетании с такими инструментами, как Azure DevOps, Jenkins или GitHub Actions. См. режимы развертывания пакета ресурсов Databricks.
  5. Тест. Разработка и запуск автоматических тестов для проверки изменений кода с помощью таких средств, как pytest. Чтобы протестировать интеграцию с API рабочей области, подключаемый модуль Databricks Labs pytest позволяет создавать объекты рабочей области и очищать их после завершения тестов.
  6. Запуск. Используйте интерфейс командной строки Databricks вместе с пакетами ресурсов Databricks для автоматизации выполнения в рабочих областях Azure Databricks. См. Запуск задания или конвейера.
  7. Мониторинг. Мониторинг производительности кода и рабочих процессов в Azure Databricks с помощью таких средств, как Azure Monitor или Datadog. Это помогает выявлять и устранять любые проблемы, возникающие в рабочей среде.
  8. Итерация: вносите небольшие, часто повторяющиеся изменения для улучшения и обновления проекта по инженерии данных или анализа данных. Небольшие изменения проще откатить, чем большие.

Дополнительные сведения об управлении жизненным циклом ресурсов и данных Azure Databricks см. в следующей документации по средствам CI/CD и конвейера данных.

Площадь Используйте эти инструменты, когда вы хотите…
Пакеты активов Databricks Программное определение, развертывание и запуск заданий Azure Databricks, конвейеров DLT и MLOps Stacks с помощью рекомендаций и рабочих процессов CI/CD.
Поставщик Terraform для Databricks Подготовка инфраструктуры и ресурсов Databricks и управление ими с помощью Terraform.
Рабочие процессы CI/CD с папками Git и Databricks Используйте папки GitHub и Databricks Git для управления версиями и рабочих процессов CI/CD.
Проверка подлинности с помощью Azure DevOps в Databricks Проверка подлинности с помощью Azure DevOps.
Используйте учетную запись службы Microsoft Entra для аутентификации доступа к папкам Azure Databricks Git Используйте сервис-принципал MS Entra для аутентификации доступа к папкам Databricks Git.
Непрерывная интеграция и развертывание в Azure Databricks с помощью Azure DevOps Разработка конвейера CI/CD для Azure Databricks, использующего Azure DevOps.
Непрерывная интеграция и доставка с помощью GitHub Actions Разработайте рабочий процесс CI/CD на GitHub, используя GitHub Actions, разработанные для Azure Databricks.
CI/CD с Jenkins на Azure Databricks Разработать конвейер CI/CD для Azure Databricks с использованием Jenkins.
Оркестрация заданий Azure Databricks с помощью Apache Airflow Администрировать и планировать конвейеры данных, использующие Apache Airflow.
Сервисные принципалы для CI/CD С системами CI/CD используйте служебные учетные записи вместо пользователей.