Volymer

Gäller endast för:markerad ja Databricks SQL markerad ja Databricks Runtime 13.3 LTS och senare markerad ja i Unity Catalog

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

Volymer är syskon till tabeller, vyer och andra objekt som ordnas under ett schema i Unity Catalog.

En volym kan hanteras eller vara extern.

Mer information och begränsningar finns i Skapa och arbeta med volymer.

Hanterad volym

En hanterad volym är en Unity Catalog-styrd lagringsvolym som skapats inom standardlagringsplatsen för det innehållande schemat. Hanterade volymer gör det möjligt att skapa styrd lagring för att arbeta med filer utan kostnader för externa platser och autentiseringsuppgifter för lagring. Du behöver inte ange någon plats när du skapar en hanterad volym, och all filåtkomst för data i hanterade volymer 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 identifierare som kan kvalificeras med ett katalog- och schemanamn i SQL-kommandon.

Sökvägen för att komma åt filer i volymer 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 volymer med hjälp av URI:er för molnlagring.

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