Dela via


Volumes

gäller för:kontrollera markerat ja Databricks SQL kontrollera markerat ja Databricks Runtime 13.3 LTS och senare kontrollera markerat ja Unity Catalog

Volumes är Unity Catalog objekt som representerar en logisk lagringsvolym på en lagringsplats för molnobjekt. Volumes tillhandahåller funktioner för åtkomst, lagring, styrning och organisering av filer. Samtidigt som tables ger styrning över tabelldatauppsättningar, lägger volumes till styrning över icke-tabellbaserade datauppsättningar. Du kan använda volumes för att lagra och komma åt filer i valfritt format, inklusive strukturerade, halvstrukturerade och ostrukturerade data.

Volumes är syskon till tables, viewsoch andra objekt ordnade under en schema i Unity Catalog.

En volym kan hanteras eller vara extern.

Mer information och begränsningar finns i Vad är Unity Catalogvolumes?.

Hanterad volym

En hanterad volym är en Unity Catalog-styrd lagringsvolym som har skapats inom den hanterade lagringsplatsen för den innehållande schema. Med Managed volumes kan du möjliggöra skapandet av styrd lagring för att arbeta med filer utan extra kostnader för externa platser och lagring credentials. Du behöver inte ange någon plats när du skapar en hanterad volym, och all filåtkomst för data i hanterade volumes sker via sökvägar som hanteras av Unity Catalog.

Extern volym

En extern volym är en Unity-Catalog-styrd lagringsvolym som registrerats mot en katalog på en extern plats.

Namn och referens för volymer

Ett volymnamn är en identifier som kan kvalificeras med ett catalog och schema namn i SQL-kommandon.

Sökvägen för att komma åt filer i volumes använder följande format:

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

Observera att Azure Databricks normaliserar identifierarna till gemener.

Azure Databricks stöder också ett valfritt dbfs:/ schema, så följande sökväg fungerar också:

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

Kommentar

Du kan också komma åt data i externa volumes med hjälp av URI:er för molnlagring.

Hantera filer i volumes

Gäller för:markerad ja Databricks SQL Connector

Med hjälp av en Databricks SQL Connector kan du hantera filer i volumes med hjälp av följande kommandon:

  • PUT INTO för att kopiera en fil från din lokala lagring till en volym.
  • GET för att kopiera en fil från en volym till din lokala lagring.
  • REMOVE till remove en fil från en volym.

Exempel

--- 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