Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die dynamische Datei pruning kann die Leistung vieler Abfragen in Delta Lake-Tabellen erheblich verbessern. Dynamische Datei-Bereinigungs-Auslöser für Abfragen, die Filteranweisungen oder WHERE-Klauseln enthalten. Sie müssen Photon-kompatible Rechenleistung verwenden, um dynamische Dateibereinigungen in MERGE, UPDATE, und DELETE Anweisungen zu verwenden. Nur SELECT Anweisungen nutzen dynamischen Dateibeschnitt, wenn Photon nicht verwendet wird.
Die dynamische Dateibereinigung ist besonders effizient für nicht partitionierte Tabellen oder für Verknüpfungen für nicht partitionierte Spalten. Die Auswirkungen der dynamischen Dateibereinigung werden häufig mit dem Clustering von Daten korreliert. Ziehen Sie in Betracht, Z-Ordering zu verwenden, um den Vorteil zu maximieren.
Hintergründe und Anwendungsfälle für die dynamische Löschung von Dateien finden Sie unter Schnellere SQL-Abfragen auf Delta Lake mit dynamischem Datei-Beschneiden.
Konfiguration
Das dynamische Datei-Pruning wird durch die folgenden Apache Spark-Konfigurationsoptionen gesteuert:
-
spark.databricks.optimizer.dynamicFilePruning(Standardeinstellungtrue): Die Hauptflagge, die den Optimierer anweist, um Filter durchzureichen. Wenn diese Einstellung auffalse"Dynamische Dateischnitt" festgelegt ist, wird dies nicht wirksam. -
spark.databricks.optimizer.deltaTableSizeThreshold(Standard ist10,000,000,000 bytes (10 GB)): Stellt die Mindestgröße (in Byte) der Delta-Tabelle auf der Probeseite der Verknüpfung dar, die erforderlich ist, um die dynamische Dateizuschneidung auszulösen. Wenn die Sonde nicht sehr groß ist, lohnt es sich wahrscheinlich nicht, die Filter zu verringern, und wir können einfach die gesamte Tabelle scannen. Sie finden die Größe einer Delta-Tabelle, indem Sie denDESCRIBE DETAIL table_nameBefehl ausführen und dann diesizeInBytesSpalte betrachten. -
spark.databricks.optimizer.deltaTableFilesThreshold(Standardeinstellung):10Stellt die Anzahl der Dateien der Delta-Tabelle auf der Probeseite der Verknüpfung dar, die erforderlich ist, um die dynamische Dateizuschneidung auszulösen. Wenn die Randtabelle des Prüfpunkts weniger Dateien als den Schwellenwert enthält, wird die dynamische Dateibereinigung nicht ausgelöst. Wenn eine Tabelle nur wenige Dateien enthält, lohnt es sich wahrscheinlich nicht, die dynamische Datei pruning zu aktivieren. Sie finden die Größe einer Delta-Tabelle, indem Sie denDESCRIBE DETAIL table_nameBefehl ausführen und dann dienumFilesSpalte betrachten.