Compartir a través de


Administrar archivos en volúmenes

En este artículo se proporcionan ejemplos para administrar archivos en volúmenes de Unity Catalog para varias interfaces de usuario, herramientas, bibliotecas e idiomas.

Databricks recomienda usar volúmenes para administrar todo el acceso a datos no tabulares en el almacenamiento de objetos en la nube. Entre los ejemplos de datos no tabulares se incluyen los siguientes:

  • Archivos de datos para la ingesta, como CSV, JSON y Parquet.
  • Archivos de texto, imagen y audio para cargas de trabajo de ciencia de datos, aprendizaje automático e inteligencia artificial.
  • Artefactos CSV o JSON escritos por Azure Databricks para la integración con sistemas externos.

Puede usar volúmenes para almacenar archivos como bibliotecas, scripts de inicialización y artefactos de compilación. Vea Recomendaciones para archivos en volúmenes y archivos de área de trabajo.

Trabajar con archivos en volúmenes mediante la interfaz de usuario del Catalog Explorer

El Explorador de catálogos ofrece opciones para tareas comunes de administración de archivos almacenados con volúmenes de Unity Catalog. Consulte Crear y trabajar con volúmenes.

Cambiar el nombre de un volumen o eliminarlo

Haga clic en el menú de kebab menú Kebab junto a Cargar en este volumen para ver las opciones para Cambiar el nombre o Eliminar el volumen.

Establecimiento de permisos en un volumen

Puede usar el Explorador de catálogos para administrar permisos en un volumen o asignar una nueva entidad de seguridad como propietario de un volumen. Consulte Administrar privilegios en Unity Catalog y Administrar la propiedad del objeto Unity Catalog.

Carga de archivos en un volumen

El botón Cargar en este volumen abre un cuadro de diálogo para cargar archivos. Consulte Cargar archivos en un volumen de Unity Catalog.

Los archivos cargados no pueden superar los 5 GB.

Tareas de administración de archivos de interfaz de usuario para volúmenes

Haga clic en el menú kebab menú Kebab junto a un nombre de archivo para realizar las siguientes acciones:

  • Copiar ruta de acceso
  • Descarga de un archivo
  • Eliminar archivo
  • Crear tabla

Crear una tabla a partir de datos de un volumen

Azure Databricks proporciona una interfaz de usuario para crear una tabla administrada de Unity Catalog a partir de un archivo o directorio de archivos almacenados en un volumen de Unity Catalog.

Debe disponer de los permisos de CREATE TABLE en el esquema de destino y tener acceso a un almacén SQL en ejecución.

Puede usar la interfaz de usuario proporcionada para realizar las siguientes selecciones:

  • Elija entre Crear nueva tabla o Sobrescribir tabla existente.
  • Seleccione el Catálogo y el Esquema de destino.
  • Especifique el Nombre de la tabla.
  • Invalide los nombres y tipos de columnas predeterminados o elija excluir columnas.

Nota:

Haga clic en Atributos avanzados para ver opciones adicionales.

Haga clic en Crear tabla para crear la tabla en la ubicación especificada. Al finalizar, el Explorador de catálogos muestra los detalles de la tabla.

Trabajar mediante programación con archivos en volúmenes en Azure Databricks

Puede leer y escribir archivos en volúmenes de todos los lenguajes y editores de áreas de trabajo admitidos con el siguiente formato:

/Volumes/catalog_name/schema_name/volume_name/path/to/files

Interactúa con archivos en volúmenes de la misma manera que interactúa con archivos en cualquier ubicación de almacenamiento de objetos en la nube. Esto significa que si actualmente administra código que usa URI en la nube, rutas de montaje de DBFS o rutas de acceso raíz de DBFS para interactuar con datos o archivos, puede actualizar el código para usar volúmenes en su lugar.

Nota:

