Что такое 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, используя Delta Live Tables, платформу в Databricks для объявления конвейеров данных.
- Инфраструктура: конфигурация инфраструктуры включает определения и сведения о подготовке кластеров, рабочих областей и хранилища для целевых сред. Изменения инфраструктуры можно проверять и тестировать как часть конвейера CI/CD, обеспечивая согласованность и отсутствие ошибок.
Шаги по CI/CD в Azure Databricks
Типичный поток для конвейера CI/CD Azure Databricks включает следующие действия.
- Магазин: храните код и записные книжки Azure Databricks в системе управления версиями, например Git. Это позволяет отслеживать изменения с течением времени и сотрудничать с другими участниками команды. См . методы CI/CD с папками Git и Databricks Git (Repos) и параметрами пакета Git.
- Код. Разработка тестов кода и модульных тестов в записной книжке Azure Databricks в рабочей области или локально с помощью внешней интегрированной среды разработки. Azure Databricks предоставляет расширение Visual Studio Code, которое упрощает разработку и развертывание изменений в рабочих областях Azure Databricks.
- Сборка. Используйте параметры пакетов ресурсов Databricks для автоматического создания определенных артефактов во время развертывания. См . артефакты. Кроме того, Pylint расширен с подключаемым модулем Databricks Labs pylint, помогая применять стандарты программирования и обнаруживать ошибки в записных книжках Databricks и коде приложения.
- Развертывание. Развертывание изменений в рабочей области Azure Databricks с помощью пакетов ресурсов Databricks в сочетании с такими инструментами, как Azure DevOps, Jenkins или GitHub Actions. См . режимы развертывания пакета ресурсов Databricks.
- Тест. Разработка и запуск автоматических тестов для проверки изменений кода с помощью таких средств, как pytest. Чтобы протестировать интеграцию с API рабочей области, подключаемый модуль Databricks Labs pytest позволяет создавать объекты рабочей области и очищать их после завершения тестов.
- Запуск. Используйте интерфейс командной строки Databricks вместе с пакетами ресурсов Databricks для автоматизации выполнения в рабочих областях Azure Databricks. См. статью "Запуск задания или конвейера".
- Мониторинг. Мониторинг производительности кода и рабочих процессов в Azure Databricks с помощью таких средств, как Azure Monitor или Datadog. Это помогает выявлять и устранять любые проблемы, возникающие в рабочей среде.
- Итерация: вносите небольшие, часто повторяющиеся изменения для улучшения и обновления проекта по инженерии данных или анализа данных. Небольшие изменения проще откатить, чем большие.
Дополнительные ссылки
Дополнительные сведения об управлении жизненным циклом ресурсов и данных Azure Databricks см. в следующей документации по средствам CI/CD и конвейера данных.
Площадь | Используйте эти средства, если вам нужны следующие возможности. |
---|---|
Пакеты активов Databricks | Программное определение, развертывание и запуск заданий Azure Databricks, конвейеров Delta Live Tables и 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 используйте субъекты-службы вместо пользователей. |