Remoção dinâmica de arquivos
A remoção dinâmica de arquivos pode melhorar significativamente o desempenho de muitas query nas tabelas do Delta Lake. O otimizador de consultas aciona a eliminação dinâmica de arquivos para consultas que contêm instruções de filtro ou cláusulas WHERE. Remoção dinâmica de arquivos nas declarações MERGE, UPDATE e DELETE exige compute habilitado para Photon. Em SELECT instruções, o Photon oferece uma remoção dinâmica de arquivos mais ampla e confiável. Sem Photon, a remoção dinâmica de arquivos ainda pode ser aplicada a SELECT instruções, dependendo do formato da consulta e do plano de execução.
A eliminação dinâmica de arquivos é especialmente eficiente para tabelas não particionadas ou para junções em colunas não particionadas. O impacto do corte dinâmico de arquivos no desempenho geralmente está correlacionado ao clustering de dados; portanto, considere usar clustering líquido para maximizar os benefícios. Consulte Usar clustering líquido para tabelas.
Para conhecer o histórico e os casos de uso da poda dinâmica de arquivos, consulte Consultas SQL mais rápidas no Delta Lake com a poda dinâmica de arquivos.
Configuração
A poda dinâmica de arquivos é controlada pelas seguintes opções de configuração do Apache Spark:
spark.databricks.optimizer.dynamicFilePruning(default étrue): O sinalizador principal que direciona o otimizador para empurrar os filtros para baixo. Quando definido comofalse, a remoção dinâmica de arquivos não entrará em vigor.spark.databricks.optimizer.deltaTableSizeThreshold(default é10,000,000,000 bytes (10 GB)): Representa o tamanho mínimo (em bytes) da tabela Delta no lado da sonda do join necessário para acionar a poda dinâmica de arquivos. Se o lado da sonda não for muito grande, provavelmente não vale a pena pressionar os filtros para baixo e podemos simplesmente escanear a tabela inteira. O senhor pode descobrir o tamanho de uma tabela Delta executando o comandoDESCRIBE DETAIL table_namee, em seguida, observando a colunasizeInBytes.spark.databricks.optimizer.deltaTableFilesThreshold(default é10): Representa o número de arquivos da tabela Delta no lado da sonda do join necessários para acionar a poda dinâmica de arquivos. Quando a tabela do lado da sonda contém menos arquivos do que o valor limite, a poda dinâmica de arquivos não é acionada. Se uma tabela tiver apenas alguns arquivos, provavelmente não valerá a pena ativar a remoção dinâmica de arquivos. O senhor pode descobrir o tamanho de uma tabela Delta executando o comandoDESCRIBE DETAIL table_namee, em seguida, observando a colunanumFiles.