Dynamisk filrensning

Dynamisk fil rensning (DFP) kan avsevärt förbättra prestanda för många frågor i delta tabeller. DFP är särskilt effektivt för icke-partitionerade tabeller, eller för kopplingar till icke-partitionerade kolumner. Prestanda effekten hos DFP är ofta korrelerad till kluster data, så Överväg att använda Z-ordning för att maximera fördelarna med DFP.

För bakgrunds-och användnings fall för DFP, se snabbare SQL-frågor om delta Lake med dynamisk fil rensning.

Anteckning

Tillgängligt i Databricks Runtime 6,1 och senare.

DFP styrs av följande Apache Spark konfigurations alternativ:

  • spark.databricks.optimizer.dynamicPartitionPruning (standard är true ): huvud flaggan som styr optimeringen till push-DFP filter. När det är inställt på false , kommer DFP inte att tillämpas.
  • spark.databricks.optimizer.deltaTableSizeThreshold (standard är 10,000,000,000 bytes (10 GB) ): representerar den minsta storleken (i byte) för delta tabellen på avsöknings sidan för den koppling som krävs för att UTLÖSA DFP. Om avsöknings sidan inte är mycket stor är det förmodligen inte bra att dra ned filtren och vi kan helt enkelt söka igenom hela tabellen. Du kan se storleken på en delta tabell genom att köra DESCRIBE DETAIL table_name kommandot och sedan titta på sizeInBytes kolumnen.
  • spark.databricks.optimizer.deltaTableFilesThreshold (Standardvärdet är 1000 ): representerar antalet filer i delta tabellen på avsöknings sidan för den koppling som krävs för att UTLÖSA DFP. När tabellen för avsöknings sidan innehåller färre filer än tröskelvärdet utlöses DPP inte. Om en tabell bara har några få filer, är det troligt vis inte att aktivera DFP. Du kan se storleken på en delta tabell genom att köra DESCRIBE DETAIL table_name kommandot och sedan titta på numFiles kolumnen.