Überprüfen von Delta-Tabellenmetadaten

Verwenden Sie DESCRIBE DETAIL und DESCRIBE HISTORY, wenn Sie eine Delta-Tabelle prüfen müssen, ohne sie zu ändern. Diese Befehle helfen Ihnen zu verstehen, wie eine Tabelle gespeichert wird, was sich im Laufe der Zeit geändert hat und welche Tabellenversion Sie möglicherweise untersuchen oder wiederherstellen möchten.

Beide Befehle sind schreibgeschützte Inspektionsbefehle. Sie ändern keine Tabellendaten, Metadaten oder den Transaktionsverlauf.

BESCHREIBUNGSDETAIL VERWENDEN

DESCRIBE DETAIL gibt Metadaten auf Tabellenebene für eine Delta-Tabelle zurück. Verwenden Sie sie, wenn Sie eine schnelle Momentaufnahme der Tabellendefinition und Speicherdetails wünschen.

Typische Metadaten umfassen:

  • Tabellenformat
  • Tabellenbezeichner und -name
  • OneLake-Standort
  • Erstellungszeit und Uhrzeit der letzten Änderung
  • Partitionsspalten
  • Dateianzahl und Gesamtgröße in Byte
  • Tabelleneigenschaften
  • Minimale Lese- und Writer-Protokollversionen

Ausführen von DESCRIBE DETAIL

Führen Sie DESCRIBE DETAIL für eine Delta-Tabelle mithilfe von Spark SQL oder der Delta Lake-API in PySpark oder Scala aus.

DESCRIBE DETAIL schema_name.table_name

DESCRIBE DETAIL-Ausgabe verstehen

Das genaue Schema kann je nach Laufzeit- und Tabellenfeatures variieren, aber häufig werden die folgenden Spalten angezeigt.

Column Was dies bedeutet
format Das Tabellenformat. Für Delta-Tabellen in Fabric ist dieser Wert delta.
id Der eindeutige Bezeichner für die Delta-Tabelle.
name Der Name der registrierten Tabelle.
location Der Speicherpfad für die Tabelle in OneLake.
createdAt Der Zeitstempel, zu dem die Tabelle erstellt wurde.
lastModified Der Zeitstempel, zu dem die Tabellenmetadaten oder -dateien zuletzt aktualisiert wurden.
partitionColumns Die Liste der partitionsspalten, die für die Tabelle definiert sind.
numFiles Die aktuelle Anzahl von Datendateien, die von der Tabelle nachverfolgt werden.
sizeInBytes Die Gesamtgröße der nachverfolgten Tabellendaten in Byte.
properties Die Tabelleneigenschaften, die mit der Delta-Tabellendefinition gespeichert sind.
minReaderVersion Die zum Lesen der Tabelle erforderliche Mindestversion des Delta-Protokoll-Lesers.
minWriterVersion Die zum Schreiben in die Tabelle erforderliche Mindestversion des Delta-Protokollschreibers.

Verwenden Sie diese Werte, um zu bestätigen, wo sich eine Tabelle befindet, den Speicherbedarf zu schätzen, die Partitionierung zu überprüfen und zu überprüfen, ob Tabelleneigenschaften oder Protokollversionen geändert wurden.

DESCRIBE HISTORY verwenden

DESCRIBE HISTORY gibt den Verlauf auf Vorgangsebene für eine Delta-Tabelle zurück. Verwenden Sie es, wenn Sie eine Prüfprotokollierung von Schreibvorgängen und Wartungsaktivitäten wie WRITE, MERGE, OPTIMIZE, VACUUM, DELETE oder UPDATE benötigen.

Dieser Verlauf hilft Ihnen bei der Beantwortung von Fragen wie:

  • Wer hat die Tabelle geändert?
  • Welcher Vorgang wurde ausgeführt?
  • Wann hat die Änderung stattgefunden?
  • Welche Version sollten Sie mit der Zeitreise-Funktion prüfen oder wiederherstellen?

DESCRIBE HISTORY ausführen

Führen Sie DESCRIBE HISTORY aus, um den vollständigen verfügbaren Verlauf abzurufen.

DESCRIBE HISTORY schema_name.table_name

Beschränken Sie die Ausgabe, wenn Sie nur die letzten Einträge benötigen.

DESCRIBE HISTORY schema_name.table_name LIMIT n

Die Ausgabe von DESCRIBE HISTORY verstehen

Die Verlaufsausgabe ist ein Prüfprotokoll der Delta-Transaktionen. Die folgenden Spalten sind besonders nützlich.

Column Was dies bedeutet
version Die Delta-Tabellenversion, die durch den Vorgang erstellt wurde.
timestamp Der Zeitpunkt, an dem der Vorgang festgeschrieben wurde.
operation Der Vorgangstyp, wie etwa WRITE, MERGE, OPTIMIZE oder VACUUM.
operationParameters Parameter, die für den Vorgang bereitgestellt wurden.
operationMetrics Metriken, die für den Vorgang erfasst werden, z. B. hinzugefügte Dateien, entfernte Dateien, geschriebene Zeilen oder datenvolume verarbeitete Daten.
userName Der dem Vorgang zugeordnete Benutzer oder Prinzipal, falls verfügbar.
Notebook-Informationen Notizbuchbezogener Kontext, z. B. Notizbuchpfad oder Notizbuch-ID, wenn der Vorgang von einem Notizbuch ausgeführt wurde.

Verwenden Sie operationParameters und operationMetrics zusammen, wenn Sie mehr als den Namen des Vorgangs benötigen. Beispielsweise enthalten OPTIMIZE und VACUUM Einträge häufig Metriken, die Ihnen helfen, zu verstehen, wie viele Daten Fabric umgedreht oder bereinigt wurden.

Wann DESCRIBE HISTORY verwendet werden sollte

DESCRIBE HISTORY ist in diesen Szenarien besonders nützlich:

  • Überwachungspfad: Überprüfen Sie, wer eine Tabelle geändert hat und welche Operation ausgeführt wurde.
  • Debuggen: Identifizieren Sie den Schreib-, Zusammenführungs-, Optimierungs- oder Löschvorgang, der ein Problem eingeführt hat.
  • Version finden: Ermitteln Sie die Tabellenversion, die mit Time Travel oder RESTORE verwendet werden soll.
  • Wartungsüberwachung: Überprüfen OPTIMIZE und VACUUM Metriken, um zu bestätigen, dass die Wartung ausgeführt wurde, und um zu sehen, was sie geändert hat.

Wo diese Befehle ausgeführt werden sollen

Führen Sie diese Befehle in Fabric Notizbüchern und Spark-Auftragsdefinitionen aus, wenn Sie mit Delta-Tabellen über Apache Spark arbeiten.

DESCRIBE DETAIL Funktioniert auch im SQL-Analyseendpunkt für grundlegende Tabellenmetadatenszenarien. Verwenden Sie Spark, wenn Sie vollständige Delta Lake-APIs wie DeltaTable.forName(...).detail() oder DeltaTable.forName(...).history() in PySpark oder Scala benötigen.

Verlaufsaufbewahrung

Die Aufbewahrung des Delta-Verlaufs wird durch die Tabelleneigenschaft delta.logRetentionDuration gesteuert. Der Standardaufbewahrungszeitraum beträgt 30 Tage.

Wenn Sie den älteren Verlauf überprüfen müssen, vergewissern Sie sich, dass ihre Tabellenaufbewahrungseinstellungen das Transaktionsprotokoll lange genug für Ihre betrieblichen und Überwachungsanforderungen beibehalten.