Jak fungují cesty pro data spravovaná katalogem Unity?
Tento článek vysvětluje omezení týkající se překrývání cest v katalogu Unity, podrobnosti vzorů přístupu na základě cesty pro datové soubory v objektech katalogu Unity a popisuje, jak Katalog Unity spravuje cesty pro tabulky a svazky.
Poznámka:
Svazky jsou podporovány pouze v Databricks Runtime 13.3 LTS a vyšší. V Databricks Runtime 12.2 LTS a níže mohou operace s /Volumes
cestami uspět, ale mohou zapisovat data pouze do dočasných úložných disků připojených k výpočetním clusterům, místo aby se data uchovávala ve svazcích Katalogu Unity podle očekávání.
Cesty pro objekty katalogu Unity se nemůžou překrývat
Katalog Unity vynucuje zásady správného řízení dat tím, že brání překrývání spravovaných adresářů dat. Katalog Unity vynucuje následující pravidla:
- Externí umístění se nesmí překrývat s jinými externími umístěními.
- Tabulky a svazky ukládají datové soubory do externích umístění nebo do kořenového umístění metastoru.
- Svazky nemohou překrývat jiné svazky.
- Tabulky nemohou překrývat jiné tabulky.
- Tabulky a svazky se nemohou vzájemně překrývat.
- Spravovaná umístění úložiště se nemohou vzájemně překrývat. Viz Určení spravovaného umístění úložiště v katalogu Unity.
- Externí svazky nemůžou překrývat spravovaná umístění úložiště.
- Externí tabulky nemůžou překrývat spravovaná umístění úložiště.
Tato pravidla znamenají, že v katalogu Unity existují následující omezení:
- Externí umístění nelze definovat v rámci jiného externího umístění.
- Svazek nelze definovat v rámci jiného svazku.
- Tabulku nelze definovat v jiné tabulce.
- Tabulku nelze definovat pro žádné datové soubory nebo adresáře v rámci svazku.
- Svazek v adresáři v tabulce nelze definovat.
Poznámka:
K zápisu nebo čtení datových souborů ze svazků, včetně Delta Lake, můžete vždy použít přístup založený na cestě. Tyto datové soubory nelze zaregistrovat jako tabulky v metastoru katalogu Unity.
Cesty ke spravovaným tabulkám a spravovaným svazkům jsou plně spravovány katalogem Unity.
Při vytváření spravované tabulky nebo spravovaného svazku vytvoří Katalog Unity nový adresář v umístění úložiště nakonfigurované v Katalogu Unity přidruženém k obsahujícímu schématu. Název tohoto adresáře se náhodně vygeneruje, aby se zabránilo případné kolizi s jinými adresáři, které už existují.
Toto chování se liší od toho, jak metastore Hive vytváří spravované tabulky. Databricks doporučuje vždy pracovat se spravovanými tabulkami Katalogu Unity pomocí názvů tabulek a spravovaných svazků Katalogu Unity pomocí cest ke svazkům.
Cesty pro externí tabulky a externí svazky se řídí katalogem Unity.
Při vytváření externí tabulky nebo externího svazku zadáte cestu v rámci externího umístění, které se řídí katalogem Unity.
Důležité
Databricks nedoporučuje nikdy vytvářet externí svazek nebo externí tabulku v kořenovém adresáři externího umístění. Místo toho vytvořte externí svazky a externí tabulky v podadresérích v rámci externího umístění. Tato doporučení by měla pomoct vyhnout se náhodnému překrývání cest. Viz Cesty pro objekty katalogu Unity se nesmí překrývat.
Pro snadné použití databricks doporučuje pracovat s externími tabulkami katalogu Unity pomocí názvů tabulek a externích svazků Katalogu Unity pomocí cest svazků.
Uživatelé s dostatečnými oprávněními k odpovídajícímu objektu Katalogu Unity můžou přistupovat k datům z externí tabulky nebo externího svazku pomocí plně kvalifikované cesty cloudového úložiště objektů.
Důležité
Katalog Unity spravuje všechna oprávnění pro přístup pomocí cloudových identifikátorů URI k datům přidruženým k externím tabulkám nebo externím svazkům. Tato oprávnění přepíší všechna oprávnění přidružená k externím umístěním. Zobrazení oprávnění katalogu Unity a zabezpečitelných objektů
Jak můžete získat přístup k datům v katalogu Unity?
Objekty katalogu Unity poskytují přístup k datům prostřednictvím identifikátorů objektů, cest svazků nebo identifikátorů URI cloudu. Tyto hodnoty můžete použít pro přístup k datům přidruženým ke svazkům a tabulkám.
K tabulkám katalogu Unity se přistupuje pomocí třívrstvého identifikátoru s následujícím vzorem:
<catalog_name>.<schema_name>.<table_name>
Co jsou cesty k souborům svazků v katalogu Unity?
Svazky poskytují cestu k souborům pro přístup k datovým souborům pomocí následujícího vzoru:
/Volumes/<catalog_name>/<schema_name>/<volume_name>/<path_to_file>
Identifikátory URI cloudu vyžadují, aby uživatelé zadali ovladač, identifikátor kontejneru úložiště a úplnou cestu k cílovým souborům, jako v následujícím příkladu:
abfss://<container_name>@<storage_account>.dfs.core.windows.net/<path>
Následující tabulka ukazuje metody přístupu povolené pro objekty Katalogu Unity:
Object | Identifikátor objektu | Cesta k souboru | Identifikátor URI cloudu |
---|---|---|---|
Externí umístění | ne | ne | ano |
Spravovaná tabulka | ano | ne | ne |
Externí tabulka | ano | ne | ano |
Spravovaný svazek | ne | ano | ne |
Externí svazek | ne | ano | ano |
Poznámka:
Svazky katalogu Unity používají identifikátory objektů se třemi vrstvami s následujícím vzorem pro příkazy pro správu (například CREATE VOLUME
a DROP VOLUME
):
<catalog_name>.<schema_name>.<volume_name>
Pokud chcete pracovat se soubory ve svazcích, musíte použít přístup založený na cestě.