Zatwierdzenia katalogu

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 TABLE lub REPLACE TABLE. Użyj CREATE TABLE z właściwością delta.feature.catalogManaged, aby włączyć tę funkcję podczas tworzenia tabeli zarządzanej, lub ALTER 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.

Dodatkowe zasoby