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 poleceniuDROP 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 nieUNDROP
znajduje się tabela źródłowa, klon płytki przestanie działać, gdy pliki danych tabeli źródłowej zostaną usunięte.