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.
Der Befehl DESCRIBE HISTORY liefert 14 Spalten für Apache Iceberg- und Delta Lake-Tabellen, die die Geschichte der Tabellenoperationen beschreiben. Verwenden Sie diese Referenz, um jede Spalte zu interpretieren.
Für Hinweise zum Abruf der Tabellenhistorie, zum Abfragen früherer Tabellenversionen und zur Wiederherstellung einer Tabelle siehe Arbeit mit Tabellengeschichte.
Verlaufsschema
Die Ausgabe des Vorgangs history enthält die folgenden Spalten.
| Column | Typ | Beschreibung |
|---|---|---|
| version | long |
Die vom Vorgang generierte Tabellenversion. |
| timestamp | timestamp |
Zeitpunkt, zu dem diese Version committet wurde. |
| userId | string |
Die ID des Benutzers, der den Vorgang ausgeführt hat. |
| userName | string |
Der Name des Benutzers, der den Vorgang ausgeführt hat. |
| Betrieb | string |
Der Name des Vorgangs. |
| Betriebsparameter | map |
Die Parameter des Vorgangs (z. B. Prädikate.) Bei OPTIMIZE Vorgängen identifizieren diese Parameter den Typ des Vorgangs. Siehe Identifizieren des VorgangstypsOPTIMIZE. |
| job | struct |
Die Details des Lakeflow-Auftrags, der den Vorgang ausgeführt hat. Füllt nur für Commits, die aus einem Lakeflow-Auftrag geschrieben wurden. Andernfalls, null. |
| Notebook | struct |
Die Details des Databricks-Notizbuchs, aus dem der Vorgang ausgeführt wurde. Wird nur für Commits ausgefüllt, die in einem Databricks-Notebook erstellt wurden. Andernfalls, null. |
| clusterId | string |
Die ID des Clusters, auf dem der Vorgang ausgeführt wurde. |
| Version lesen | long |
Die Version der Tabelle, die zum Ausführen des Schreibvorgangs gelesen wurde. |
| isolationLevel | string |
Die für diesen Vorgang verwendete Isolationsstufe. |
| isBlindAppend | boolean |
Gibt an, ob dieser Vorgang Daten angefügt hat. |
| operationMetrics | map |
Die Metriken des Vorgangs (z. B. Anzahl von Zeilen und Dateien geändert.) |
| Benutzermetadaten | string |
Die benutzerdefinierten Commit-Metadaten, falls angegeben. |
+-------+-------------------+------+--------+---------+--------------------+----+--------+---------+-----------+-----------------+-------------+--------------------+
|version| timestamp|userId|userName|operation| operationParameters| job|notebook|clusterId|readVersion| isolationLevel|isBlindAppend| operationMetrics|
+-------+-------------------+------+--------+---------+--------------------+----+--------+---------+-----------+-----------------+-------------+--------------------+
| 5|2019-07-29 14:07:47| ###| ###| DELETE|[predicate -> ["(...|null| ###| ###| 4|WriteSerializable| false|[numTotalRows -> ...|
| 4|2019-07-29 14:07:41| ###| ###| UPDATE|[predicate -> (id...|null| ###| ###| 3|WriteSerializable| false|[numTotalRows -> ...|
| 3|2019-07-29 14:07:29| ###| ###| DELETE|[predicate -> ["(...|null| ###| ###| 2|WriteSerializable| false|[numTotalRows -> ...|
| 2|2019-07-29 14:06:56| ###| ###| UPDATE|[predicate -> (id...|null| ###| ###| 1|WriteSerializable| false|[numTotalRows -> ...|
| 1|2019-07-29 14:04:31| ###| ###| DELETE|[predicate -> ["(...|null| ###| ###| 0|WriteSerializable| false|[numTotalRows -> ...|
| 0|2019-07-29 14:01:40| ###| ###| WRITE|[mode -> ErrorIfE...|null| ###| ###| null|WriteSerializable| true|[numFiles -> 2, n...|
+-------+-------------------+------+--------+---------+--------------------+----+--------+---------+-----------+-----------------+-------------+--------------------+
Hinweis
- Wenn Sie mithilfe der folgenden Methoden in eine Tabelle schreiben, stehen einige Spalten nicht zur Verfügung:
- Zukünftig hinzugefügte Spalten werden immer hinter der letzten Spalte hinzugefügt.
Verständnis partitionBy für Betriebsparameter
Das partitionBy Feld im Tabellenverlauf ist nur für CREATE- und OVERWRITE-Vorgänge sinnvoll, die das Partitionsschema einer Tabelle definieren oder ändern.
Bei Anfügevorgängen an vorhandene Tabellen (APPEND, INSERT, , UPDATEDELETE, MERGE) kann in diesem Feld je nach verwendeter Schreibmethode ([] vs .save()) ein leeres Array .saveAsTable() oder Partitionsspalten angezeigt werden.
Diese Inkonsistenz ist ein erwartetes Verhalten und wirkt sich nicht darauf aus, wie Daten in Partitionen geschrieben werden. Sie sollten sie nicht zum Überprüfen von Anfügevorgängen verwenden.
Beispiel
Betrachten Sie eine Tabelle, die von der date Spalte partitioniert wird. Wenn Sie die Tabelle erstellen, wird partitionBy mit folgenden Werten gefüllt:
df.write.format("delta") \
.partitionBy("date") \
.saveAsTable("sales_data")
Der CREATE-Vorgang im Verlauf zeigt Folgendes:
operationParameters: {
"mode": "ErrorIfExists",
"partitionBy": "[\"date\"]"
}
Wenn Sie Daten an diese Tabelle anhängen, zeigt partitionBy ein leeres Array an:
new_df.write.format("delta") \
.mode("append") \
.saveAsTable("sales_data")
Der APPEND-Vorgang zeigt:
operationParameters: {
"mode": "Append",
"partitionBy": "[]"
}
Es wird erwartet, dass der partitionBy Wert leer ist. Die Daten werden weiterhin basierend auf dem vorhandenen Partitionsschema der Tabelle in die richtigen Partitionen geschrieben. Beachten Sie, dass beim Schreiben in einen Pfad .save() in diesem Feld möglicherweise Partitionsspalten angezeigt werden, dieser Unterschied jedoch ein Implementierungsdetail ist und keine Auswirkungen auf das Schreibverhalten hat.
Vorgangsmetriken
Die Operation history liefert eine Sammlung von Operationsmetriken in der Spaltenabbildung operationMetrics .
In den folgenden Tabellen sind die Kartenschlüsseldefinitionen pro Vorgang aufgeführt.
WRITE, CREATE TABLE AS SELECT, REPLACE TABLE AS SELECT, COPY INTO
Die folgenden Metriken sind für diese Vorgänge verfügbar:
| Metrikname | Beschreibung |
|---|---|
numFiles |
Die Anzahl der geschriebenen Dateien. |
numOutputBytes |
Die Größe in Byte des geschriebenen Inhalts. |
numOutputRows |
Die Anzahl der geschriebenen Zeilen. |
STREAMING UPDATE
Die folgenden Metriken sind für diesen Vorgang verfügbar:
| Metrikname | Beschreibung |
|---|---|
numAddedFiles |
Die Anzahl der hinzugefügten Dateien. |
numRemovedFiles |
Die Anzahl der entfernten Dateien. |
numOutputRows |
Die Anzahl der geschriebenen Zeilen. |
numOutputBytes |
Die Größe des Schreibens in Bytes. |
DELETE
Die folgenden Metriken sind für diesen Vorgang verfügbar:
| Metrikname | Beschreibung |
|---|---|
numAddedFiles |
Die Anzahl der hinzugefügten Dateien. Wird nicht angegeben, wenn Partitionen der Tabelle gelöscht werden. |
numRemovedFiles |
Die Anzahl der entfernten Dateien. |
numDeletedRows |
Die Anzahl der entfernten Zeilen. Wird nicht angegeben, wenn Partitionen der Tabelle gelöscht werden. |
numCopiedRows |
Die Anzahl der Zeilen, die beim Löschen von Dateien kopiert wurden. |
executionTimeMs |
Die Zum Ausführen des gesamten Vorgangs benötigte Zeit. |
scanTimeMs |
Die zum Scannen der Dateien auf Übereinstimmungen benötigte Zeit. |
rewriteTimeMs |
Die Zeit, die zum Umschreiben der übereinstimmenden Dateien gedauert hat. |
TRUNCATE
Die folgenden Metriken sind für diesen Vorgang verfügbar:
| Metrikname | Beschreibung |
|---|---|
numRemovedFiles |
Die Anzahl der entfernten Dateien. |
executionTimeMs |
Die Zum Ausführen des gesamten Vorgangs benötigte Zeit. |
MERGE
Die folgenden Metriken sind für diesen Vorgang verfügbar:
| Metrikname | Beschreibung |
|---|---|
numSourceRows |
Die Anzahl der Zeilen im Quelldatenframe. |
numTargetRowsInserted |
Die Anzahl der Zeilen, die in die Zieltabelle eingefügt wurden. |
numTargetRowsUpdated |
Die Anzahl der Zeilen, die in der Zieltabelle aktualisiert wurden. |
numTargetRowsDeleted |
Die Anzahl der in der Zieltabelle gelöschten Zeilen. |
numTargetRowsCopied |
Die Anzahl der kopierten Zielzeilen. |
numOutputRows |
Die Gesamtzahl der geschriebenen Zeilen. |
numTargetFilesAdded |
Die Anzahl der Dateien, die der Spüle (Ziel) hinzugefügt wurden. |
numTargetFilesRemoved |
Die Anzahl der Dateien, die aus der Spüle (Ziel) entfernt wurden. |
executionTimeMs |
Die Zum Ausführen des gesamten Vorgangs benötigte Zeit. |
scanTimeMs |
Die zum Scannen der Dateien auf Übereinstimmungen benötigte Zeit. |
rewriteTimeMs |
Die Zeit, die zum Umschreiben der übereinstimmenden Dateien gedauert hat. |
UPDATE
Die folgenden Metriken sind für diesen Vorgang verfügbar:
| Metrikname | Beschreibung |
|---|---|
numAddedFiles |
Die Anzahl der hinzugefügten Dateien. |
numRemovedFiles |
Die Anzahl der entfernten Dateien. |
numUpdatedRows |
Die Anzahl der aktualisierten Zeilen. |
numCopiedRows |
Die Anzahl der Zeilen, die während der Dateiaktualisierung kopiert wurden. |
executionTimeMs |
Die Zum Ausführen des gesamten Vorgangs benötigte Zeit. |
scanTimeMs |
Die zum Scannen der Dateien auf Übereinstimmungen benötigte Zeit. |
rewriteTimeMs |
Die Zeit, die zum Umschreiben der übereinstimmenden Dateien gedauert hat. |
FSCK
Die folgenden Metriken sind für diesen Vorgang verfügbar:
| Metrikname | Beschreibung |
|---|---|
numRemovedFiles |
Die Anzahl der entfernten Dateien. |
CONVERT
Die folgenden Metriken sind für diesen Vorgang verfügbar:
| Metrikname | Beschreibung |
|---|---|
numConvertedFiles |
Die Anzahl der Parquet-Dateien, die konvertiert wurden. |
OPTIMIZE
Die folgenden Metriken sind für diesen Vorgang verfügbar:
| Metrikname | Beschreibung |
|---|---|
numAddedFiles |
Die Anzahl der hinzugefügten Dateien. |
numRemovedFiles |
Die Anzahl der optimierten Dateien. |
numAddedBytes |
Die Anzahl der Bytes, die nach der Optimierung der Tabelle hinzugefügt wurden. |
numRemovedBytes |
Die Anzahl der entfernten Bytes. |
minFileSize |
Die Größe der kleinsten Datei, nachdem die Tabelle optimiert wurde. |
p25FileSize |
Die Dateigröße im 25. Perzentil nach der Optimierung der Tabelle. |
p50FileSize |
Die Mediandateigröße, nachdem die Tabelle optimiert wurde. |
p75FileSize |
Die Größe der Datei am 75. Perzentil nach der Optimierung der Tabelle. |
maxFileSize |
Die Größe der größten Datei nach der Optimierung der Tabelle. |
CLONE
Die folgenden Metriken sind für diesen Vorgang verfügbar:
| Metrikname | Beschreibung |
|---|---|
sourceTableSize |
Die Größe in Byte der Quelltabelle in der Version, die geklont wird. |
sourceNumOfFiles |
Die Anzahl der Dateien in der Quelltabelle in der Version, die geklont wird. |
numRemovedFiles |
Die Anzahl der Dateien, die aus der Zieltabelle entfernt wurden, wenn eine vorherige Tabelle ersetzt wurde. |
removedFilesSize |
Die Gesamtgröße in Byte der Dateien, die aus der Zieltabelle entfernt wurden, wenn eine vorherige Tabelle ersetzt wurde. |
numCopiedFiles |
Die Anzahl der Dateien, die an den neuen Speicherort kopiert wurden. „0“ für flache Klone. |
copiedFilesSize |
Die Gesamtgröße in Byte der Dateien, die an den neuen Speicherort kopiert wurden. „0“ für flache Klone. |
RESTORE
Die folgenden Metriken sind für diesen Vorgang verfügbar:
| Metrikname | Beschreibung |
|---|---|
tableSizeAfterRestore |
Die Tabellengröße in Byte nach der Wiederherstellung. |
numOfFilesAfterRestore |
Die Anzahl der Dateien in der Tabelle nach der Wiederherstellung. |
numRemovedFiles |
Die Anzahl der Dateien, die vom Wiederherstellungsvorgang entfernt wurden. |
numRestoredFiles |
Die Anzahl der Dateien, die als Ergebnis der Wiederherstellung hinzugefügt wurden. |
removedFilesSize |
Die Größe in Bytes von Dateien, die von der Wiederherstellung entfernt wurden. |
restoredFilesSize |
Die Größe in Bytes von Dateien, die durch die Wiederherstellung hinzugefügt wurden. |
VACUUM
Die folgenden Metriken sind für diesen Vorgang verfügbar:
| Metrikname | Beschreibung |
|---|---|
numDeletedFiles |
Die Anzahl der gelöschten Dateien. |
numVacuumedDirectories |
Die Anzahl der vakuumierten Verzeichnisse. |
numFilesToDelete |
Die Anzahl der zu löschenden Dateien. |