Recomendações de otimização no 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 valores default 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
Observação
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 leituras repetidas em arquivos de dados Parquet, carregando dados em volumes de disco anexados a clusters compute .
A remoção dinâmica de arquivos melhora o desempenho query ignorando os diretórios que não contêm arquivos de dados que correspondem aos predicados query .
A mesclagem aleatória baixa reduz o número de arquivos de dados reescritos por operações
MERGE
e reduz a necessidade de recalcular clustersZORDER
.O Apache Spark 3.0 introduziu a execução query adaptável, que fornece desempenho aprimorado para muitas operações.
Recomendações do Databricks para desempenho aprimorado
Você pode clonar tabelas no Databricks para fazer cópias profundas ou rasas do dataset de origem.
O otimizador baseado em custo acelera o desempenho query 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 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 da união de intervalos.
Comportamentos de aceitação
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 varrer arquivos de dados que não contenham registros correspondentes a uma determinada condição.