Volumes
Dotyczy: Databricks SQL Databricks Runtime 13.3 LTS i nowsze tylko Unity Catalog
Volumes to obiekty Unity Catalog reprezentujące logiczny wolumin magazynowy w lokalizacji przechowywania obiektów w chmurze. Volumes zapewniają możliwości uzyskiwania dostępu, przechowywania, zarządzania i organizowania plików. Podczas gdy tables zapewniają nadzór nad tabelarycznymi zestawami danych, volumes dodają 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 tables, viewsi innych obiektów zorganizowanych w ramach schema w Aparacie Unity Catalog.
Wolumin może być zarządzany lub zewnętrzny.
Aby uzyskać więcej szczegółów i ograniczeń, zobacz Czym jest Unity Catalogvolumes?.
Wolumin zarządzany
Wolumin zarządzany to wolumin magazynu zarządzany przez Unity Catalog, utworzony w ramach zarządzanej lokalizacji magazynowej zawierającej 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 volumes odbywa się za pomocą ścieżek zarządzanych przez Unity Catalog.
Wolumin zewnętrzny
Wolumin zewnętrzny to wolumin magazynowy zarządzany przez Unity Catalog, zarejestrowany w katalogu w lokalizacji zewnętrznej.
Nazewnictwo woluminów i odwołanie
Nazwa woluminu , oznaczona jako, to identifier, które można określić nazwą catalog i nazwą 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żesz również uzyskać dostęp do danych w zewnętrznym volumes, korzystając z URI przechowywania 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 przenieść 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