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 clusters ZORDER .

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