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ů po DROP 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áte UNDROP , po uvolnění paměti datové soubory zdrojové tabulky přestane fungovat holý klon.