Udostępnij za pośrednictwem


Płytkie klonowanie tabel wykazu aparatu Unity

Ważne

Obsługa płytkich klonów dla tabel zarządzanych przez wykaz aparatu Unity jest dostępna w publicznej wersji zapoznawczej w środowisku Databricks Runtime 13.3 lub nowszym. Obsługa płytkich klonów dla tabeli zewnętrznej wykazu aparatu Unity jest dostępna w publicznej wersji zapoznawczej w środowisku Databricks Runtime 14.2 lub nowszym.

Możesz użyć płytkiego klonowania, aby utworzyć nowe tabele wykazu aparatu Unity z istniejących tabel wykazu aparatu Unity. Płytkia obsługa klonowania dla wykazu aparatu Unity umożliwia tworzenie tabel z uprawnieniami kontroli dostępu niezależnie od ich tabel nadrzędnych bez konieczności kopiowania bazowych plików danych.

Ważne

Tabele zarządzane wykazu aparatu Unity można sklonować tylko do tabel zarządzanych wykazu aparatu Unity i tabel zewnętrznych wykazu aparatu Unity do tabel zewnętrznych wykazu aparatu Unity. VACUUM zachowanie różni się między tabelami zarządzanymi i zewnętrznymi. Zobacz Płytkie klony wykazu próżni i aparatu Unity.

Aby uzyskać więcej informacji na temat klonowania różnicowego, zobacz Klonowanie tabeli w usłudze Azure Databricks.

Aby uzyskać więcej informacji na temat tabel wykazu aparatu Unity, zobacz Co to są tabele i widoki?.

Tworzenie płytkiego klonu w wykazie aparatu Unity

Można utworzyć płytki klon w katalogu aparatu Unity przy użyciu tej samej składni dostępnej dla płytkich klonów w całym produkcie, jak pokazano w poniższym przykładzie składni:

CREATE TABLE <catalog-name>.<schema-name>.<target-table-name> SHALLOW CLONE <catalog-name>.<schema-name>.<source-table-name>

Aby utworzyć płytki klon w wykazie aparatu Unity, musisz mieć wystarczające uprawnienia zarówno dla zasobów źródłowych, jak i docelowych, zgodnie z opisem w poniższej tabeli:

Zasób Wymagane uprawnienia
Tabela źródłowa SELECT
Schemat źródłowy USE SCHEMA
Katalog źródłowy USE CATALOG
Schemat docelowy USE SCHEMA, CREATE TABLE
Katalog docelowy USE CATALOG
Docelowa lokalizacja zewnętrzna (tylko tabele zewnętrzne) CREATE EXTERNAL TABLE

Podobnie jak inne instrukcje tworzenia tabeli, użytkownik tworzący płytki klon jest właścicielem tabeli docelowej. Właściciel sklonowanej tabeli docelowej może kontrolować prawa dostępu dla tej tabeli niezależnie od tabeli źródłowej.

Uwaga

Właściciel sklonowanej tabeli może być inny niż właściciel tabeli źródłowej.

Wykonywanie zapytań lub modyfikowanie płytkiej sklonowanej tabeli w wykazie aparatu Unity

Ważne

Instrukcje w tej sekcji opisują uprawnienia wymagane do obliczeń skonfigurowanych w trybie dostępu współdzielonego. Aby uzyskać dostęp do trybu pojedynczego użytkownika, zobacz Praca z płytkimi sklonowanymi tabelami w trybie dostępu pojedynczego użytkownika.

Aby wykonać zapytanie dotyczące płytkiego klonu w wykazie aparatu Unity, musisz mieć wystarczające uprawnienia w tabeli i zawierające zasoby, zgodnie z opisem w poniższej tabeli:

Zasób Wymagane uprawnienia
Wykaz USE CATALOG
Schemat USE SCHEMA
Table SELECT

Aby wykonać następujące akcje, musisz również mieć MODIFY uprawnienia do obiektu docelowego operacji klonowania:

  • Wstawianie rekordów
  • Usuwanie rekordów
  • Rekordy Update (Aktualizacja)
  • MERGE
  • CREATE OR REPLACE TABLE
  • DROP TABLE

Klony płytkie w katalogu próżni i aparatu Unity

Ważne

To zachowanie jest dostępne w publicznej wersji zapoznawczej w środowisku Databricks Runtime 13.3 LTS i nowszym dla tabel zarządzanych oraz środowiska Databricks Runtime 14.2 lub nowszego dla tabel zewnętrznych.

W przypadku używania tabel wykazu aparatu Unity dla źródła i celu płytkiej operacji klonowania katalog aparatu Unity zarządza źródłowymi plikami danych w celu zwiększenia niezawodności źródła i celu operacji klonowania. Uruchomienie VACUUM na źródle płytkiego klonu nie powoduje przerwania sklonowanej tabeli.

