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.

Para interactuar con archivos de un volumen, haga lo siguiente:

  1. En el área de trabajo de Azure Databricks, haga clic en Icono de catálogo Catálogo.
  2. Busque o busque el volumen con el que desea trabajar y selecciónelo.

Para más información sobre cómo crear y administrar volúmenes, consulte Creación y administración de volúmenes.

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.

Descargar archivos de un volumen

Para descargar archivos de un volumen, haga lo siguiente:

  1. Seleccione uno o varios archivos.
  2. Haga clic en Descargar para descargar estos archivos.

Eliminación de archivos de un volumen

Para eliminar archivos de un volumen, haga lo siguiente:

  1. Seleccione uno o varios archivos.
  2. Haga clic en Eliminar.
  3. Haga clic en Eliminar para confirmar en el cuadro de diálogo que aparece.

Creación de un directorio en blanco

Para crear un directorio en un volumen, haga lo siguiente:

  1. Haga clic en el menú Kebab a la derecha del nombre del volumen.
  2. Seleccione Crear directorio.
  3. Escriba un nombre de directorio.
  4. Haga clic en Crear.

Eliminación de directorios de un volumen

Para eliminar directorios de un volumen, haga lo siguiente:

  1. Seleccione uno o varios directorios.
  2. Haga clic en Eliminar.
  3. Haga clic en Eliminar para confirmar en el cuadro de diálogo que aparece.

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, archivos 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.

  1. Seleccione uno o varios archivos o un directorio. Los archivos deben tener la misma distribución de datos.

  2. Haga clic en Crear tabla. Aparece el cuadro de diálogo Crear tabla a partir de volúmenes.

  3. Use el cuadro de diálogo proporcionado para revisar una vista previa de los datos y completar las siguientes configuraciones:

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

    Nota:

    Haga clic en Atributos avanzados para ver opciones adicionales.

  4. Haga clic en Crear tabla para crear la tabla con los atributos especificados. 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:

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