Condividi tramite


Volumi

Si applica a:segno di spunta sì Solo databricks SQL segno di spunta sì Databricks Runtime 13.3 LTS e versioni successive segno di spunta sì al catalogo Unity

I volumi sono oggetti catalogo Unity che rappresentano un volume logico di archiviazione in un percorso di archiviazione di oggetti cloud. I volumi offrono funzionalità per l'accesso, l'archiviazione, la governance e l'organizzazione dei file. Mentre le tabelle forniscono la governance sui set di dati tabulari, i volumi aggiungono governance su set di dati non tabulari. È possibile usare volumi per archiviare e accedere ai file in qualsiasi formato, inclusi dati strutturati, semistrutturati e non strutturati.

I volumi sono di pari livello a tabelle, viste e altri oggetti organizzati in uno schema in Unity Catalog.

Un volume può essere gestito o esterno.

Per altri dettagli e limitazioni, vedere Che cosa sono i volumi del catalogo Unity?.

Volume gestito

Un volume gestito è un volume di archiviazione regolamentato dal catalogo unity creato all'interno del percorso di archiviazione gestito dello schema contenitore. I volumi gestiti consentono la creazione di risorse di archiviazione regolamentate per lavorare con i file senza sovraccarico di percorsi esterni e credenziali di archiviazione. Non è necessario specificare un percorso durante la creazione di un volume gestito e l'accesso ai file per i dati nei volumi gestiti avvierà tramite percorsi gestiti da Unity Catalog.

Volume esterno

Un volume esterno è un volume di archiviazione regolamentato dal catalogo unity registrato in una directory all'interno di una posizione esterna.

Denominazione e riferimento dei volumi

Un nome di volume è un identificatore che può essere qualificato con un catalogo e un nome di schema nei comandi SQL.

Il percorso per accedere ai file nei volumi usa il formato seguente:

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

Si noti che Azure Databricks normalizza gli identificatori in lettere minuscole.

Azure Databricks supporta anche uno schema facoltativo dbfs:/ , quindi funziona anche il percorso seguente:

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

Nota

È anche possibile accedere ai dati in volumi esterni usando gli URI di archiviazione cloud.

Gestione dei file nei volumi

Si applica a: segno di spunta sì Connettore SQL di Databricks

Usando un connettore SQL di Databricks è possibile gestire i file nei volumi usando i comandi seguenti:

  • PUT INTO per copiare un file dalla risorsa di archiviazione locale in un volume.
  • GET per copiare un file da un volume all'archiviazione locale.
  • REMOVE per rimuovere un file da un volume.

Esempi

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