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.
Verwenden Sie den REORG Befehl, wenn Sie einen Teil einer Delta-Tabelle für ein bestimmtes Wartungsziel neu schreiben müssen. In Fabric wird REORG das physische Layout einer Tabelle neu organisiert, indem Datendateien umgeschrieben oder Tabellenmetadaten aktualisiert werden, je nachdem, welche Option Sie auswählen.
REORG unterscheidet sich von der Routinedateikomprimierung. Sie zielt auf Szenarien ab, z. B. das physische Entfernen von Zeilen, die von Löschvektoren als gelöscht markiert wurden.
Was REORG tut
REORG TABLE Schreibt den Tabellenstatus für einen definierten Wartungsvorgang neu.
-
APPLY (PURGE)schreibt betroffene Datendateien neu, sodass Zeilen, die durch Löschvektoren logisch gelöscht wurden, physisch aus den zugrunde liegenden Parquet-Dateien entfernt werden.
Verwenden Sie diese Methode REORG , wenn Sie ein bestimmtes Rewrite-Ergebnis benötigen, nicht nur kleinere oder weniger Dateien.
Verwenden Sie PURGE, um als gelöscht markierte Zeilen physisch zu entfernen
Mit Löschvektoren können Delta Lake Zeilen sofort als gelöscht markieren, ohne die ursprünglichen Parkettdateien sofort neu zu schreiben. Dieses Verhalten behält Löschvorgänge effizient bei, aber die gelöschten Zeilendaten sind weiterhin in den physischen Dateien vorhanden, bis Sie sie neu schreiben.
Wenn Sie REORG TABLE ... APPLY (PURGE) ausführen, schreibt Fabric die betroffenen Dateien neu und entfernt die vorläufig gelöschten Zeilen aus den aktiven Parkettdateien. Nachdem PURGE abgeschlossen ist, sind diese gelöschten Zeilen tatsächlich aus den neu geschriebenen Dateien verschwunden.
Note
PURGE ist in der Regel nicht als separater Wartungsschritt erforderlich.
OPTIMIZE Löscht Dateien automatisch, bei denen mehr als 5% datensätze durch Löschvektoren während der Komprimierung referenziert werden. Reservieren Sie PURGE für Szenarien, in denen Sie explizite Kontrolle darüber benötigen, wann vorläufig gelöschte Zeilen physisch entfernt werden.
Diese Option ist nützlich, wenn:
- Sie verfügen über Compliance- oder DSGVO-Anforderungen und benötigen gelöschte Daten, die physisch nach einem bestimmten Zeitplan entfernt werden müssen.
- Sie möchten das Löschen von Dateien erzwingen, die unter den verwendeten Schwellenwert
OPTIMIZEvon 5% fallen.
Überprüfen der Syntax
Verwenden Sie die folgenden Beispiele in einem Fabric Notizbuch.
Löschen vorläufig gelöschter Zeilen aus einer Tabelle
Löschen vorläufig gelöschter Zeilen nur für übereinstimmende Daten
Verwenden Sie eine WHERE Klausel, wenn Sie bestimmte Partitionen oder ein kleineres Datensegment als Ziel festlegen möchten.
Wählen Sie REORG oder OPTIMIEREN aus.
REORG und OPTIMIZE lösen unterschiedliche Probleme.
-
OPTIMIZEführt die Bin-Komprimierung durch. Es konsolidiert kleine Dateien in größere Dateien, um die Scaneffizienz zu verbessern. -
REORG ... APPLY (PURGE)entfernt physisch Zeilen, die von Löschvektoren als gelöscht markiert wurden.
Sie können beide Befehle zusammen verwenden. Sie könnten beispielsweise REORG ... APPLY (PURGE) ausführen, um gelöschte Daten physisch zu entfernen, und dann OPTIMIZE ausführen, um die Dateianordnung zu verbessern.
Grundlegendes zu Löschvektoren
Löschvektoren sind Metadatenstrukturen, die Zeilen als gelöscht markieren, ohne die Parkettdateien, die diese Zeilen enthalten, sofort neu zu schreiben. Leser berücksichtigen die Löschvektoren, sodass die gelöschten Zeilen nicht in Abfrageergebnissen angezeigt werden, aber die Bytes bleiben weiterhin im Speicher, bis ein Umschreiben erfolgt.
REORG ... APPLY (PURGE) ist der Schritt, der diese Zeilen physisch aus den neu geschriebenen Parquet-Dateien entfernt.
REORG in Fabric ausführen
Führen Sie REORG in Fabric aus Spark-basierten Umgebungen aus, z. B.:
- Fabric-Notizbücher
- Spark-Auftragsdefinitionen
Führen Sie REORG nicht über den SQL-Analyseendpunkt aus.
REORG ist ein Spark SQL-Wartungsbefehl für Delta-Tabellen.
Bewährte Methoden befolgen
- Führen Sie
PURGEnur aus, wenn Sie einen konkreten Bedarf haben, zum Beispiel Compliance-Anforderungen.OPTIMIZElöscht automatisch Dateien, bei denen mehr als 5 % der Datensätze von Löschvektoren referenziert werden, sodass eine Routinewartung in der Regel keinen separatenPURGE-Schritt erfordert. - Führen Sie
PURGEvorVACUUMaus, wenn gelöschte Daten zur Einhaltung von Compliance- oder DSGVO-Anforderungen physisch entfernt werden müssen. - Verwenden Sie
WHEREPrädikate, um bestimmte Partitionen als Ziel festzulegen, wenn Sie die vollständige Tabelle nicht neu schreiben müssen. - Verwenden Sie
UPGRADE UNIFORM, wenn Sie Iceberg-Reader benötigen, berücksichtigen Sie jedoch die zusätzlichen Metadaten, die UniForm verwaltet. - Behandeln
REORGundOPTIMIZEals ergänzende Wartungsvorgänge, nicht austauschbar.