Zwykle podczas VACUUM identyfikowania prawidłowych plików dla danego progu przechowywania brane są pod uwagę tylko metadane bieżącej tabeli. Płytkie obsługa klonowania dla wykazu aparatu Unity śledzi relacje między wszystkimi sklonowanymi tabelami i plikami danych źródłowych, dlatego ważne pliki są rozszerzane w celu uwzględnienia plików danych niezbędnych do zwracania zapytań dotyczących płytkiej sklonowanej tabeli, a także tabeli źródłowej.

Oznacza to, że w przypadku płytkiej semantyki klonowania VACUUM wykazu aparatu Unity prawidłowy plik danych to dowolny plik w określonym progu przechowywania dla tabeli źródłowej lub dowolnej sklonowanej tabeli. Zarządzane tabele i tabele zewnętrzne mają nieco inną semantyka.

To ulepszone śledzenie zmian metadanych w jaki sposób VACUUM operacje wpływają na pliki danych kopii zapasowej tabel delta, z następującymi semantykami:

  • W przypadku tabel zarządzanych VACUUM operacje względem źródła lub celu płytkiej operacji klonowania mogą usuwać pliki danych z tabeli źródłowej.
  • W przypadku tabel zewnętrznych operacje VACUUM usuwają tylko pliki danych z tabeli źródłowej po uruchomieniu względem tabeli źródłowej.
  • Usuwane są tylko pliki danych, które nie są uznawane za prawidłowe dla tabeli źródłowej lub wszelkie płytkie klony względem źródła.
  • Jeśli wiele płytkich klonów jest zdefiniowanych względem pojedynczej tabeli źródłowej, uruchomienie VACUUM na dowolnej z sklonowanych tabel nie powoduje usunięcia prawidłowych plików danych dla innych sklonowanych tabel.

Uwaga

Usługa Databricks zaleca, aby nigdy nie działać VACUUM z ustawieniem przechowywania krótszym niż 7 dni, aby uniknąć uszkodzenia trwających długotrwałych transakcji. Jeśli musisz uruchomić VACUUM z niższym progiem przechowywania, upewnij się, że wiesz, jak VACUUM na płytkich klonach w katalogu aparatu Unity różni się od VACUUM interakcji z innymi sklonowanymi tabelami w usłudze Azure Databricks. Zobacz Klonowanie tabeli w usłudze Azure Databricks.

Praca z płytkimi sklonowanymi tabelami w trybie dostępu pojedynczego użytkownika

Podczas pracy z płytkimi klonami wykazu aparatu Unity w trybie dostępu pojedynczego użytkownika musisz mieć uprawnienia do zasobów sklonowanego źródła tabeli, a także tabeli docelowej.

Oznacza to, że w przypadku prostych zapytań oprócz wymaganych uprawnień w tabeli docelowej musisz mieć USE uprawnienia do katalogu źródłowego i schematu oraz SELECT uprawnień w tabeli źródłowej. W przypadku zapytań, które będą aktualizować lub wstawiać rekordy do tabeli docelowej, musisz również mieć MODIFY uprawnienia do tabeli źródłowej.

Usługa Databricks zaleca pracę z klonami wykazu aparatu Unity na obliczeniach z trybem dostępu współdzielonego, ponieważ pozwala to na niezależną ewolucję uprawnień dla płytkich obiektów docelowych klonowania aparatu Unity i ich tabel źródłowych.

Ograniczenia

  • Płytkie klony na tabelach zewnętrznych muszą być tabelami zewnętrznymi. Płytkie klony w zarządzanych tabelach muszą być tabelami zarządzanymi.
  • Nie można udostępniać płytkich klonów przy użyciu funkcji udostępniania różnicowego.
  • Nie można zagnieżdżać płytkich klonów, co oznacza, że nie można utworzyć płytkiego klonu z płytkiego klonu.
  • W przypadku tabel zarządzanych usunięcie tabeli źródłowej powoduje przerwanie tabeli docelowej dla płytkich klonów. Pliki danych tworzące kopie zapasowe tabel zewnętrznych nie są usuwane przez DROP TABLE operacje, dlatego płytkie klony tabel zewnętrznych nie mają wpływu na usunięcie źródła.
  • Wykaz aparatu Unity umożliwia użytkownikom UNDROP zarządzanie tabelami przez około 7 dni po poleceniu DROP TABLE . W środowisku Databricks Runtime 13.3 LTS i nowszych zarządzanych klonach zarządzanych na podstawie usuniętej tabeli zarządzanej nadal działają w tym okresie 7 dni. Jeśli w tym oknie nie UNDROP znajduje się tabela źródłowa, klon płytki przestanie działać, gdy pliki danych tabeli źródłowej zostaną usunięte.