Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Important
Tato funkce je ve verzi Public Preview.
Important
Podpora mělkých klonů se liší pro spravované a externí tabulky v katalogu Unity. Pro spravované tabulky použijte Databricks Runtime 13.3 LTS a vyšší a pro externí tabulky použijte Databricks Runtime 14.3 LTS a vyšší.
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 Použijte VACUUM s mělkými klony v Katalogu Unity.
Pomocí mělkého klonu vytvořte tabulky katalogu Unity s oprávněními řízení přístupu, která jsou nezávislá na jejich zdrojových tabulkách, bez kopírování podkladových datových souborů. V katalogu Unity je mělké klonování podporováno pouze pro tabulky Delta Lake. Nemůžete vytvořit mělký klon icebergu nebo jiné tabulky než Delta.
Informace o klonování tabulky najdete v tématu Klonování tabulky v Azure Databricks.
Vytvoření mělčího klonu spravovaného katalogem Unity
V katalogu Unity vytvořte mělký klon spravované tabulky.
CREATE TABLE <catalog-name>.<schema-name>.<target-table-name>
SHALLOW CLONE <catalog-name>.<schema-name>.<source-table-name>
Pokud chcete vytvořit spravovaný mělký klon v katalogu Unity, musíte mít následující oprávnění ke zdrojovým a cílovým prostředkům.
| Resource | Požadována oprávnění |
|---|---|
| Zdrojové schéma | USE SCHEMA |
| Zdrojový katalog | USE CATALOG |
| Cílové schéma |
USE SCHEMA, CREATE TABLE |
| Cílový katalog | USE CATALOG |
Stejně jako ostatní příkazy create table při spuštění SHALLOW CLONEvlastníte cílovou tabulku. Vlastník klonované cílové tabulky řídí přístupová práva pro danou tabulku nezávisle na zdrojové tabulce. Vlastník klonované tabulky se může lišit od vlastníka zdrojové tabulky.
Vytvoření externího mělkého klonu Unity Catalog
Vytvořte externí mělký klon katalogu Unity zadáním externího umístění.
CREATE TABLE <catalog-name>.<schema-name>.<target-table-name>
SHALLOW CLONE <catalog-name>.<schema-name>.<source-table-name>
LOCATION 's3://<bucket-name>/<path-name>/<target-table-name>'
Pokud chcete vytvořit externí mělký klon v katalogu Unity, musíte mít následující oprávnění ke zdrojovým a cílovým prostředkům.
| Resource | Požadována oprávnění |
|---|---|
| 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í | CREATE EXTERNAL TABLE |
Práce s mělkými naklonovanými tabulkami ve standardním režimu přístupu
Chcete-li spouštět dotazy na klon typu shallow ve standardním režimu přístupu (dříve v režimu sdíleného přístupu), musíte mít pro tabulku a nadřazené prostředky následující oprávnění:
| Resource | Požadována oprávnění |
|---|---|
| Catalog | USE CATALOG |
| Schema | USE SCHEMA |
| Table | SELECT |
Ke spuštění následujících operací musíte mít MODIFY také oprávnění k cíli operace klonování:
INSERTDELETEUPDATEMERGECREATE TABLEDROP TABLE
Práce s povrchově klonovanými tabulkami ve vyhrazeném režimu přístupu
Při práci s mělkými klony Unity Catalog ve vyhrazeném režimu přístupu (dříve režim přístupu jednoho uživatele) musíte mít oprávnění k prostředkům pro zdroj klonované tabulky i cílovou tabulku.
U jednoduchých dotazů kromě požadovaných oprávnění pro cílovou tabulku 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é aktualizují nebo vkládají záznamy do cílové tabulky, musíte mít MODIFY také oprávnění ke zdrojové tabulce.
Databricks doporučuje používat klony v Unity Catalogu ve výpočetním prostředí se standardním režimem přístupu, protože to umožňuje nezávisle měnit oprávnění pro cíle mělkých klonů v Unity Catalogu a jejich zdrojové tabulky.
Použití VACUUM s mělkými klony katalogu Unity
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ého klonu nepoškodí naklonovanou 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 mělkého klonování v Unity Catalog však sleduje vztahy mezi všemi klonovanými tabulkami a zdrojovými datovými soubory, takže okruh platných souborů se rozšiřuje o datové soubory nezbytné pro zpracování dotazů jak pro mělké klony, tak pro zdrojovou tabulku.
Pro VACUUM u mělkého klonu v Unity Catalog je platným datovým souborem jakýkoli soubor v rámci zadané doby uchovávání pro zdrojovou tabulku nebo libovolnou klonovanou tabulku. Spravované tabulky a externí tabulky mají mírně odlišné chování.
Toto vylepšené sledování metadat mění vliv VACUUM operací na podkladové datové soubory pro tabulky Delta Lake s následujícím chováním:
- U spravovaných tabulek
VACUUMmohou operace na zdroji nebo cíli mělkého klonování odstranit datové soubory ze zdrojové tabulky. - U externích tabulek
VACUUMoperace odstraní datové soubory ze zdrojové tabulky pouze při spuštění proti 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í
VACUUMv některé z klonovaných tabulek neodebere platné datové soubory pro jiné klonované tabulky.
Note
Databricks doporučuje, abyste nikdy nespouštěli VACUUM s dobou uchovávání kratší než 7 dní, abyste předešli narušení právě probíhajících dlouhotrvajících transakcí. Pokud potřebujete nižší práh uchovávání dat, zvažte, jak se VACUUM u mělkých klonů v Unity Catalogu liší od toho, jak VACUUM ovlivňuje ostatní klonované tabulky v Azure Databricks. Další informace najdete v tématu Klonování tabulky v Azure Databricks.
I když odstraníte mělce klonovanou tabulku, můžete stále potřebovat SELECT přístup k této mělce klonované tabulce, abyste mohli na základní tabulce spustit VACUUM. Databricks čte Delta log mělkého klonu, aby ověřil, na které základní soubory tabulky klon stále odkazuje, před jejich odstraněním. Databricks udržuje toto propojení po dobu 7 dnů po odstranění tabulky s mělkým klonem na podporu operace UNDROP. Ve standardním režimu přístupu se ale toto oprávnění nevyžaduje.
Smazání bázové tabulky pro mělký klon
Pokud odstraníte základní tabulku mělkého klonu, klon se stane nepoužitelným. Databricks vám ve výchozím nastavení blokuje možnost vyřazení základní tabulky, pokud na ni stále odkazují klony s mělkým kopírováním.
Pokud chcete tuto ochranu přepsat, použijte syntaxi DROP TABLE ... FORCE . Pokud používáte FORCE:
- Základní tabulka se okamžitě zahodí.
- Všechny odkazy na povrchové klony se stanou přerušenými a:
- Mělké klony selžou u operací, které vyžadují čtení dat nebo metadat (například
SELECT,INSERT,UPDATE,DESCRIBE HISTORY,CLONE). - Aby bylo možné provést vyčištění, mělké klony jsou stále viditelné v operacích na úrovni metadat (například
SHOW TABLES,DROP TABLE).
- Mělké klony selžou u operací, které vyžadují čtení dat nebo metadat (například
Toto chování platí pouze pro spravované tabulky Katalogu Unity. Další informace najdete na webu DROP TABLE.
Limitations
- Povrchové klonování je podporováno pouze pro tabulky Delta Lake. Nemůžete vytvořit mělký klon icebergu nebo jiné tabulky než Delta.
- Nelze použít
CREATE OR REPLACEk přepsání existujícího mělkého klonu. PoužijteDROP TABLEnásledovanýCREATE TABLEnebo použijte nový název tabulky. - 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.
- Nemůžete sdílet mělké klony pomocí OpenSharingu.
- Mělké klony nelze vnořit, což znamená, že nemůžete vytvořit mělký klon z jiného mělkého klonu.
- U spravovaných tabulek odstranění zdrojové tabulky přeruší cílovou tabulku pro mělké klony. Podkladové datové soubory externích tabulek se neodeberou operacemi
DROP TABLE, a proto nejsou mělké klony externích tabulek ovlivněny odstraněním zdroje. - Katalog Unity umožňuje uživatelům
UNDROPspravovat tabulky po dobu přibližně 7 dnů poDROP TABLEpříkazu. Ve službě Databricks Runtime 13.3 LTS a novějších spravovaných mělkých klonech vyřazené zdrojové tabulky nadále fungují pro 7denní období, během kterého Unity Catalog podporujeUNDROP. Pokud se zdrojová tabulka v rámci tohoto okna neobnoví, po odstranění zdrojových datových souborů během garbage collection přestane fungovat i mělký klon.