Volúmenes

Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 13.3 LTS y versiones posteriores solo casilla marcada como Sí Unity Catalog

Los volúmenes son objetos de Unity Catalog que representan un volumen lógico de almacenamiento en una ubicación de almacenamiento de objetos en la nube. Los volúmenes proporcionan funcionalidades para acceder, almacenar, gobernar y organizar archivos. Mientras que las tablas proporcionan gobernanza sobre conjuntos de datos tabulares, los volúmenes agregan gobernanza sobre conjuntos de datos no tabulares. Puede usar volúmenes para almacenar archivos en cualquier formato, incluidos datos estructurados, semiestructurados y no estructurados, así como acceder a ellos.

Los volúmenes son elementos relacionados con tablas, vistas y otros objetos organizados en un esquema en Unity Catalog.

Un volumen puede ser administrado o externo.

Para obtener más detalles y limitaciones, consulte Crear y trabajar con volúmenes.

Volumen administrado

Un volumen administrado es un volumen de almacenamiento regulado por Unity Catalog creado dentro de la ubicación de almacenamiento predeterminada del esquema contenedor. Los volúmenes administrados permiten la creación de almacenamiento regulado para trabajar con archivos sin la sobrecarga de ubicaciones externas y credenciales de almacenamiento. No es necesario especificar una ubicación para crear un volumen administrado, y el acceso a todos los archivos de los datos de los volúmenes administrados se realiza a través de rutas de acceso administradas por Unity Catalog.

Volumen externo

Un volumen externo es un volumen de almacenamiento regulado por Unity Catalog registrado en un directorio dentro de una ubicación externa.

Nomenclatura y referencia de volúmenes

Un nombre de volumen es un identificador que se puede calificar con un nombre de catálogo y esquema en comandos SQL.

La ruta de acceso a los archivos de los volúmenes usa el siguiente formato:

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

Tenga en cuenta que Azure Databricks normaliza los identificadores en minúsculas.

Azure Databricks también admite un esquema dbfs:/ opcional, por lo que también funciona la siguiente ruta de acceso:

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

Nota:

También puede acceder a los datos de volúmenes externos mediante URI de almacenamiento en la nube.

Ejemplos

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