Los volúmenes solo se usan para datos no tabulares. Databricks recomienda registrar datos tabulares mediante tablas de Unity Catalog y, a continuación, leer y escribir datos mediante nombres de tabla.

Lectura y escritura de datos en volúmenes

Puede usar Apache Spark, pandas, Spark SQL y otras bibliotecas del OSS para leer y escribir archivos de datos en volúmenes.

En los ejemplos siguientes se muestra cómo leer un archivo CSV almacenado en un volumen:

Python

df = spark.read.format("csv").load("/Volumes/catalog_name/schema_name/volume_name/data.csv")

display(df)

Pandas

import pandas as pd

df = pd.read_csv('/Volumes/catalog_name/schema_name/volume_name/data.csv')

display(df)

SQL

SELECT * FROM csv.`/Volumes/catalog_name/schema_name/volume_name/data.csv`

Comandos de utilidad para archivos en volúmenes

Databricks proporciona las siguientes herramientas para administrar archivos en volúmenes:

Para obtener un ejemplo de cómo usar estas herramientas para descargar archivos desde Internet, descomprimir archivos y mover archivos de almacenamiento en bloques efímeros a volúmenes, vea Descargar datos de Internet.

También puede usar paquetes de OSS para comandos de utilidad de archivos, como el módulo Python os, como se muestra en el ejemplo siguiente:

import os

os.mkdir('/Volumes/catalog_name/schema_name/volume_name/directory_name')

Administración de archivos en volúmenes desde herramientas externas

Databricks proporciona un conjunto de herramientas para administrar archivos en volúmenes mediante programación desde su entorno local o sistemas integrados.

Comandos SQL para archivos en volúmenes

Azure Databricks admite las siguientes palabras clave SQL para interactuar con archivos en volúmenes:

  • PUT
  • GET
  • LIST
  • DELETE

Nota:

Los cuadernos de Databricks o el editor de consultas solo admiten el comando LIST.

Los siguientes conectores y controladores SQL de Databricks admiten la administración de archivos en volúmenes:

Administración de archivos en volúmenes con la CLI de Databricks

Use los subcomandos en databricks fs. Vea grupo de comandos fs.

Nota:

La CLI de Databricks requiere que el esquema dbfs:/ preceda a todas las rutas de acceso de volúmenes. Por ejemplo, dbfs:/Volumes/catalog_name/schema_name/volume_name/path/to/data.

Administración de archivos en volúmenes con SDK

Los siguientes SDK admiten la administración de archivos en volúmenes:

Administración de archivos en volúmenes con la API de REST

Use la API de Files para administrar archivos en volúmenes.

Ejemplos de la API de REST para archivos en volúmenes

En los ejemplos siguientes se usan curl y la API de REST de Databricks para realizar tareas de administración de archivos en volúmenes.

En el ejemplo siguiente se crea una carpeta vacía denominada my-folder en el volumen especificado.

curl --request PUT "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"

En el ejemplo siguiente se crea un archivo denominado data.csv con los datos especificados en la ruta de acceso especificada del volumen.

curl --request PUT "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv?overwrite=true" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" \
--header "Content-Type: application/octet-stream" \
--data-binary $'id,Text\n1,Hello World!'

En el ejemplo siguiente se muestra el contenido de un volumen en la ruta de acceso especificada. En este ejemplo se usa jq para dar formato al JSON del cuerpo de respuesta para facilitar la lectura.

curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .

En el ejemplo siguiente se muestra el contenido de una carpeta en un volumen de la ruta de acceso especificada. En este ejemplo se usa jq para dar formato al JSON del cuerpo de respuesta para facilitar la lectura.

curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .

En el ejemplo siguiente se imprime el contenido de un archivo en la ruta de acceso especificada de un volumen.

curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"

En el ejemplo siguiente se elimina un archivo de la ruta de acceso especificada de un volumen.

curl --request DELETE "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"

En el ejemplo siguiente se elimina una carpeta del volumen especificado.

curl --request DELETE "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"