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.
Śledzenie wierszy w Azure Databricks umożliwia śledzenie pochodzenia danych na poziomie wiersza w tabeli. Niektóre aktualizacje przyrostowe dla zmaterializowanych widoków wymagają tej funkcji.
Wszystkie tabele Apache Iceberg v3 mają wbudowane śledzenie wierszy. Zobacz Korzystanie z funkcji Apache Iceberg v3. W przypadku tabel usługi Delta Lake należy jawnie włączyć śledzenie wierszy.
Ważne
Śledzenie wierszy 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órzy klienci. Nie można obniżyć wersji protokołu tabel, a tabele z włączonym śledzeniem wierszy nie są zapisywalne przez klientów, którzy nie obsługują wszystkich aktywnych funkcji protokołów zapisu tabel. Zobacz kompatybilność funkcji Delta Lake i protokoły.
Włączanie śledzenia wierszy w tabelach delty
Aby włączyć śledzenie wierszy w tabeli usługi Delta Lake, ustaw właściwość delta.enableRowTracking = true tabeli podczas tworzenia tabeli:
CREATE TABLE table_name
TBLPROPERTIES (delta.enableRowTracking = true)
AS SELECT * FROM source_table;
Aby włączyć śledzenie wierszy w istniejącej tabeli usługi Delta Lake, użyj następującego przykładu:
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 tworzy oddzielną historię, więc identyfikatory wierszy i wersje zatwierdzeń wierszy w sklonowanych tabelach nie pasują do tych 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 w tabelach Delta
Aby wyłączyć śledzenie wierszy w tabeli Delta Lake, ustaw właściwość tabeli na false wartość.
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 strumienia danych zmian. Zobacz Korzystanie z przepływu danych zmian w Delta Lake na platformie Azure Databricks.