Udostępnij za pośrednictwem


Volumes

Dotyczy:zaznaczone jako tak Databricks SQL zaznaczone jako tak Databricks Runtime 13.3 LTS i nowsze zaznaczone jako tak Unity tylko Catalog

Volumes to obiekty Unity Catalog reprezentujące logiczny wolumin pamięci w lokalizacji pamięci obiektowej w chmurze. Volumes zapewniają możliwości uzyskiwania dostępu, przechowywania, zarządzania i organizowania plików. Mimo że tables zapewnia nadzór nad tabelarycznymi zestawami danych, volumes dodaje nadzór nad zestawami danych innymi niż tabelaryczne. Za pomocą volumes można przechowywać pliki i uzyskiwać do nich dostęp w dowolnym formacie, w tym ustrukturyzowane, częściowo ustrukturyzowane i nieustrukturyzowane dane.

Volumes są rodzeństwem dla tables, viewsoraz innych obiektów zorganizowanych pod schema w Unity Catalog.

Wolumin może być zarządzany lub zewnętrzny.

Aby uzyskać więcej szczegółów i ograniczeń, patrz Czym są Unity Catalogvolumes?.

Wolumin zarządzany

Zarządzany wolumin to wolumin zarządzany przez Unity Catalog, utworzony w lokalizacji magazynu zarządzanego, w której znajduje się schema. Zarządzana volumes umożliwia tworzenie zarządzanego magazynu do pracy z plikami bez obciążeń związanych z lokalizacjami zewnętrznymi i magazynem credentials. Nie trzeba określać lokalizacji podczas tworzenia woluminu zarządzanego, a cały dostęp do plików dla danych w zarządzanych volumes odbywa się za pomocą ścieżek zarządzanych przez Unity Catalog.

Wolumin zewnętrzny

Wolumin zewnętrzny to wolumin magazynowania zarządzany przez Unity Catalog, zarejestrowany w katalogu w lokalizacji zewnętrznej.

Nazewnictwo woluminów i odwołanie

Nazwa woluminu jest identifier, które można zakwalifikować z użyciem nazw catalog i schema w poleceniach SQL.

Ścieżka dostępu do plików w volumes używa następującego formatu:

/Volumes/<catalog_identifier>/<schema_identifier>/<volume_identifier>/<path>/<file_name>

Pamiętaj, że usługa Azure Databricks normalizuje identyfikatory do małych liter.

Usługa Azure Databricks obsługuje również opcjonalny dbfs:/ schemat, więc następująca ścieżka również działa:

dbfs:/Volumes/<catalog_identifier>/<schema_identifier>/<volume_identifier>/<path>/<file_name>

Uwaga

Można również uzyskać dostęp do danych w zewnętrznego volumes przy użyciu identyfikatorów URI magazynu w chmurze.

Zarządzanie plikami w volumes

Dotyczy:zaznacz pole wyboru oznaczone jako tak Łącznik SQL usługi Databricks

Za pomocą łącznika SQL usługi Databricks można zarządzać plikami w volumes przy użyciu następujących poleceń:

  • PUT INTO skopiuj plik z lokalnej pamięci do woluminu.
  • GET skopiować plik z woluminu do magazynu lokalnego.
  • REMOVE, aby usunąć remove plik z woluminu.

Przykłady

--- Create an external volume under the directory “my-path”
> CREATE EXTERNAL VOLUME IF NOT EXISTS myCatalog.mySchema.myExternalVolume
        COMMENT 'This is my example external volume'
        LOCATION 's3://my-bucket/my-location/my-path'
 OK

--- Set the current catalog
> USE CATALOG myCatalog;
 OK

--- Set the current schema
> USE SCHEMA mySchema;
 OK

--- Create a managed volume; it is not necessary to specify a location
> CREATE VOLUME myManagedVolume
    COMMENT 'This is my example managed volume';
 OK

--- List the files inside the volume, all names are lowercase
> LIST '/Volumes/mycatalog/myschema/myexternalvolume'
 sample.csv

> LIST 'dbfs:/Volumes/mycatalog/myschema/mymanagedvolume'
 sample.csv

--- Print the content of a csv file
> SELECT * FROM csv.`/Volumes/mycatalog/myschema/myexternalvolume/sample.csv`
 20

> SELECT * FROM csv.`dbfs:/Volumes/mycatalog/myschema/mymanagedvolume/sample.csv`
 20