Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье перечислены часто задаваемые вопросы о декларативных пакетах автоматизации (ранее известных как наборы ресурсов Databricks).
Почему пакеты ресурсов Databricks переименованы в декларативные пакеты автоматизации?
Новое имя декларативных пакетов автоматизации более точно отражает использование и возможности пакетов. Кроме того, термин активы вызвал некоторую путаницу, так как он имеет несколько значений в Databricks. Это изменение имени не является критическим. Команда bundle CLI и вся ваша существующая конфигурация не требует изменений.
Как использовать декларативные пакеты автоматизации в рамках конвейера CI/CD в Azure Databricks?
Вы можете использовать декларативные пакеты автоматизации для определения и программного управления ресурсами в реализации CI/CD Azure Databricks, которая обычно включает:
- Записные книжки Azure Databricks часто являются ключевой частью рабочих процессов в области инженерии данных и анализа данных. Вы можете использовать управление версиями для ноутбуков, а также проверить и протестировать их в рамках конвейера CI/CD. Вы можете запускать автоматические тесты для записных книжек, чтобы проверить, работают ли они должным образом.
- Библиотеки. Управление зависимостями библиотеки , необходимыми для запуска развернутого кода. Используйте управление версиями для библиотек и включите их в автоматизированное тестирование и проверку.
- Рабочие процессы. Задания Lakeflow состоят из заданий, которые позволяют планировать и запускать автоматизированные задачи с помощью записных книжек или заданий Spark.
- Конвейеры данных: Вы также можете включить конвейеры данных в автоматизацию CI/CD, используя конвейеры Lakeflow для определения конвейеров данных.
- Инфраструктура: конфигурация инфраструктуры включает определения и информацию о подготовке кластеров, рабочих пространств и хранилища для целевых сред. Изменения инфраструктуры можно проверять и тестировать как часть конвейера CI/CD, обеспечивая согласованность и отсутствие ошибок.
Почему нужно иметь отдельные целевые среды разработки и рабочей среды?
Отдельные среды разработки и продукта позволяют:
- Безопасно изолируйте изменения разработки, чтобы они не оказывали непреднамеренного влияния на продакшн-среду.
- Предотвращение дублирования кода путем настройки ресурсов для применения к определенной целевой среде.
- Упрощение и оптимизация CI/CD с помощью конфигурации, зависящей от среды, как пути к базам данных, настройка оповещений и управление доступом.
- Повторное использование рабочих процессов в командах и средах.
Используйте целевые объекты для определения сред развертывания пакета. См цели.
Как сделать пакеты программ едиными в моей организации?
Используйте шаблоны пакетов для согласованной структуры, сокращения ошибок установки и соблюдения передовых практик. Вы можете использовать шаблоны пакетов по умолчанию или создавать собственные пользовательские шаблоны пакетов. См. шаблоны проектов декларативных пакетов автоматизации.
Существует много повторений в моих пакетах, таких как те же определения кластера. Как лучше всего справиться с этим?
Пользовательские переменные — лучший способ обработки повторений, а также параметров, относящихся к контексту. См. дополнительные переменные.
Каковы некоторые рекомендации при использовании пакетов в потоке развертывания?
Databricks рекомендует вам:
- Переход от ручного развертывания к надежной автоматизации с помощью рабочих процессов, интегрированных с Git.
- Перед развертыванием пакета в вашем CI/CD конвейере, выполните проверку с помощью
databricks bundle validate. - Разделите шаги развертывания, чтобы убедиться, что изменения проверяются и преднамеренные.
- Параметризуйте среды (разработка, промежуточное хранение, продакшн) с переопределениями для изоляции изменений.
- Запустите тесты интеграции после развертывания, чтобы ловить проблемы рано.
- Используйте GitHub Actions, Azure DevOps или GitLab CI для инициации развертываний при комите или слиянии Pull Request.
- Отслеживайте, что развернуто, где и когда, чтобы каждое развертывание сопоставлялось с версией коммита и пакета.
Как перенести развертывание пакета из каталога /Workspace/Shared?
Развертывайте пакеты компонентов в расположении, владельцем которого являетесь вы или ваша команда, а не в /Workspace/Shared, доступном всем пользователям рабочего пространства, чтобы применять разрешения по принципу наименьших привилегий. Чтобы переместить существующее развертывание:
- Измените для цели значение
root_pathс/Workspace/Shared/...на выделенное расположение, например/Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/${bundle.target}или папку команды. Это поле задаётся в целевом объекте в разделеworkspace, напримерworkspace.root_path. - Убедитесь, что в пакете определен раздел
permissions, чтобы нужные учетные записи сохраняли доступ в новом расположении. Если такого правила нет, добавьте правило, которое предоставляет команде-владельцуCAN_MANAGE, а группеusers—CAN_VIEW, если ресурсы должны оставаться доступными для просмотра всем. - Повторно разверните с помощью
databricks bundle deploy -t <target>или позвольте конвейеру CI/CD развернуть это изменение. Чтобы сначала ознакомиться с изменениями, запуститеdatabricks bundle plan -t <target>.
Для рабочих развертываний выполняйте развертывание от имени субъекта-службы в путь, принадлежащий команде. См. Определить идентичность запуска для рабочих процессов Декларативных Автоматизационных Пакетов и режимов развертывания Декларативных Автоматизационных Пакетов.
Можно ли перенести существующие задания, конвейеры, панели мониторинга и другие объекты Databricks в пакет?
Да.
databricks bundle generate Используйте команду, чтобы создать файл конфигурации для существующего задания, конвейера или панели мониторинга в локальном пакете, а затем использовать databricks bundle deployment bind для привязки ресурса пакета к соответствующему ресурсу в рабочей области. Это идеально подходит для подключения существующих рабочих процессов к структурированной версии разработки. Привязка также преобразует относительные пути в абсолютные ссылки на рабочую область, что позволяет избежать ошибок, связанных с путями.
См. статью "Перенос существующих ресурсов в пакет".
Как протестировать пакет итеративно?
Вы можете ускорить разработку с помощью итеративных развертываний и запусков:
- Проверка перед развертыванием
- Поэтапное развертывание
- Выполняйте только необходимое
- Изменение и повторение
Это ускоряет тестирование и отладку, уменьшает переключение контекста, обеспечивает быструю и безопасную итерацию без полного повторного развертывания и поддерживает дисциплину при переходе к продакшн.