Jak działają ścieżki dla danych zarządzanych przez Unity Catalog?
W tym artykule opisano ograniczenia dotyczące nakładania się ścieżek w Unity Catalog, ścieżkowe wzorce dostępu do plików danych w obiektach Unity Catalog oraz opisuje zarządzanie ścieżkami dla tabel i woluminów w Unity Catalog.
Uwaga
Woluminy są obsługiwane tylko w środowisku Databricks Runtime 13.3 LTS i nowszym. W Databricks Runtime 12.2 LTS i wcześniejszych wersjach operacje na ścieżkach /Volumes
mogą zakończyć się powodzeniem, ale mogą zapisywać dane tylko na dyskach tymczasowego przechowywania dołączonych do klastrów obliczeniowych, zamiast zachowywać dane w woluminach Unity Catalog zgodnie z oczekiwaniami.
Ścieżki dla obiektów katalogu Unity nie mogą się nakładać
Unity Catalog wymusza nadzór nad danymi, uniemożliwiając nakładanie się zarządzanych katalogów danych. Katalog Unity egzekwuje następujące reguły:
- Lokalizacje zewnętrzne nie mogą nakładać się na inne lokalizacje zewnętrzne.
- Tabele i woluminy przechowują pliki danych w lokalizacjach zewnętrznych lub lokalizacji głównej magazynu metadanych.
- Woluminy nie mogą nakładać się na inne woluminy.
- Tabele nie mogą nakładać się na inne tabele.
- Tabele i woluminy nie mogą się nakładać na siebie.
- Zarządzane lokalizacje magazynu nie mogą się nakładać na siebie nawzajem. Proszę zapoznać się z Określanie zarządzanej lokalizacji magazynu w Unity Catalog.
- Woluminy zewnętrzne nie mogą nakładać się na zarządzane lokalizacje magazynu.
- Tabele zewnętrzne nie mogą nakładać się na zarządzane lokalizacje magazynu.
Te reguły oznaczają, że w Unity Catalog istnieją następujące ograniczenia:
- Nie można zdefiniować lokalizacji zewnętrznej w innej lokalizacji zewnętrznej.
- Nie można zdefiniować woluminu w innym woluminie.
- Nie można zdefiniować tabeli w innej tabeli.
- Nie można zdefiniować tabeli w żadnych plikach danych lub katalogach w woluminie.
- Nie można zdefiniować przestrzeni na katalogu znajdującym się w tabeli.
Uwaga
Zawsze możesz użyć dostępu opartego na ścieżkach, aby zapisywać lub odczytywać pliki danych z woluminów, w tym usługi Delta Lake. Nie można zarejestrować tych plików jako tabel w magazynie Unity Catalog.
Ścieżki dla zarządzanych tabel i woluminów są w pełni zarządzane przez Unity Catalog.
Podczas tworzenia tabeli zarządzanej lub zarządzanego wolumenu Unity Catalog tworzy nowy katalog w skonfigurowanej lokalizacji magazynu skojarzonej ze schematem zawierającym. Nazwa tego katalogu jest generowana losowo, aby uniknąć potencjalnej kolizji z innymi katalogami, które już istnieją.
To zachowanie różni się od sposobu tworzenia tabel zarządzanych przez magazyn metadanych Hive. Usługa Databricks zaleca zawsze interakcję z tabelami zarządzanymi przez Unity Catalog, używając nazw tabel, oraz z woluminami zarządzanymi przez Unity Catalog, używając ścieżek woluminów.
Ścieżki dla tabel zewnętrznych i woluminów zewnętrznych są zarządzane przez Unity Catalog
Tworząc tabelę zewnętrzną lub wolumin zewnętrzny, należy określić ścieżkę w lokalizacji zewnętrznej, która jest zarządzana przez Unity Catalog.
Ważne
Usługa Databricks zaleca, aby nigdy nie tworzyć woluminu zewnętrznego ani tabeli zewnętrznej w katalogu głównym lokalizacji zewnętrznej. Zamiast tego utwórz woluminy zewnętrzne i tabele zewnętrzne w podkatalogach w lokalizacji zewnętrznej. Zalecenia te powinny pomóc uniknąć przypadkowych nakładających się ścieżek. Zobacz Ścieżki dla obiektów Unity Catalog nie mogą się nakładać.
W celu ułatwienia użycia, Databricks zaleca interakcję z zewnętrznymi tabelami katalogu Unity, korzystając z nazw tabel, oraz z zewnętrznymi woluminami katalogu Unity, korzystając ze ścieżek woluminów.
Alternatywnie użytkownicy z wystarczającymi uprawnieniami do odpowiedniego obiektu w Unity Catalog mogą uzyskać dostęp do danych z tabeli zewnętrznej lub woluminu zewnętrznego, korzystając z w pełni kwalifikowanej ścieżki do magazynu obiektów w chmurze.
Ważne
Unity Catalog zarządza wszystkimi uprawnieniami dostępu za pomocą chmurowych URI do danych skojarzonych z tabelami zewnętrznymi lub woluminami zewnętrznymi. Te uprawnienia zastępują wszystkie uprawnienia skojarzone z lokalizacjami zewnętrznymi. Zobacz uprawnienia Katalogu Unity i obiekty zabezpieczane
Jak można uzyskać dostęp do danych w Unity Catalog?
Obiekty katalogu Unity zapewniają dostęp do danych za pośrednictwem identyfikatorów obiektów, ścieżek woluminów lub identyfikatorów URI w chmurze. Te wartości umożliwiają uzyskiwanie dostępu do danych skojarzonych z woluminami i tabelami.
Dostęp do tabel Unity Catalog uzyskuje się przy użyciu identyfikatora trójetapowego z następującym wzorcem:
<catalog_name>.<schema_name>.<table_name>
Co to są ścieżki plików wolumenów w Unity Catalog?
Woluminy zapewniają ścieżkę pliku w celu uzyskania dostępu do plików danych przy użyciu następującego wzorca:
/Volumes/<catalog_name>/<schema_name>/<volume_name>/<path_to_file>
Identyfikatory URI chmury wymagają od użytkowników podania sterownika, identyfikatora kontenera magazynu i pełnej ścieżki do plików danych, jak pokazano w poniższym przykładzie:
abfss://<container_name>@<storage_account>.dfs.core.windows.net/<path>
W poniższej tabeli przedstawiono dozwolone metody uzyskiwania dostępu do obiektów Unity Catalog.
Objekt | Identyfikator obiektu | Ścieżka pliku | Identyfikator URI chmury |
---|---|---|---|
Lokalizacja zewnętrzna | nie | nie | tak |
Zarządzana tabela | tak | nie | nie |
Tabela zewnętrzna | tak | nie | tak |
Wolumin zarządzany | nie | tak | nie |
Wolumin zewnętrzny | nie | tak | tak |
Uwaga
Woluminy katalogu Unity używają trójwarstwowych identyfikatorów obiektów z następującym wzorcem dla komend zarządzania (takich jak CREATE VOLUME
i DROP VOLUME
).
<catalog_name>.<schema_name>.<volume_name>
Aby faktycznie pracować z plikami w woluminach, należy użyć dostępu opartego na ścieżkach.