Recomendações de otimização no Azure Databricks
O Azure Databricks fornece muitas otimizações que suportam uma variedade de cargas de trabalho na lakehouse, desde o processamento ETL em grande escala até consultas ad-hoc e interativas. Muitas dessas otimizações ocorrem automaticamente. Você get seus benefícios simplesmente usando o Azure Databricks. Além disso, a maioria dos recursos do Databricks Runtime requer o Delta Lake, o formato padrão usado para criar tables no Azure Databricks.
Azure Databricks configura o values padrão que optimize 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.
- O cache de disco acelera as leituras repetidas em arquivos de dados do Parquet ao carregar dados para discos volumes anexados 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.
-
A mesclagem de baixa embaralhamento reduz o número de arquivos de dados reescritos por
MERGE
operações e reduz a necessidade de recaculateZORDER
clusters. - 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
- Você pode clonartables no Azure Databricks para fazer cópias profundas ou superficiais de conjuntos de dados de origem.
- O otimizador baseado em custos acelera o desempenho da consulta utilizando estatísticas table.
- 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.
- O Azure Databricks fornece vários operadores internos e sintaxe especial para trabalhar com tipos de dados complexos, incluindo matrizes, estruturas e cadeias de caracteres JSON.
- Você pode ajustar manualmente as configurações para junções de intervalo. Consulte Gama join otimização.
Comportamentos de aceitação
- O Azure Databricks fornece uma garantia de isolamento serializável de gravação por padrão; Alterar o nível de isolamento para serializável pode reduzir a taxa de transferência para operações simultâneas, mas pode ser necessário quando a serializabilidade de leitura é necessária.
- Você pode usar índices de filtro bloom para reduzir a probabilidade de verificar arquivos de dados que não contêm registros correspondentes a uma determinada condição.