Pular para o conteúdo principal

Recomendações de otimização em Databricks

Databricks oferece muitas otimizações que suportam uma variedade de cargas de trabalho no lakehouse, desde o processamento de grandes escalas do ETL até consultas interativas ad-hoc. Muitas dessas otimizações ocorrem automaticamente. O senhor obtém seus benefícios simplesmente usando o Databricks. Além disso, a maioria dos recursos do Databricks Runtime requer o Delta Lake, o formato default usado para criar tabelas no Databricks.

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

Databricks Runtime aprimoramentos de desempenho

nota

Use o Databricks Runtime mais recente para aproveitar os aprimoramentos de desempenho mais recentes. Todos os comportamentos documentados aqui são habilitados por default no Databricks Runtime 10.4 LTSe acima.

  • O cache de disco acelera as leituras repetidas dos arquivos de dados do site Parquet carregando os dados em volumes de disco anexados ao clustering do site compute.
  • A poda dinâmica de arquivos melhora o desempenho da consulta ao ignorar diretórios que não contêm arquivos de dados que correspondem aos predicados da consulta.
  • Baixo shuffle merge reduz o número de arquivos de dados reescritos por MERGE operações e reduz a necessidade de recacular ZORDER clustering.
  • O Apache Spark 3.0 introduziu a execução adaptativa de consultas, que oferece desempenho aprimorado para muitas operações.

Recomendações da Databricks para melhorar o desempenho

  • O senhor pode clonar tabelas em Databricks para fazer cópias profundas ou superficiais do conjunto de dados de origem.
  • O otimizador baseado em custos acelera o desempenho da consulta, aproveitando as estatísticas da tabela.
  • O senhor pode usar o Spark SQL para interagir com strings JSON sem analisar strings.
  • As funções de ordem superior proporcionam um desempenho integrado e otimizado para muitas operações que não têm operadores Spark comuns. As funções de ordem superior oferecem um benefício de desempenho em relação às funções definidas pelo usuário.
  • Databricks fornece vários operadores integrados e uma sintaxe especial para trabalhar com tipos de dados complexos, incluindo arrays, structs e JSON strings.
  • O senhor pode ajustar manualmente as configurações para a união de faixas. Consulte Otimização do intervalo join.

Comportamentos opcionais

  • Databricks fornece uma garantia de isolamento serializável de gravação por default; alterar o nível de isolamento para serializável pode reduzir a taxa de transferência para operações concorrentes, mas pode ser necessário quando a serialização de leitura for necessária.
  • Você pode usar índices de filtro bloom para reduzir a probabilidade de escanear arquivos de dados que não contêm registros que correspondam a uma determinada condição.