Partilhar via


Recomendações de otimização sobre Azure Databricks

O Azure Databricks oferece várias otimizações que suportam uma variedade de cargas de trabalho no lakehouse, desde processamento ETL em grande escala até consultas interativas e ad hoc. Muitas dessas otimizações ocorrem automaticamente. Obtém-se os benefícios simplesmente ao usar o Azure Databricks. Além disso, a maioria das funcionalidades do Databricks Runtime requer o Delta Lake, o formato padrão usado para criar tabelas no Azure Databricks.

O Azure Databricks configura valores padrão que otimizam a maioria das cargas de trabalho. Mas, em alguns casos, alterar as definições de configuração melhora o desempenho.

Aprimoramentos de desempenho do Databricks Runtime

Nota

Use o Databricks Runtime mais recente para aproveitar os aprimoramentos de desempenho mais recentes. Todos os comportamentos documentados aqui são habilitados por padrão no Databricks Runtime 10.4 LTS e superior.

  • de cache de disco acelera leituras repetidas em arquivos de dados do Parquet carregando dados em volumes de disco conectados a clusters de computação.
  • A remoção dinâmica de arquivos melhora o desempenho da consulta ignorando diretórios que não contêm arquivos de dados que correspondem aos predicados de consulta.
  • Fusão com baixo embaralhamento reduz o número de ficheiros de dados reescritos por MERGE operações e reduz a necessidade de reexecutar OPTIMIZE após as fusões.
  • O Apache Spark 3.0 introduziu a execução adaptativa de consultas, que fornece desempenho aprimorado para muitas operações.

Recomendações do Databricks para melhorar o desempenho

  • Pode clonar tabelas no Azure Databricks para criar cópias completas ou parciais dos dados de origem.
  • O otimizador baseado em custos acelera o desempenho da consulta aproveitando as estatísticas da tabela.
  • Você pode usar o Spark SQL para interagir com cadeias de caracteres JSON sem analisar cadeias de caracteres.
  • As funções de ordem superior fornecem desempenho integrado e otimizado para muitas operações que não têm operadores comuns do Spark. Funções de ordem superior fornecem um benefício de desempenho sobre as funções definidas pelo usuário.
  • Azure Databricks fornece vários operadores incorporados e sintaxe especial para trabalhar com tipos de dados complexos, incluindo arrays, structs e strings JSON.
  • Você pode ajustar manualmente as configurações para junções de intervalo. Consulte Otimização de junção de intervalo.

Comportamentos de adesão

  • Azure Databricks fornece uma garantia de isolamento serializável por escrita por defeito; alterar o nível de isolamento para serializável pode reduzir o rendimento para operações concorrentes, mas pode ser necessário quando a serializabilidade de leitura é necessária.
  • Azure Databricks descontinuou os índices de filtro bloom. Utilize I/O preditiva ou clusterização líquida em vez disso.