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


Что такое 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. Вы можете запускать автоматические тесты для записных книжек, чтобы проверка, работают ли они должным образом.
  • Библиотеки. Управление зависимостями библиотеки , необходимыми для запуска развернутого кода. Используйте управление версиями для библиотек и включите их в автоматизированное тестирование и проверку.
  • Рабочие процессы. Рабочие процессы Databricks состоят из заданий, которые позволяют планировать и запускать автоматизированные задачи с помощью записных книжек или заданий Spark.
  • Конвейеры данных. Также можно включить конвейеры данных в автоматизацию CI/CD, используя разностные динамические таблицы, платформу 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 для автоматического создания определенных артефактов во время развертывания. См . артефакты.
  4. Развертывание. Развертывание изменений в рабочей области Azure Databricks с помощью пакетов ресурсов Databricks в сочетании с такими инструментами, как Azure DevOps, Jenkins или GitHub Actions. См . режимы развертывания пакета ресурсов Databricks.
  5. Тест. Разработка и запуск автоматических тестов для проверки изменений кода с помощью таких средств, как pytest.
  6. Запуск. Используйте интерфейс командной строки Databricks вместе с пакетами ресурсов Databricks для автоматизации выполнения в рабочих областях Azure Databricks. См. статью "Запуск пакета".
  7. Мониторинг. Мониторинг производительности кода и рабочих процессов в Azure Databricks с помощью таких средств, как Azure Monitor или Datadog. Это помогает выявлять и устранять любые проблемы, возникающие в рабочей среде.
  8. Итерация. Сделайте небольшие, частые итерации для улучшения и обновления проекта по обработке и анализу данных. Небольшие изменения проще откатить, чем большие.

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

Площадь Используйте эти средства, если вам нужны следующие возможности.
Пакеты активов Databricks Программное определение, развертывание и запуск заданий Azure Databricks, конвейеров Delta Live Tables и MLOps Stacks с помощью рекомендаций и рабочих процессов CI/CD.
Рабочие процессы CI/CD с папками Git и Databricks Используйте папки GitHub и Databricks Git для управления версиями и рабочих процессов CI/CD.
Непрерывная интеграция и доставка в 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 используйте субъекты-службы вместо пользователей.