Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve a sintaxe dos modos de implantação do Pacote de Ativos do Databricks . Os pacotes permitem o gerenciamento programático de fluxos de trabalho do Azure Databricks. Veja o que são pacotes de ativos do Databricks?
Em fluxos de trabalho de CI/CD, os desenvolvedores normalmente codificam, testam, implantam e executam soluções em várias fases ou modos. Por exemplo, o conjunto mais simples de modos inclui um modo de desenvolvimento para validação de pré-produção, seguido por um modo de produção para entregas validadas. Os Pacotes de Ativos do Databricks fornecem uma coleção opcional de comportamentos padrão que correspondem a cada um desses modos. Para usar esses comportamentos para um destino específico, defina um mode ou configure presets para um destino no mapeamento de configuração targets. Para obter informações sobre targets, consulte Mapeamento de destinos de configuração de pacote.
Modo de desenvolvimento
Para implantar seu pacote no modo de desenvolvimento, primeiro adicione o mapeamento mode, definido como development, ao destino pretendido. Por exemplo, este destino chamado dev é tratado como um destino de desenvolvimento:
targets:
dev:
mode: development
Implantar um destino no modo de desenvolvimento executando o databricks bundle deploy -t <target-name> comando implementa os seguintes comportamentos, que podem ser personalizados usando predefinições:
- Prefixa todos os recursos que não são implantados como arquivos ou notebooks com
[dev ${workspace.current_user.short_name}]e marca cada trabalho e pipeline implantado com uma marcadevdo Azure Databricks. - Marca todos os Pipelines Declarativos Lakeflow Spark implantados relacionados como
development: true. - Permite o uso de
--cluster-id <cluster-id>em chamadas relacionadas ao comandobundle deploy, que substitui toda e qualquer definição de cluster existente que já esteja especificada no arquivo de configuração do pacote relacionado. Em vez de usar--cluster-id <cluster-id>em chamadas relacionadas ao comandobundle deploy, você pode definir o mapeamentocluster_idaqui, ou como um mapeamento filho do mapeamentobundle, como a ID do cluster a ser usada. - Pausa todos os agendamentos e gatilhos em recursos implantados, como trabalhos ou monitores de qualidade. Retoma os agendamentos e gatilhos de um trabalho individual por meio da configuração de
schedule.pause_statuscomoUNPAUSED. - Permite execuções simultâneas em todos os trabalhos implantados para oferecer uma iteração mais rápida. Desabilita as execuções simultâneas de um trabalho individual por meio da configuração de
max_concurrent_runscomo1. - Desabilita o bloqueio de implantação para oferecer uma iteração mais rápida. Esse bloqueio evita conflitos de implantação que provavelmente não ocorrerão no modo de desenvolvimento. Reabilita o bloqueio por meio da configuração de
bundle.deployment.lock.enabledcomotrue.
Modo de produção
Para implantar seu pacote no modo de produção, primeiro adicione o mapeamento mode, definido como production, ao destino pretendido. Por exemplo, este destino chamado prod é tratado como um destino de produção:
targets:
prod:
mode: production
Ao implantar um destino no modo de produção, com a execução do comando databricks bundle deploy -t <target-name>, os seguintes comportamentos são implementados:
Valida que todos os Lakeflow Pipelines Declarativos do Spark implementados e relacionados estão marcados como
development: false.Valida se o GIT branch atual é igual ao GIT branch especificado no destino. Especificar um GIT branch no destino é opcional e pode ser feito com uma propriedade
gitadicional da seguinte maneira:git: branch: mainEssa validação pode ser substituída especificando
--forcedurante a implantação.O Databricks recomenda que você use entidades de serviço para implantações de produção. Você pode impor isso definindo
run_asa uma entidade de serviço. Confira Entidades de serviço e Especificar uma identidade de execução para um fluxo de trabalho de Pacotes de Ativos do Databricks. Caso você não use entidades de serviço, observe os seguintes comportamentos adicionais:- Valida que os mapeamentos
artifact_path,file_path,root_pathoustate_pathnão são substituídos para um usuário específico. - Valida que os mapeamentos
run_asepermissionssão especificados para esclarecer quais identidades têm permissões específicas para implantações.
- Valida que os mapeamentos
Ao contrário do comportamento anterior para definir o mapeamento de
modeparadevelopment, definir o mapeamento demodeparaproductionnão permite substituir as definições de cluster existentes especificadas no arquivo de configuração do pacote relacionado, por exemplo, usando a opção--compute-id <cluster-id>ou o mapeamento decompute_id.
Predefinições personalizadas
Os Pacotes de Ativos do Databricks dão suporte a predefinições configuráveis para destinos, o que permite personalizar os comportamentos dos destinos. Essas predefinições disponíveis estão listadas nesta tabela:
Observação
A menos que uma exceção seja especificada na tabela abaixo, se ambas mode e presets estiverem definidas, as predefinições substituirão o comportamento do modo padrão e as configurações de recursos individuais substituirão as predefinições. Por exemplo, se a configuração max_concurrent_runs para um trabalho for 10, mas a predefinição jobs_max_concurrent_runs estiver definida como 20, o máximo de execuções simultâneas do trabalho será 10.
| Predefinição | Descrição |
|---|---|
artifacts_dynamic_version |
Se você deve atualizar dinamicamente a versão dos whl artefatos durante a implantação. Os valores válidos são true ou false. Se a configuração de nível superior artifacts.dynamic_version for especificada, ela substituirá a configuração predefinida. |
jobs_max_concurrent_runs |
O número máximo de execuções simultâneas permitidas para trabalhos. |
name_prefix |
A cadeia de caracteres de prefixo a ser acrescentada aos nomes de recursos. |
pipelines_development |
Se o pipeline está ou não no modo de desenvolvimento. Os valores válidos são true ou false. |
source_linked_deployment |
Reservado para uso futuro. Se os recursos criados durante a implantação apontam para arquivos de origem no workspace em vez de suas cópias no workspace. |
tags |
Um conjunto de rótulos key:value aplicável a todos os recursos que dão suporte a tags, que inclui trabalhos e experimentos. Os Pacotes de Ativos do Databricks não dão suporte a tags para o recurso schema. |
trigger_pause_status |
Um status de pausa a ser aplicado a todos os gatilhos e programações. Os valores válidos são PAUSED ou UNPAUSED.Se mode estiver definido como development, trigger_pause_status será sempre PAUSED. |
O exemplo a seguir mostra uma configuração de predefinições personalizadas para o alvo chamado 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