Volumes
Dotyczy: Databricks SQL Databricks Runtime 13.3 LTS i nowsze 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: Łą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