Compartilhar via


Melhores práticas para computação sem servidor

Este artigo apresenta recomendações de melhores práticas para usar a computação sem servidor em seus notebooks e trabalhos.

Ao seguir essas recomendações, você aumentará a produtividade, a eficiência de custos e a confiabilidade de suas cargas de trabalho no Azure Databricks.

Migração de cargas de trabalho para a computação sem servidor

Para garantir o isolamento do código do usuário no ambiente de computação sem servidor compartilhado, o Azure Databricks utiliza o Lakeguard para isolar o código do usuário do mecanismo Spark e de outros usuários.

Por isso, algumas cargas de trabalho exigem alterações de código para continuar trabalhando na computação sem servidor. Para obter uma lista de limitações, consulte limitações de computação sem servidor.

Algumas cargas de trabalho são mais fáceis de migrar do que outras. As cargas de trabalho que atendem aos seguintes requisitos serão as mais fáceis de migrar:

  • Os dados que estão sendo acessados devem ser armazenados no Catálogo do Unity.
  • A carga de trabalho deve ser compatível com a computação padrão.
  • A carga de trabalho deve ser compatível com o Databricks Runtime 14.3 ou superior.

Para testar se uma carga de trabalho funcionará na computação sem servidor, execute-a em um recurso de computação clássico com o modo de acesso Standard e um Databricks Runtime igual a 14.3 ou superior. Se a execução for bem-sucedida, a carga de trabalho estará pronta para a migração.

Muitas cargas de trabalho mais antigas não migrarão perfeitamente. Em vez de recodificar tudo, o Azure Databricks recomenda priorizar a compatibilidade da computação sem servidor à medida que você cria cargas de trabalho.

Especificar versões de pacote do Python

Ao migrar para a computação sem servidor, fixe seus pacotes do Python em versões específicas para garantir ambientes reproduzíveis. Se você não especificar uma versão, o pacote poderá ser resolvido para uma versão diferente com base na versão do ambiente sem servidor, o que pode aumentar a latência à medida que novos pacotes precisarem ser instalados.

Por exemplo, seu requirements.txt arquivo deve incluir versões de pacote específicas, como esta:

numpy==2.2.2
pandas==2.2.3

Versões de ambiente sem servidor

A computação sem servidor usa versões de ambiente em vez de versões tradicionais do Databricks Runtime. Isso representa uma mudança na forma como você gerencia a compatibilidade da carga de trabalho:

  • Abordagem do Databricks Runtime: selecione uma versão específica do Databricks Runtime para sua carga de trabalho e gerencie atualizações manualmente para manter a compatibilidade.
  • Abordagem sem servidor: você escreve código em uma versão de ambiente e o Azure Databricks atualiza independentemente o servidor subjacente.

As versões de ambiente fornecem uma API de cliente estável que garante que sua carga de trabalho permaneça compatível enquanto o Azure Databricks fornece melhorias de desempenho, aprimoramentos de segurança e correções de bug sem a necessidade de alterações de código em suas cargas de trabalho.

Cada versão do ambiente inclui bibliotecas de sistema, recursos e correções de bugs atualizados, mantendo a compatibilidade com versões anteriores para cargas de trabalho. O Azure Databricks dá suporte a cada versão do ambiente por três anos a partir da data de lançamento, fornecendo um ciclo de vida previsível para planejar atualizações.

Para selecionar uma versão de ambiente para sua carga de trabalho sem servidor, consulte Selecionar uma versão do ambiente. Para obter detalhes sobre as versões de ambiente disponíveis e seus recursos, consulte versões de ambiente sem servidor.

Ingestão de dados de sistemas externos

Como a computação sem servidor não dá suporte à instalação de arquivos JAR, você não pode usar um driver JDBC ou ODBC para ingerir dados de uma fonte de dados externa.

As estratégias alternativas que você pode usar para ingestão incluem:

Alternativas de ingestão

Ao usar a computação sem servidor, você também pode usar os seguintes recursos para consultar seus dados sem movê-los.

  • Se você quiser limitar a duplicação de dados ou garantir que está consultando os dados mais recentes possíveis, o Databricks recomenda o uso do Delta Sharing. Confira O que é o Compartilhamento Delta?.
  • Se você quiser fazer relatórios ad hoc e trabalhos de prova de conceito, o Databricks recomenda tentar a escolha certa, que pode ser a Federação Lakehouse. A Federação Lakehouse permite a sincronização de bancos de dados inteiros com o Azure Databricks a partir de sistemas externos e é regida pelo Catálogo do Unity. Confira O que é Federação do Lakehouse?.

Experimente um ou ambos os recursos e veja se eles satisfazem seus requisitos de desempenho de consulta.

Configurações do Spark com suporte

Para automatizar a configuração do Spark na computação sem servidor, o Azure Databricks removeu o suporte para definir manualmente a maioria das configurações do Spark. Para exibir uma lista de parâmetros de configuração do Spark com suporte, consulte Configurar propriedades do Spark para notebooks e trabalhos sem servidor.

O trabalho executado na computação sem servidor falhará se você definir uma configuração do Spark sem suporte.

Monitorar o custo da computação sem servidor

Há vários recursos que você pode usar para monitorar o custo da computação sem servidor: