Recusar bibliotecas de Python pré-instaladas para aplicativos do Databricks

Esta página descreve como desativar as bibliotecas de Python pré-instaladas em um aplicativo Databricks com escalonamento horizontal, gerenciar suas próprias dependências e reativar essas bibliotecas mais tarde. A opção de desativação está disponível apenas em aplicativos com escala horizontal que foram convertidos de um aplicativo padrão. Consulte Converter um aplicativo padrão para usar o dimensionamento horizontal.

Quando você converte um aplicativo padrão para um aplicativo com escala horizontal, o Azure Databricks vincula o aplicativo convertido às bibliotecas Python pré-instaladas para que as importações existentes do seu aplicativo continuem funcionando. Desative essa opção para executar o aplicativo em uma imagem base limpa do sistema operacional e declarar você mesmo todas as bibliotecas.

Recusar bibliotecas pré-instaladas

Ao optar por não participar, você instrui o Azure Databricks a criar sua próxima implantação com base em uma imagem base limpa do sistema operacional. As bibliotecas pré-instaladas não estão mais disponíveis, a menos que você as declare em requirements.txt ou pyproject.toml.

Para cancelar a assinatura:

  1. Na página de detalhes do aplicativo, clique em Editar.
  2. Na etapa Configure, desmarque a caixa de seleção Use bibliotecas de Python pré-instaladas.
  3. Clique em Salvar. A implantação em execução no momento não é afetada.
  4. Implante seu aplicativo novamente na guia Implantações . Essa nova implantação é criada com base na imagem limpa do sistema operacional base.

Suas dependências podem incluir bibliotecas pré-instaladas transitivamente, portanto, nem sempre fica claro quais bibliotecas seu aplicativo requer diretamente. Encontre bibliotecas ausentes em um aplicativo de teste antes de desativá-las na produção:

  1. Crie um novo aplicativo horizontalmente dimensionado. Novos aplicativos com escala horizontal já são executados na imagem limpa do sistema operacional base, portanto, isso corresponde ao seu destino pós-desativação.
  2. Implante o código-fonte do aplicativo de produção para o aplicativo de teste. Atualize requirements.txt (ou pyproject.toml) e reimplante até que o aplicativo de teste inicie, processe solicitações e passe pelos testes.
  3. Copie as declarações finais de dependência para o código-fonte do seu app em produção.
  4. No app em produção, siga as etapas em Desativar bibliotecas pré-instaladas e faça a implantação do código-fonte atualizado.

A produção continua sendo executada na imagem com as bibliotecas pré-instaladas até que sua nova implantação passe nas verificações de integridade; portanto, essa abordagem evita tempo de inatividade enquanto você identifica dependências ausentes no aplicativo de teste.

Resolver erros depois de recusar

A falha mais comum após a desativação é uma ModuleNotFoundError na inicialização do aplicativo, causada por uma estrutura ou biblioteca que seu código importou implicitamente do conjunto pré-instalado. Para resolvê-lo:

  1. Abra a guia Logs na página de detalhes do aplicativo.
  2. Localize o nome do módulo ausente nos logs de build ou runtime.
  3. Adicione o pacote correspondente a requirements.txt (ou pyproject.toml) e reimplante.

Uma nova implantação só substituirá a implantação em execução se o processo de aplicativo permanecer em execução pelos primeiros segundos após a inicialização. Uma implantação de desativação que falha imediatamente devido a uma importação ausente nunca assume o controle e o tráfego continua na implantação anterior em funcionamento enquanto você corrige a lista de dependências. A verificação de inicialização é superficial, portanto, teste se seu aplicativo realmente atende às solicitações após a opção de desativação, em vez de confiar na verificação para detectar implantações com problemas.

Ativar novamente as bibliotecas pré-instaladas

Para voltar às bibliotecas pré-instaladas após desativar:

  1. Na página de detalhes do aplicativo, clique em Editar.
  2. Na etapa Configure, selecione a caixa de seleção Use bibliotecas de Python pré-instaladas.
  3. Clique em Salvar.
  4. Implante seu aplicativo novamente na guia Implantações . Essa nova implantação se baseia na imagem base com as bibliotecas pré-instaladas.

Seus requirements.txt e pyproject.toml continuam a se aplicar, portanto, todas as declarações explícitas que você adicionou enquanto desativou essa opção são preservadas.

Note

Converter um aplicativo horizontalmente dimensionado de volta em um aplicativo padrão também restaura as bibliotecas pré-instaladas: o aplicativo padrão é recriado com elas, independentemente de você ter optado por sair. Se posteriormente você converter o aplicativo em horizontalmente dimensionado novamente, ele incluirá as bibliotecas pré-instaladas até que você opte por sair novamente.