Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается синтаксис режимов развертывания пакета ресурсов Databricks . Пакеты обеспечивают программное управление рабочими процессами Azure Databricks. См. что такое пакеты ресурсов Databricks?
В рабочих процессах CI/CD разработчики обычно кодируют, тестируют, развертывают и запускают решения на различных этапах или в режимах. Например, самый простой набор режимов включает режим разработки для предварительной проверки, а затем рабочий режим для проверенных конечных результатов. Наборы ресурсов Databricks предоставляют необязательную коллекцию поведения по умолчанию, соответствующую каждому из этих режимов. Чтобы использовать эти поведения для конкретного объекта, задайте mode
или настройте presets
для цели в конфигурационной карте targets
. Сведения о targets
сопоставлении целевых объектов конфигурации пакета см. в разделе "Сопоставление целевых объектов конфигурации пакета".
Режим разработки
Чтобы развернуть пакет в режиме разработки, сначала необходимо добавить сопоставление mode
и установить параметр development
для целевого объекта. Например, этот объект dev
рассматривается как целевой объект разработки.
targets:
dev:
mode: development
Развертывание целевого объекта в режиме разработки, выполнив databricks bundle deploy -t <target-name>
команду, реализует следующие действия, которые можно настроить с помощью предустановок:
- Добавляет префикс
[dev ${workspace.current_user.short_name}]
ко всем ресурсам, которые не развертываются в виде файлов или записных книжек, и отмечает каждый развернутый процесс и конвейер тегом Azure Databricksdev
. - Помечает все связанные развернутые декларативные конвейеры Lakeflow как
development: true
. - Включает использование
--compute-id <cluster-id>
в вызовах командыbundle deploy
, что позволяет переопределять все существующие определения кластеров, которые уже указаны в конфигурационном файле соответствующего пакета. Вместо использования--compute-id <cluster-id>
в связанных вызовах командыbundle deploy
можно задать сопоставлениеcompute_id
здесь или в качестве дочернего сопоставленияbundle
с идентификатором используемого кластера. - Приостанавливает все расписания и триггеры на развернутых ресурсах, таких как задания или мониторы качества. Возобновите расписания и триггеры для отдельного задания, установив
schedule.pause_status
наUNPAUSED
. - Включает параллельные запуски на всех развернутых заданиях для ускорения итерационного процесса. Отключите одновременные запуски для отдельного задания, установив
max_concurrent_runs
в1
. - Отключает блокировку развертывания для ускорения итерации. Эта блокировка предотвращает конфликты развертывания, которые вряд ли возникают в режиме разработки. Повторно включите блокировку, задав значение
bundle.deployment.lock.enabled
true
.
Рабочий режим
Чтобы развернуть пакет в рабочем режиме, необходимо сначала добавить сопоставление mode
и установить значение production
в целевую цель. Например, объект с именем prod
рассматривается как производственный целевой объект.
targets:
prod:
mode: production
Развертывание целевого объекта в рабочем режиме, выполнив databricks bundle deploy -t <target-name>
команду, реализует следующее поведение:
Проверяет, что все связанные развернутые декларативные конвейеры Lakeflow помечены как
development: false
.Проверяет, совпадает ли текущая ветвь Git с ветвью Git, указанной в задаче. Указание ветви Git в целевом объекте является необязательным и может выполняться с дополнительным
git
свойством следующим образом:git: branch: main
Эту проверку можно переопределить, указав
--force
при развертывании.Databricks рекомендует использовать учётные записи служб для рабочих развертываний. Вы можете обеспечить это, установив
run_as
на учетную запись службы. Смотрите Субъекты-службы и Указание удостоверения выполнения для рабочего процесса Databricks Asset Bundles. Если вы не используете служебные принципы, обратите внимание на следующее дополнительное поведение:- Проверяет, что
artifact_path
,file_path
сопоставления илиroot_path
,state_path
сопоставления не переопределяются для конкретного пользователя. - Проверяет, указаны ли сопоставления
run_as
иpermissions
, для указания, какие идентификаторы имеют определенные разрешения для развертываний.
- Проверяет, что
В отличие от предыдущего поведения при установке сопоставления
mode
наdevelopment
, установка сопоставленияmode
наproduction
не позволяет переопределять какие-либо существующие определения кластеров, указанные в связанном файле конфигурации пакета, например, с использованием параметра--compute-id <cluster-id>
или сопоставленияcompute_id
.
Пользовательские предустановки
Пакеты ресурсов Databricks поддерживают настраиваемые предустановки для целевых объектов, что позволяет настраивать поведение целевых объектов. Доступные предустановки перечислены в следующей таблице:
Примечание.
Если исключение не указано в таблице ниже, и если оба mode
и presets
установлены, предустановки переопределяют поведение режима по умолчанию, а параметры отдельных ресурсов переопределяют предустановки. Например, если max_concurrent_runs
для задания задано значение 10, но jobs_max_concurrent_runs
предустановка имеет значение 20, максимальное число одновременных запусков задания равно 10.
Предустановка | Описание |
---|---|
artifacts_dynamic_version |
Следует ли динамически обновлять версию whl артефактов во время развертывания. Допустимые значения: true или false . Если указан параметр конфигурации верхнего уровня artifacts.dynamic_version, он переопределяет этот предустановленный параметр. |
jobs_max_concurrent_runs |
Количество максимально допустимых одновременных запусков заданий. |
name_prefix |
Префиксная строка, которая добавляется к именам ресурсов. |
pipelines_development |
Независимо от того, находится ли конвейер в режиме разработки. Допустимые значения: true или false . |
source_linked_deployment |
Зарезервировано для дальнейшего использования. Указывают ли создаваемые во время развертывания ресурсы на исходные файлы в рабочей области, а не на их копии. |
tags |
Набор тегов key:value, которые применяются ко всем ресурсам, поддерживающим теги, включая задания и эксперименты. Пакеты ресурсов Databricks не поддерживают теги для schema ресурса. |
trigger_pause_status |
Состояние приостановки для применения ко всем триггерам и расписаниям. Допустимые значения: PAUSED или UNPAUSED .Если mode задано значение development , trigger_pause_status всегда имеет значение PAUSED . |
В следующем примере показана настраиваемая конфигурация предустановок для целевого объекта с именем dev
:
targets:
dev:
presets:
name_prefix: 'testing_' # prefix all resource names with testing_
pipelines_development: true # set development to true for pipelines
trigger_pause_status: PAUSED # set pause_status to PAUSED for all triggers and schedules
jobs_max_concurrent_runs: 10 # set max_concurrent runs to 10 for all jobs
tags:
department: finance