Partekatu honen bidez:


Eliminación dinámica de archivos

La eliminación dinámica de archivos puede mejorar significativamente el rendimiento de muchas consultas en tablas de Delta Lake. Desencadenadores dinámicos de eliminación de archivos en función de las decisiones del optimizador de consultas y para las consultas que contienen instrucciones o WHERE cláusulas de filtro. Debe usar el cómputo habilitado para Photon para garantizar el uso de la eliminación dinámica de archivos en MERGE, UPDATE, y DELETE instrucciones. Solo las declaraciones SELECT garantizan el uso de la poda dinámica de archivos cuando no se usa Photon.

La eliminación dinámica de archivos es especialmente eficaz para las tablas sin particiones o para combinaciones en columnas no particionadas. El efecto de rendimiento de la eliminación dinámica de archivos se suele correlacionar con la agrupación en clústeres de datos, por lo que considere la posibilidad de usar Z-Ordering para maximizar la ventaja.

Para obtener información general y casos de uso de la eliminación dinámica de archivos, consulte Consultas más rápidas en Delta Lake con la eliminación dinámica de archivos.

Configuración

La eliminación dinámica de archivos se controla mediante las siguientes opciones de configuración de Apache Spark:

  • spark.databricks.optimizer.dynamicFilePruning (el valor predeterminado es true): el indicador principal que dirige al optimizador para aplicar filtros. Cuando se establece en false, la eliminación dinámica de archivos no estará en vigor.
  • spark.databricks.optimizer.deltaTableSizeThreshold (el valor predeterminado es 10,000,000,000 bytes (10 GB)): representa el tamaño mínimo (en bytes) de la tabla Delta en el lado de sondeo de la combinación necesaria para desencadenar la eliminación dinámica de archivos. Si el lado del sondeo no es muy grande, probablemente no merece la pena hacer descender los filtros y simplemente podemos examinar toda la tabla. Para encontrar el tamaño de una tabla Delta, ejecute el comando DESCRIBE DETAIL table_name y examine la columna sizeInBytes.
  • spark.databricks.optimizer.deltaTableFilesThreshold (el valor predeterminado es 10): representa el número de archivos de la tabla Delta en el lado de sondeo de la combinación necesaria para desencadenar la eliminación de archivos dinámicos. Cuando la tabla lateral del sondeo contiene menos archivos que el valor de umbral, no se desencadena la eliminación dinámica de archivos. Si una tabla tiene solo unos pocos archivos, probablemente no merece la pena habilitar la eliminación de archivos dinámicos. Para encontrar el tamaño de una tabla Delta, ejecute el comando DESCRIBE DETAIL table_name y examine la columna numFiles.