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.
Zatwierdzenia katalogu przenoszą koordynację zatwierdzeń z systemu plików do Unity Catalog, dzięki czemu katalog staje się jedynym źródłem prawdy o stanie tabel Delta Lake i Apache Iceberg. Umożliwia to wykonywanie transakcji obejmujących wiele tabel, szybsze planowanie zapytań i zarządzanie dostępem we wszystkich operacjach tabeli.
Tradycyjne transakcje Delta Lake koordynują zatwierdzenia na poziomie pojedynczej tabeli. Każda tabela zarządza własnym dziennikiem transakcji i wykrywaniem konfliktów niezależnie. Przeniesienie koordynacji zatwierdzeń transakcji na poziom katalogu umożliwia organizacjom spójne zarządzanie całym dostępem do Lakehouse za pośrednictwem Unity Catalog. Umożliwia również katalogowi Unity koordynowanie zatwierdzeń w wielu tabelach w granicach jednej transakcji, z zachowaniem gwarancji ACID Delta Lake.
Korzyści
Zatwierdzenia w katalogu zapewniają następujące możliwości:
Transakcje obejmujące wiele tabel: uruchom wiele instrukcji SQL w wielu tabelach jako pojedyncze zatwierdzenie atomowe. Wszystkie zmiany albo kończą się powodzeniem, albo niepowodzeniem. Zobacz Transakcje.
Ważna
Transakcje, które zapisują do zarządzanych tabel Iceberg w Unity Catalog, są dostępne w prywatnym podglądzie. Aby dołączyć do tej wersji zapoznawczej, prześlij formularz rejestracji w wersji zapoznawczej zarządzanych tabel Iceberg.
Dostęp zarządzany: odczyty i zapisy są koordynowane za pośrednictwem Unity Catalogu, dzięki czemu silniki widzą najnowszy zatwierdzony stan, a zasady zarządzania są stosowane.
Szybsze planowanie zapytań i zapisy: Katalog Unity informuje klienta Delta o metadanych na poziomie tabeli bezpośrednio podczas uzyskiwania dostępu do tabeli, pomijając magazyn w chmurze i usuwając główne źródło opóźnienia metadanych.
Wymuszane ograniczenia: Unity Catalog weryfikuje lub odrzuca zmiany schematu i ograniczeń, uniemożliwiając niezgodne aktualizacje, które mogą naruszyć integralność danych lub procesy zależne.
Dostęp zewnętrzny: Bezpieczne zapisywanie w tabelach zarządzanych przez Katalog Unity z silników zewnętrznych. Katalog Unity koordynuje zatwierdzenia zmian, aby zapobiec uszkodzeniom i konfliktom współbieżności. Zobacz Uzyskiwanie dostępu do danych usługi Databricks przy użyciu systemów zewnętrznych.
Ważna
Ta funkcja jest dostępna w wersji beta. Administratorzy obszaru roboczego mogą kontrolować dostęp do tej funkcji ze strony Podglądy . Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.
Requirements
- Tabele muszą być tabelami zarządzanymi w Unity Catalog (Delta lub Iceberg), w tym tabelami strumieniowymi, lub widokami materializowanymi.
- Do odczytywania danych z tabel zarządzanych z włączonymi zatwierdzeniami w katalogu, zapisywania danych do nich lub ich tworzenia wymagana jest wersja Databricks Runtime 16.4 lub nowsza.
- Wymagana jest wersja Databricks Runtime 18.0 lub nowsza, aby włączyć lub wyłączyć zatwierdzenia w katalogu dla istniejących tabel zarządzanych.
- Wymagany jest Databricks Runtime 17.3 lub nowszy do odczytywania z tabel strumieniowych lub widoków materializowanych z włączonymi zatwierdzeniami katalogu oraz do zapisywania do nich.
- W Spark Declarative Pipelines do odczytu z tabel strumieniowych lub widoków materializowanych z włączonymi zatwierdzeniami katalogowymi, a także do zapisu do nich, ich tworzenia lub uaktualniania wymagane są bezserwerowe lub klasyczne zasoby obliczeniowe z Databricks Runtime w wersji 17.3 lub nowszej.
- Wymagany jest Databricks Runtime 18 LTS lub nowszy, aby wyłączyć zapisy w katalogu dla istniejących tabel strumieniowych lub widoków materializowanych.
Włączanie zatwierdzeń wykazu
Włącz zatwierdzanie katalogu dla nowych lub istniejących tabel zarządzanych, tabel strumieniowych oraz widoków materializowanych.
Włącz zatwierdzanie zmian w katalogu dla nowych tabel zarządzanych
Użyj właściwości tabeli delta.feature.catalogManaged przy tworzeniu tabeli zarządzanej:
CREATE TABLE sales_data (
sale_id BIGINT,
amount DECIMAL(10,2),
sale_date DATE
)
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');
Włącz zatwierdzanie zmian w katalogu dla istniejących tabel zarządzanych
Zastosowanie ALTER TABLE do dodawania commitów katalogowych do istniejącej tabeli zarządzanej:
ALTER TABLE sales_data SET TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');
Ważna
Włączenie zatwierdzeń katalogu w istniejącej tabeli synchronizuje stan tabeli z katalogiem. Ta operacja może potrwać kilka minut w tabelach z dużą ilością operacji zapisu.
Włącz zatwierdzenia katalogowe dla nowych lub istniejących tabel strumieniowych lub zmaterializowanych widoków
Dodaj właściwość tabeli delta.feature.catalogManaged do tabeli strumieniowej lub definicji widoku materializowanego, a następnie uruchom aktualizację. Dla istniejącego obiektu zaktualizuj jego pierwotną definicję.
ALTER TABLE ... SET TBLPROPERTIES nie jest obsługiwana.
Poniższy przykład umożliwia zatwierdzenia katalogowe dla nowej lub istniejącej tabeli strumieniowej:
CREATE OR REFRESH STREAMING TABLE streaming_sales_data
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported')
AS SELECT * FROM STREAM sales_data;
W przypadku widoku materializowanego użyj tej samej właściwości tabeli w definicji CREATE OR REFRESH MATERIALIZED VIEW.
Sprawdź, czy zatwierdzenia katalogu są włączone
Aby sprawdzić, czy tabela ma włączone zatwierdzenia katalogu:
DESCRIBE DETAIL sales_data;
Jeśli ta opcja jest włączona, catalogManaged zostanie wyświetlona w kolumnie tableFeatures .
Wyłącz zatwierdzenia katalogu
Użyj Databricks Runtime 18.0 i nowszych, aby wyłączyć zatwierdzenia katalogowe na istniejącej tabeli zarządzanej.
W przypadku istniejącej tabeli strumieniowej lub widoku materializowanego użyj Databricks Runtime w wersji 18 LTS lub nowszej.
Zobacz Upuszczanie funkcji tabeli Delta Lake i obniżanie poziomu protokołu tabeli.
Warning
Nie należy anulować operacji uaktualniania ani obniżania poziomu podczas wykonywania instrukcji ALTER lub DROP. Przerwanie procesu może pozostawić tabelę w stanie częściowo zaktualizowanym lub przywróconym do starszej wersji, uniemożliwiając wszelkie przyszłe operacje odczytu i zapisu. Aby przywrócić, wykonaj ponownie odpowiednie polecenie zamiast anulować. Skontaktuj się z pomocą techniczną usługi Databricks, jeśli tabela stanie się zablokowana.
Ograniczenia
- Nie można włączać ani wyłączać zatwierdzeń katalogu dla istniejących tabel zarządzanych za pomocą
CREATE OR REPLACE TABLElubREPLACE TABLE. UżyjCREATE TABLEz właściwościądelta.feature.catalogManaged, aby włączyć tę funkcję podczas tworzenia tabeli zarządzanej, lubALTER TABLE, aby włączyć ją albo wyłączyć w istniejącej tabeli zarządzanej. - Commity katalogowe nie są kompatybilne z zewnętrznym dostępem do danych w tabelach strumieniowych lub widokach materializowanych. Aby użyć zatwierdzeń wykazu, należy najpierw wyłączyć dostęp zewnętrzny. Zobacz Włącz dostęp do danych zewnętrznych dla tabel strumieniowych i widoków materializowanych.
- Tabele z włączonymi zatwierdzeniami katalogu są udostępniane za pośrednictwem OpenSharing przy użyciu wstępnie podpisanych adresów URL zamiast tokenów chmurowych.
- Klastry dla jednego użytkownika nie mogą uzyskać dostępu do tabel strumieniowych z włączonymi commitami katalogu.