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
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 recacularZORDER
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.