Pular para o conteúdo principal

Remoção dinâmica de arquivos

A eliminação dinâmica de arquivos pode melhorar significativamente o desempenho de muitas consultas em tabelas do Delta Lake. A eliminação dinâmica de arquivos é acionada com base nas decisões do otimizador de consultas e para consultas que contêm instruções de filtro ou cláusulas WHERE . Você deve usar compute habilitada para Photon para garantir o uso de poda dinâmica de arquivos nas instruções MERGE, UPDATE e DELETE . Somente as declarações SELECT garantem o uso da poda dinâmica de arquivos quando o Photon não é usado.

A eliminação dinâmica de arquivos é especialmente eficiente para tabelas não particionadas ou para junções em colunas não particionadas. O efeito do corte dinâmico de arquivos no desempenho geralmente está correlacionado ao clustering de dados, portanto, considere usar Z-ordering para maximizar o benefício.

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 como false, 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 comando DESCRIBE DETAIL table_name e, em seguida, observando a coluna sizeInBytes.
  • 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 comando DESCRIBE DETAIL table_name e, em seguida, observando a coluna numFiles.