Pular para o conteúdo principal

Práticas recomendadas para serverless compute

Este artigo apresenta recomendações de práticas recomendadas para o uso do site serverless compute em seu Notebook e Job.

Seguindo essas recomendações, o senhor aumentará a produtividade, a eficiência de custos e a confiabilidade de suas cargas de trabalho no Databricks.

Migração de cargas de trabalho para serverless compute

Para garantir o isolamento do código do usuário no ambiente compute serverless compartilhado, 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 funcionando na compute serverless . Para obter uma lista de limitações, consulte Limitações compute sem servidor.

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

  • Os dados que estão sendo acessados devem ser armazenados no Unity Catalog.
  • A carga de trabalho deve ser compatível com computepadrão.
  • A carga de trabalho deve ser compatível com Databricks Runtime 14.3 ou acima.

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

Muitas cargas de trabalho mais antigas não serão migradas perfeitamente. Em vez de recodificar tudo, Databricks recomenda priorizar a compatibilidade compute serverless ao criar novas cargas de trabalho.

Especificar versões do pacote Python

Ao migrar para compute serverless , pin seu pacote 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 serverless , o que pode aumentar a latência, pois novos pacotes precisam ser instalados.

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

Text
numpy==2.2.2
pandas==2.2.3

versões de ambiente sem servidor

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

  • AbordagemDatabricks Runtime : você seleciona uma versão específica Databricks Runtime para sua carga de trabalho e gerencia as atualizações manualmente para manter a compatibilidade.
  • Abordagem sem servidor : você escreve o código para uma versão de ambiente específica e Databricks atualiza o servidor subjacente de forma independente.

As versões de ambiente fornecem uma API de cliente estável que garante a compatibilidade da sua carga de trabalho, enquanto o Databricks oferece, de forma independente, melhorias de desempenho, aprimoramentos de segurança e correções de bugs sem exigir alterações de código em suas cargas de trabalho.

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

Para selecionar uma versão de ambiente para sua carga de trabalho serverless , consulte Selecionar uma versão de 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 o site serverless compute não oferece suporte à instalação de arquivos JAR, o senhor 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 o site serverless compute, o senhor também pode usar o seguinte recurso para consultar os dados sem movê-los.

  • Se o senhor quiser limitar a duplicação de dados ou garantir que está consultando os dados mais recentes possíveis, a Databricks recomenda o uso do Delta Sharing. Consulte O que é Delta Sharing?
  • Se o senhor quiser fazer relatórios ad hoc e trabalhos de prova de conceito, o site Databricks recomenda tentar a escolha certa, que pode ser a Lakehouse Federation. A lakehouse Federation permite a sincronização de bancos de dados inteiros para Databricks a partir de sistemas externos e é regida por Unity Catalog. Veja o que é Lakehouse Federation?

Experimente um ou ambos os recursos e veja se eles atendem aos requisitos de desempenho de sua consulta.

Configurações compatíveis com o Spark

Para automatizar a configuração de Spark em serverless compute, Databricks removeu o suporte para a definição manual da maioria das configurações de Spark. Para view uma lista dos parâmetros de configuração Spark suportados, consulte Configurar Spark propriedades para serverless Notebook e Job.

Job A execução em serverless compute falhará se o senhor definir uma configuração não suportada em Spark.

Monitorar o custo de serverless compute

Há vários recursos que o senhor pode usar para ajudá-lo a monitorar o custo do serverless compute: