Udostępnij za pośrednictwem


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.