Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Śledzenie wierszy w Delta Lake umożliwia usłudze Azure Databricks śledzenie pochodzenia na poziomie wiersza w tabeli Delta. Ta funkcja jest wymagana dla niektórych aktualizacji przyrostowych zmaterializowanych widoków.
Ważne
Śledzenie wierszy usługi Delta Lake jest dostępne w środowisku Databricks Runtime 14.1 lub nowszym.
Śledzenie wierszy jest funkcją tabeli i używa wyższego protokołu zapisu tabeli niż niektóre klienty Delta Lake. Nie można obniżyć wersji protokołu tabel, a tabele z włączonym śledzeniem wierszy nie są zapisywalne przez klientów Delta Lake, którzy nie obsługują wszystkich włączonych funkcji protokołu zapisu Delta. Zobacz kompatybilność funkcji Delta Lake i protokoły.
Włącz śledzenie wierszy
Należy jawnie włączyć śledzenie wierszy, ustawiając właściwość delta.enableRowTracking = truetabeli .
Można to zrobić podczas tworzenia tabeli, jak w poniższym przykładzie:
CREATE TABLE table_name
TBLPROPERTIES (delta.enableRowTracking = true)
AS SELECT * FROM source_table;
Możesz zmienić istniejącą tabelę, aby włączyć śledzenie wierszy, jak w poniższym przykładzie:
ALTER TABLE table_name SET TBLPROPERTIES (delta.enableRowTracking = true);
Ważne
Włączenie śledzenia wierszy w istniejących tabelach automatycznie przypisuje identyfikatory wierszy i wersje zatwierdzeń wierszy do wszystkich istniejących wierszy w tabeli. Ten proces może spowodować utworzenie wielu nowych wersji tabeli i może zająć dużo czasu.
Klonowanie tabeli delty tworzy oddzielną historię, więc identyfikatory wierszy i wersje zatwierdzeń wierszy w sklonowanych tabelach nie są zgodne z tymi w oryginalnej tabeli.
Jaki jest schemat pól metadanych śledzenia wierszy?
Śledzenie wierszy dodaje do tabeli dwa ukryte pola metadanych. Możesz jawnie dodać te pola do zapytania, aby zwrócić wartości.
| Nazwa kolumny | Typ | Wartości | Wyjaśnienie |
|---|---|---|---|
_metadata.row_id |
Długi | Unikalny identyfikator wiersza. | Wiersz zachowuje ten sam identyfikator za każdym razem, gdy jest modyfikowany przy użyciu instrukcji MERGE lub UPDATE. |
_metadata.row_commit_version |
Długi | Wersja dziennika delty lub tabeli, w której wiersz został ostatnio wstawiony lub zaktualizowany. | Wiersz otrzymuje nową wersję za każdym razem, gdy jest modyfikowany przy użyciu instrukcji MERGE lub UPDATE. |
Niektóre operacje przechowują te pola metadanych przy użyciu dziennika transakcji. Uruchamianie operacji OPTIMIZE lub REORG w tabeli z włączonym śledzeniem wierszy przepisuje pliki danych w celu przechowywania tych pól.
Wyłącz śledzenie wierszy
Śledzenie wierszy można wyłączyć, ustawiając właściwość tabeli na false.
ALTER TABLE table_name SET TBLPROPERTIES (delta.enableRowTracking = false);
Ważne
Wyłączenie śledzenia wierszy nie powoduje usunięcia odpowiedniej funkcji tabeli i nie obniża wersji protokołu tabeli. Nie powoduje również usunięcia pól metadanych z tabeli docelowej.
Po wyłączeniu śledzenia wierszy wygenerowane identyfikatory wierszy nie są już niezawodne do śledzenia unikatowych wierszy.
Ograniczenia
Nie można uzyskać dostępu do pól metadanych identyfikatorów wierszy i wersji zatwierdzeń wierszy podczas odczytywania kanału danych o zmianach. Zobacz Używanie kanału danych zmian Delta Lake na platformie Azure Databricks.