Volumes
Van toepassing op: Databricks SQL Databricks Runtime 13.3 LTS en hoger Unity Catalog alleen
Volumes zijn Unity Catalog objecten die een logisch opslagvolume in een opslaglocatie voor cloudobjecten vertegenwoordigen. Volumes biedt mogelijkheden voor het openen, opslaan, beheren en ordenen van bestanden. Hoewel tables governance biedt over gegevenssets in tabelvorm, volumes governance toevoegen aan 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 broers en zussen van tables, viewsen andere objecten die zijn ingedeeld onder een schema in Unity Catalog.
Een volume kan worden beheerd of extern.
Zie Wat zijn Unity Catalogvolumesvoor meer informatie en beperkingen?.
Beheerd volume
Een beheerd volume is een opslagvolume dat wordt beheerd door Unity Catalogen is gecreëerd binnen de beheerde opslaglocatie van het systeem met schema. De beheerfunctionaliteit van volumes maakt het mogelijk beheerde opslag te creëren voor het werken met bestanden, zonder de overhead van externe locaties en opslag credentials. 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 Unity-Catalog-beheerde opslagvolume dat is geregistreerd bij een map binnen een externe locatie.
Volumenaam en -verwijzing
Een volumenaam is een identifier die kan worden gekwalificeerd met een catalog- en een schema-naam in SQL-opdrachten.
Het pad voor 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 beheren in volumes
Van toepassing op: 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 naar remove een bestand van een volume.
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