Delen via


Volumina

nl-NL: Van toepassing op:vinkje gemarkeerd als ja Databricks SQL vinkje gemarkeerd als ja Databricks Runtime 13.3 LTS en hoger vinkje gemarkeerd als ja alleen Unity Catalog

Volumes zijn Unity Catalog-objecten die een logisch opslagvolume in een opslaglocatie voor cloudobjecten vertegenwoordigen. Volumes bieden mogelijkheden voor het openen, opslaan, beheren en ordenen van bestanden. Hoewel tabellen governance bieden voor gegevenssets in tabelvorm, voegen volumes governance toe boven niet-tabellaire gegevenssets. U kunt volumes gebruiken om bestanden op te slaan en te openen in elke indeling, waaronder gestructureerde, semi-gestructureerde en ongestructureerde gegevens.

Volumes zijn gekoppeld aan tabellen, weergaven en andere objecten die zijn geordend onder een schema in Unity Catalog.

Een volume kan worden beheerd of extern.

Zie Wat zijn Unity Catalog-volumes voor meer informatie en beperkingen?.

Beheerd volume

Een beheerd volume is een door de Unity Catalog beheerde opslagvolume dat is gemaakt binnen de beheerde opslaglocatie van het schema dat het bevat. Beheerde volumes maken het mogelijk om beheerde opslag te maken voor het werken met bestanden zonder overhead van externe locaties en opslagreferenties. U hoeft geen locatie op te geven bij het maken van een beheerd volume en alle bestandstoegang voor gegevens in beheerde volumes verloopt via paden die worden beheerd door Unity Catalog.

Extern volume

Een extern volume is een door Unity Catalog beheerd opslagvolume dat is geregistreerd bij een map op een externe locatie.

Volumenaam en -verwijzing

Een volumenaam is een id die kan worden gekwalificeerd met een catalogus- en schemanaam in SQL-opdrachten.

Het pad naar toegang tot bestanden in volumes gebruikt de volgende indeling:

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

Houd er rekening mee dat Azure Databricks de id's normaliseert in kleine letters.

Azure Databricks ondersteunt ook een optioneel dbfs:/ schema, dus het volgende pad werkt ook:

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

Notitie

U kunt ook toegang krijgen tot gegevens in externe volumes met behulp van cloudopslag-URI's.

Bestanden in volumes beheren

Van toepassing op:vinkje als ja aan Databricks SQL Connector

Met behulp van een Databricks SQL Connector kunt u bestanden in volumes beheren met behulp van de volgende opdrachten:

  • PUT INTO om een bestand van uw lokale opslag naar een volume te kopiëren.
  • GET een bestand van een volume naar uw lokale opslag kopiëren.
  • REMOVE een bestand van een volume verwijderen.

Voorbeelden

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