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

O Azure Databricks fornece muitas otimizações que suportam uma variedade de cargas de trabalho no lakehouse, desde o processamento etl em larga escala até consultas interativas e ad-hoc. Muitas destas otimizações ocorrem automaticamente. Obtém os benefícios deles simplesmente com o Azure Databricks. Além disso, a maioria das funcionalidades do Databricks Runtime requer o Delta Lake, a camada de armazenamento predefinida utilizada para criar tabelas no Azure Databricks.

O Azure Databricks configura valores predefinidos que otimizam a maioria das cargas de trabalho. Contudo, em alguns casos, a alteração das definições de configuração melhora o desempenho.

Melhorias no desempenho do Databricks Runtime

Nota

Utilize o Databricks Runtime mais recente para tirar partido dos melhoramentos de desempenho mais recentes. Todos os comportamentos documentados aqui estão ativados por predefinição no Databricks Runtime 10.4 LTS e superior.

Recomendações do Databricks para um desempenho melhorado

  • Pode clonar tabelas no Azure Databricks para fazer cópias profundas ou rasas de conjuntos de dados de origem.
  • O otimizador baseado em custos acelera o desempenho das consultas ao tirar partido das estatísticas da tabela.
  • Pode utilizar o SQL do Spark para interagir com dados JSON semiestruturados sem analisar cadeias de carateres.
  • As funções de ordem superior proporcionam um desempenho incorporado e otimizado para muitas operações que não têm operadores spark comuns. As funções de ordem superior proporcionam um benefício de desempenho sobre as funções definidas pelo utilizador.
  • O Azure Databricks fornece vários operadores incorporados e sintaxe especial para trabalhar com tipos de dados complexos, incluindo matrizes, estruturas e cadeias JSON.
  • Pode otimizar manualmente as definições para associações que incluem intervalos ou contêm dados com distorção inferior ao padrão.

Comportamentos de opt-in

  • Por predefinição, o Azure Databricks fornece uma garantia de isolamento serializável de escrita; alterar o nível de isolamento para serializável pode reduzir o débito para operações simultâneas, mas pode ser necessário quando é necessária serializabilidade de leitura.
  • Pode utilizar índices de filtro bloom para reduzir a probabilidade de digitalizar ficheiros de dados que não contenham registos que correspondam a uma determinada condição.