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

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: