Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dowództwo DESCRIBE HISTORY zwraca 14 kolumn dla tabel Apache Iceberg i Delta Lake, które opisują historię operacji tabelowych. Użyj tego odniesienia, aby zinterpretować każdą kolumnę.
Aby uzyskać wskazówki dotyczące odzyskiwania historii tabeli, zapytań do wcześniejszych wersji tabeli oraz przywracania tabeli, zobacz Praca z historią tabeli.
Schemat historii
Dane wyjściowe history operacji zawierają następujące kolumny.
| Column | Typ | Description |
|---|---|---|
| wersja | long |
Wersja tabeli wygenerowana przez operację. |
| sygnatura czasowa | timestamp |
Kiedy ta wersja została zatwierdzona. |
| userId | string |
Identyfikator użytkownika, który uruchomił operację. |
| userName | string |
Nazwa użytkownika, który uruchomił operację. |
| operacja | string |
Nazwa operacji. |
| parametry operacji | map |
Parametry operacji (na przykład predykaty). W przypadku OPTIMIZE operacji te parametry identyfikują typ operacji. Zobacz Identyfikowanie typu OPTIMIZE operacji. |
| zadanie | struct |
Szczegóły zadania Lakeflow, w ramach którego uruchomiono operację. Jest wypełniane tylko dla commitów utworzonych przez zadanie Lakeflow. W przeciwnym razie null. |
| notes | struct |
Szczegóły notesu Databricks, z którego uruchomiono operację. Jest wypełniane tylko dla commitów utworzonych w notesniku Databricks. W przeciwnym razie null. |
| clusterId | string |
Identyfikator klastra, na którym uruchomiono operację. |
| odczytajWersję | long |
Wersja tabeli odczytanej w celu wykonania operacji zapisu. |
| isolationLevel | string |
Poziom izolacji używany dla tej operacji. |
| isBlindAppend | boolean |
Czy ta operacja dołączała dane. |
| operationMetrics | map |
Metryki operacji (na przykład liczba wierszy i plików zmodyfikowanych). |
| userMetadata | string |
Metadane zatwierdzenia zdefiniowane przez użytkownika, jeśli zostały określone. |
+-------+-------------------+------+--------+---------+--------------------+----+--------+---------+-----------+-----------------+-------------+--------------------+
|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...|
+-------+-------------------+------+--------+---------+--------------------+----+--------+---------+-----------+-----------------+-------------+--------------------+
Uwaga / Notatka
- Jeśli zapisujesz w tabeli przy użyciu następujących metod, niektóre kolumny nie są dostępne:
- Kolumny dodane w przyszłości będą zawsze dodawane po ostatniej kolumnie.
Opis partitionBy parametrów operacji
Pole partitionBy w historii tabeli ma znaczenie tylko w przypadku operacji CREATE i OVERWRITE, które definiują lub zmieniają schemat partycji tabeli.
W przypadku operacji dołączania do istniejących tabel (APPEND, INSERT, , UPDATEDELETE, MERGE) to pole może wyświetlać pustą tablicę [] lub kolumny partycji w zależności od używanej metody zapisu (.save() vs .saveAsTable()).
Ta niespójność jest oczekiwanym zachowaniem i nie wpływa na sposób zapisywania danych w partycjach. Nie należy jej używać do weryfikowania operacji dołączania.
Przykład
Rozważ podzielenie tabeli na partycje według kolumny date . Po utworzeniu tabeli partitionBy zostanie wypełniona:
df.write.format("delta") \
.partitionBy("date") \
.saveAsTable("sales_data")
Operacja CREATE w historii pokazuje:
operationParameters: {
"mode": "ErrorIfExists",
"partitionBy": "[\"date\"]"
}
Po dołączeniu danych do tej tabeli partitionBy zostanie wyświetlona pusta tablica:
new_df.write.format("delta") \
.mode("append") \
.saveAsTable("sales_data")
Operacja APPEND pokazuje:
operationParameters: {
"mode": "Append",
"partitionBy": "[]"
}
Oczekuje się, że wartość partitionBy będzie pusta. Dane są nadal zapisywane we poprawnych partycjach na podstawie istniejącego schematu partycji tabeli. Pamiętaj, że w przypadku ścieżki .save() w tym polu mogą być wyświetlane kolumny partycjonowania, ale ta różnica jest szczegółem implementacyjnym i nie wpływa na działanie zapisu.
Metryki operacji
Operacja history zwraca zbiór metryk operacji w mapie kolumnowej operationMetrics .
W poniższych tabelach wymieniono definicje kluczy mapy według operacji.
WRITE
CREATE TABLE AS SELECT, , , REPLACE TABLE AS SELECTCOPY INTO
Następujące metryki są dostępne dla tych operacji:
| Nazwa metryki | Description |
|---|---|
numFiles |
Liczba zapisanych plików. |
numOutputBytes |
Rozmiar w bajtach zapisanej zawartości. |
numOutputRows |
Liczba zapisanych wierszy. |
STREAMING UPDATE
Dla tej operacji są dostępne następujące metryki:
| Nazwa metryki | Description |
|---|---|
numAddedFiles |
Liczba dodanych plików. |
numRemovedFiles |
Liczba usuniętych plików. |
numOutputRows |
Liczba zapisanych wierszy. |
numOutputBytes |
Rozmiar zapisu w bajtach. |
DELETE
Dla tej operacji są dostępne następujące metryki:
| Nazwa metryki | Description |
|---|---|
numAddedFiles |
Liczba dodanych plików. Nie jest dostępne, kiedy partycje tabeli są usuwane. |
numRemovedFiles |
Liczba usuniętych plików. |
numDeletedRows |
Liczba usuniętych wierszy. Nie jest dostępne, kiedy partycje tabeli są usuwane. |
numCopiedRows |
Liczba wierszy skopiowanych w procesie usuwania plików. |
executionTimeMs |
Czas potrzebny na wykonanie całej operacji. |
scanTimeMs |
Czas potrzebny na skanowanie plików pod kątem dopasowań. |
rewriteTimeMs |
Czas potrzebny na ponowne zapisywanie dopasowanych plików. |
TRUNCATE
Dla tej operacji są dostępne następujące metryki:
| Nazwa metryki | Description |
|---|---|
numRemovedFiles |
Liczba usuniętych plików. |
executionTimeMs |
Czas potrzebny na wykonanie całej operacji. |
MERGE
Dla tej operacji są dostępne następujące metryki:
| Nazwa metryki | Description |
|---|---|
numSourceRows |
Liczba wierszy w źródłowej ramce danych. |
numTargetRowsInserted |
Liczba wierszy wstawionych do tabeli docelowej. |
numTargetRowsUpdated |
Liczba wierszy zaktualizowanych w tabeli docelowej. |
numTargetRowsDeleted |
Liczba wierszy usuniętych w tabeli docelowej. |
numTargetRowsCopied |
Liczba skopiowanych wierszy docelowych. |
numOutputRows |
Całkowita liczba zapisanych wierszy. |
numTargetFilesAdded |
Liczba plików dodanych do ujścia (elementu docelowego). |
numTargetFilesRemoved |
Liczba plików usuniętych z ujścia (celu). |
executionTimeMs |
Czas potrzebny na wykonanie całej operacji. |
scanTimeMs |
Czas potrzebny na skanowanie plików pod kątem dopasowań. |
rewriteTimeMs |
Czas potrzebny na ponowne zapisywanie dopasowanych plików. |
UPDATE
Dla tej operacji są dostępne następujące metryki:
| Nazwa metryki | Description |
|---|---|
numAddedFiles |
Liczba dodanych plików. |
numRemovedFiles |
Liczba usuniętych plików. |
numUpdatedRows |
Liczba zaktualizowanych wierszy. |
numCopiedRows |
Liczba wierszy właśnie skopiowanych w procesie aktualizowania plików. |
executionTimeMs |
Czas potrzebny na wykonanie całej operacji. |
scanTimeMs |
Czas potrzebny na skanowanie plików pod kątem dopasowań. |
rewriteTimeMs |
Czas potrzebny na ponowne zapisywanie dopasowanych plików. |
FSCK
Dla tej operacji są dostępne następujące metryki:
| Nazwa metryki | Description |
|---|---|
numRemovedFiles |
Liczba usuniętych plików. |
CONVERT
Dla tej operacji są dostępne następujące metryki:
| Nazwa metryki | Description |
|---|---|
numConvertedFiles |
Liczba przekonwertowanych plików Parquet. |
OPTIMIZE
Dla tej operacji są dostępne następujące metryki:
| Nazwa metryki | Description |
|---|---|
numAddedFiles |
Liczba dodanych plików. |
numRemovedFiles |
Liczba zoptymalizowanych plików. |
numAddedBytes |
Liczba bajtów dodanych po zoptymalizowaniu tabeli. |
numRemovedBytes |
Liczba usuniętych bajtów. |
minFileSize |
Rozmiar najmniejszego pliku po zoptymalizowaniu tabeli. |
p25FileSize |
Rozmiar pliku dla 25. percentyla po zoptymalizowaniu tabeli. |
p50FileSize |
Rozmiar pliku mediany po zoptymalizowaniu tabeli. |
p75FileSize |
Rozmiar pliku z 75. percentyla po optymalizacji tabeli. |
maxFileSize |
Rozmiar największego pliku po zoptymalizowaniu tabeli. |
CLONE
Dla tej operacji są dostępne następujące metryki:
| Nazwa metryki | Description |
|---|---|
sourceTableSize |
Rozmiar w bajtach tabeli źródłowej w sklonowanej wersji. |
sourceNumOfFiles |
Liczba plików w tabeli źródłowej w sklonowanej wersji. |
numRemovedFiles |
Liczba plików usuniętych z tabeli docelowej, jeśli poprzednia tabela została zamieniona. |
removedFilesSize |
Całkowity rozmiar w bajtach plików usuniętych z tabeli docelowej, jeśli poprzednia tabela została zamieniona. |
numCopiedFiles |
Liczba plików, które zostały skopiowane do nowej lokalizacji. 0 dla płytkich klonów. |
copiedFilesSize |
Łączny rozmiar w bajtach plików, które zostały skopiowane do nowej lokalizacji. 0 dla płytkich klonów. |
RESTORE
Dla tej operacji są dostępne następujące metryki:
| Nazwa metryki | Description |
|---|---|
tableSizeAfterRestore |
Rozmiar tabeli w bajtach po przywróceniu. |
numOfFilesAfterRestore |
Liczba plików w tabeli po przywróceniu. |
numRemovedFiles |
Liczba plików usuniętych przez operację przywracania. |
numRestoredFiles |
Liczba plików, które zostały dodane w wyniku przywracania. |
removedFilesSize |
Rozmiar plików usuniętych przez przywracanie w bajtach. |
restoredFilesSize |
Rozmiar w bajtach plików dodanych przez przywracanie. |
VACUUM
Dla tej operacji są dostępne następujące metryki:
| Nazwa metryki | Description |
|---|---|
numDeletedFiles |
Liczba usuniętych plików. |
numVacuumedDirectories |
Liczba katalogów opróżnionych. |
numFilesToDelete |
Liczba plików do usunięcia. |