Mělký klon pro tabulky katalogu Unity
Důležité
Podpora klonování pro spravované tabulky Unity je ve verzi Public Preview ve službě Databricks Runtime 13.3 a vyšší. Podpora klonování pro externí tabulku Unity Catalog je ve verzi Public Preview v Databricks Runtime 14.2 a vyšší.
K vytvoření nových tabulek katalogu Unity z existujících tabulek katalogu Unity můžete použít mělký klon. Podpora klonování pro Unity Catalog umožňuje vytvářet tabulky s oprávněními řízení přístupu nezávisle na nadřazených tabulkách, aniž byste museli kopírovat podkladové datové soubory.
Důležité
Spravované tabulky Katalogu Unity můžete klonovat pouze do spravovaných tabulek Katalogu Unity a externí tabulky Katalogu Unity do externích tabulek Katalogu Unity. VACUUM
chování se liší mezi spravovanými a externími tabulkami. Viz vakuové a unity katalog mělké klony.
Další informace o klonování Delta najdete v tématu Klonování tabulky v Azure Databricks.
Další informace o tabulkách katalogu Unity najdete v tématu Co jsou tabulky a zobrazení?.
Vytvoření mělké klonování v katalogu Unity
V katalogu Unity můžete vytvořit mělký klon pomocí stejné syntaxe dostupné pro mělké klony v celém produktu, jak je znázorněno v následujícím příkladu syntaxe:
CREATE TABLE <catalog-name>.<schema-name>.<target-table-name> SHALLOW CLONE <catalog-name>.<schema-name>.<source-table-name>
Pokud chcete vytvořit mělký klon v katalogu Unity, musíte mít dostatečná oprávnění k zdrojovým i cílovým prostředkům, jak je podrobně popsáno v následující tabulce:
Prostředek | Požadována oprávnění |
---|---|
Zdrojová tabulka | SELECT |
Zdrojové schéma | USE SCHEMA |
Zdrojový katalog | USE CATALOG |
Cílové schéma | USE SCHEMA , CREATE TABLE |
Cílový katalog | USE CATALOG |
Cílové externí umístění (pouze externí tabulky) | CREATE EXTERNAL TABLE |
Stejně jako ostatní příkazy create table je uživatel, který vytvoří mělký klon, vlastníkem cílové tabulky. Vlastník cílové klonované tabulky může řídit přístupová práva pro tuto tabulku nezávisle na zdrojové tabulce.
Poznámka:
Vlastník klonované tabulky se může lišit od vlastníka zdrojové tabulky.
Dotazování nebo úprava naklonované tabulky v katalogu Unity
Důležité
Pokyny v této části popisují oprávnění potřebná pro výpočetní výkon nakonfigurovaný v režimu sdíleného přístupu. Režim přístupu jednoho uživatele najdete v tématu Práce s naklonovanými tabulkami v režimu přístupu jednoho uživatele.
Pokud chcete dotazovat na mělký klon v katalogu Unity, musíte mít dostatečná oprávnění k tabulce a obsahovat prostředky, jak je podrobně popsáno v následující tabulce:
Prostředek | Požadována oprávnění |
---|---|
Katalog | USE CATALOG |
Schéma | USE SCHEMA |
Table | SELECT |
K dokončení následujících akcí musíte mít MODIFY
také oprávnění k cíli operace klonování:
- Vložení záznamů
- Odstranění záznamů
- Záznamy typu Aktualizace
MERGE
CREATE OR REPLACE TABLE
DROP TABLE
Vakuové a unity katalog mělké klony
Důležité
Toto chování je ve verzi Public Preview v Databricks Runtime 13.3 LTS a vyšší pro spravované tabulky a Databricks Runtime 14.2 a vyšší pro externí tabulky.
Při použití tabulek Katalogu Unity pro zdroj a cíl operace mělké klonování, Unity Catalog spravuje podkladové datové soubory za účelem zlepšení spolehlivosti pro zdroj a cíl operace klonování. Spuštění VACUUM
na zdroji mělké klonování neruší klonovanou tabulku.
Při VACUUM
identifikaci platných souborů pro danou prahovou hodnotu uchovávání se za normálních okolností považují pouze metadata aktuální tabulky. Podpora klonování pro Unity Catalog sleduje relace mezi všemi klonovanými tabulkami a zdrojovými datovými soubory, takže platné soubory jsou rozšířeny tak, aby zahrnovaly datové soubory nezbytné pro vrácení dotazů pro libovolnou naklonovanou tabulku i zdrojovou tabulku.
To znamená, že pro sémantiku klonování VACUUM
katalogu Unity je platný datový soubor libovolný soubor v zadané prahové hodnotě uchovávání pro zdrojovou tabulku nebo jakoukoli klonovanou tabulku. Spravované tabulky a externí tabulky mají mírně odlišnou sémantiku.
Toto vylepšené sledování metadat mění vliv VACUUM
operací na datové soubory, které zálohují tabulky Delta, s následující sémantika:
- U spravovaných tabulek
VACUUM
můžou operace vůči zdroji nebo cíli operace klonování v mělkém objektu odstranit datové soubory ze zdrojové tabulky. - U externích tabulek
VACUUM
operace odeberou datové soubory ze zdrojové tabulky pouze při spuštění ve zdrojové tabulce. - Odeberou se pouze datové soubory, které nejsou považovány za platné pro zdrojovou tabulku nebo jakýkoli mělký klon proti zdroji.
- Pokud je pro jednu zdrojovou tabulku definováno více mělkých klonů, spuštění
VACUUM
v některé z klonovaných tabulek neodebere platné datové soubory pro jiné klonované tabulky.
Poznámka:
Databricks doporučuje nikdy běžet VACUUM
s nastavením uchovávání kratší než 7 dnů, aby nedošlo k poškození probíhajících dlouhotrvajících transakcí. Pokud potřebujete spustit VACUUM
s nižší prahovou hodnotou uchovávání informací, ujistěte se, že víte, jak VACUUM
se v katalogu VACUUM
Unity liší od interakce s jinými klonovanými tabulkami v Azure Databricks. Viz Klonování tabulky v Azure Databricks.
Práce s naklonovanými tabulkami s mělkými naklonovanými tabulkami v režimu přístupu jednoho uživatele
Při práci s klony Unity Catalog mělké v režimu přístupu jednoho uživatele musíte mít oprávnění k prostředkům pro klonovaný zdroj tabulky i cílovou tabulku.
To znamená, že pro jednoduché dotazy kromě požadovaných oprávnění v cílové tabulce musíte mít USE
oprávnění ke zdrojovému katalogu a schématu a SELECT
oprávněním ke zdrojové tabulce. U všech dotazů, které by aktualizovaly nebo vkládaly záznamy do cílové tabulky, musíte mít MODIFY
také oprávnění ke zdrojové tabulce.
Databricks doporučuje pracovat s klony katalogu Unity na výpočetních prostředcích s režimem sdíleného přístupu, protože to umožňuje nezávislý vývoj oprávnění pro cíle klonování v katalogu Unity a jejich zdrojové tabulky.
Omezení
- Mělké klony externích tabulek musí být externími tabulkami. Mělké klony ve spravovaných tabulkách musí být spravované tabulky.
- Pomocí rozdílového sdílení nemůžete sdílet dělené klony.
- Vnořené klony nelze vnořit, což znamená, že nemůžete vytvořit mělký klon z mělké klony.
- U spravovaných tabulek zalomení zdrojové tabulky přeruší cílovou tabulku pro mělké klony. Datové soubory, které zálohují externí tabulky, se neodeberou
DROP TABLE
operacemi, a proto nejsou odstraněním zdroje ovlivněny mělké klonyexterních externích tabulek. - Katalog Unity umožňuje uživatelům
UNDROP
spravovat tabulky po dobu přibližně 7 dnů poDROP TABLE
příkazu. Ve službě Databricks Runtime 13.3 LTS a novějších spravovaných klonech spravovaných na základě vyřazené spravované tabulky během tohoto 7denního období nadále fungují. Pokud zdrojovou tabulku v tomto okně neuděláteUNDROP
, po uvolnění paměti datové soubory zdrojové tabulky přestane fungovat holý klon.