Режимы развертывания пакета ресурсов Databricks
В этой статье описывается синтаксис режимов развертывания пакета ресурсов Databricks. Пакеты обеспечивают программное управление рабочими процессами Azure Databricks. См. сведения о пакетах ресурсов Databricks?
В рабочих процессах CI/CD разработчики обычно кодируют, тестируют, развертывают и запускают решения на различных этапах или в режимах. Например, самый простой набор режимов включает режим разработки для предварительной проверки, а затем рабочий режим для проверенных конечных результатов. Наборы ресурсов Databricks предоставляют необязательную коллекцию поведения по умолчанию, соответствующую каждому из этих режимов. Развертывания пакетов могут использовать эти действия с объявлением однострочный режим, а не вручную указывать эти поведения по умолчанию в файле конфигурации пакета и, возможно, забыть добавить или настроить одно из нескольких предполагаемых действий на пути.
Режим разработки
Чтобы развернуть пакет в режиме разработки, необходимо сначала добавить mode
сопоставление, задать development
значение , в целевой объект. Например, этот целевой объект рассматривается как целевой объект dev
разработки:
targets:
dev:
mode: development
Развертывание целевого объекта разработки путем выполнения databricks bundle deploy -t <target-name>
команды реализует следующие действия:
- Предварительно добавляет все ресурсы, которые не развертываются как файлы или записные книжки с префиксом
[dev ${workspace.current_user.userName}]
и тегами каждого развернутого задания и конвейера с тегомdev
Azure Databricks. - Помечает все связанные конвейеры разностных динамических таблиц как
development: true
. См. раздел "Использование режима разработки для запуска обновлений конвейера". - Включает использование
--compute-id <cluster-id>
в связанных вызовахbundle deploy
команды, которая переопределяет все и все существующие определения кластера, которые уже указаны в файле конфигурации связанного пакета. Вместо использования--compute-id <cluster-id>
в связанных вызовахbundle deploy
команды можно задатьcompute_id
сопоставление здесь или в качестве дочернегоbundle
сопоставления для используемого идентификатора кластера. - Приостанавливает все расписания и триггеры на развернутых ресурсах, таких как задания или мониторы качества. Распакуйте расписания и триггеры для отдельного задания, задав значение
schedule.pause_status
UNPAUSED
. - Включает одновременные запуски во всех развернутых заданиях для ускорения итерации. Отключите одновременные запуски для отдельного задания, установив для
1
параметраmax_concurrent_runs
значение . - Отключает блокировку развертывания для ускорения итерации. Эта блокировка предотвращает конфликты развертывания, которые вряд ли возникают в режиме разработки. Повторно включите блокировку, задав значение
bundle.deployment.lock.enabled
true
.
Рабочий режим
Чтобы развернуть пакет в рабочем режиме, необходимо сначала добавить mode
сопоставление, задать production
значение , в целевой объект. Например, этот целевой объект рассматривается как рабочий целевой объект prod
:
targets:
prod:
mode: production
Развертывание целевого объекта рабочей среды, выполнив databricks bundle deploy -t <target-name>
команду, реализует следующее поведение:
Проверяет, помечены
development: false
ли все связанные конвейеры разностных динамических таблиц.Проверяет, равен ли текущая ветвь Git ветви Git, указанной в целевом объекте. Указание ветви Git в целевом объекте является необязательным и может выполняться с дополнительным
git
свойством следующим образом:git: branch: main
Эту проверку можно переопределить,
--force
указав при развертывании.Databricks рекомендует использовать субъекты-службы для рабочих развертываний. Это можно применить, установив
run_as
субъект-службу. См. статью "Управление субъектами-службами " и указание удостоверения выполнения для рабочего процесса пакетов ресурсов Databricks. Если субъекты-службы не используются, обратите внимание на следующее дополнительное поведение:- Проверяет, что
artifact_path
file_path
сопоставления илиroot_path
state_path
сопоставления не переопределяются конкретному пользователю. - Проверяет, указаны ли
run_as
permissions
и сопоставления, чтобы указать, какие удостоверения имеют определенные разрешения для развертываний.
- Проверяет, что
В отличие от предыдущего поведения для задания
mode
сопоставленияdevelopment
, параметрmode
сопоставленияproduction
не позволяет переопределять существующие определения кластера, указанные в файле конфигурации связанного пакета, например с помощью--compute-id <cluster-id>
параметра илиcompute_id
сопоставления.