Udostępnij za pośrednictwem


Volumes

Dotyczy:z zaznaczeniem tak Databricks SQL z zaznaczeniem tak Databricks Runtime 13.3 LTS i nowsze z zaznaczeniem tak 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: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 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