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:
- En el área de trabajo de Azure Databricks, haga clic en Catálogo.
- 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:
- Seleccione uno o varios archivos.
- Haga clic en Descargar para descargar estos archivos.
Eliminación de archivos de un volumen
Para eliminar archivos de un volumen, haga lo siguiente:
- Seleccione uno o varios archivos.
- Haga clic en Eliminar.
- 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:
- Haga clic en el a la derecha del nombre del volumen.
- Seleccione Crear directorio.
- Escriba un nombre de directorio.
- Haga clic en Crear.
Eliminación de directorios de un volumen
Para eliminar directorios de un volumen, haga lo siguiente:
- Seleccione uno o varios directorios.
- Haga clic en Eliminar.
- 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 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.
Seleccione uno o varios archivos o un directorio. Los archivos deben tener la misma distribución de datos.
Haga clic en Crear tabla. Aparece el cuadro de diálogo Crear tabla a partir de volúmenes.
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.
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:
- El
dbutils.fs
submódulo en utilidades de Databricks. Consulte Utilidad de sistema de archivos (dbutils.fs). - La
%fs
magic, que es un alias paradbutils.fs
. - La
%sh
magic, que permite el comando bash 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:
- Conector SQL de Databricks para Python. Vea Administrar archivos en volúmenes de Unity Catalog.
- El controlador SQL de Databricks para Go. Vea Administrar archivos en volúmenes de Unity Catalog.
- El controlador SQL de Databricks para Node.js. Vea Administrar archivos en volúmenes de Unity Catalog.
- Controlador JDBC de Databricks. Vea Administrar archivos en volúmenes de Unity Catalog con el Controlador JDBC de Databricks.
- Controlador ODBC de Databricks. Vea Administrar archivos en volúmenes de Unity Catalog con el Controlador ODBC de Databricks.
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:
- SDK de Databricks para Python. Use los métodos disponibles en WorkspaceClient.files. Para obtener ejemplos, vea Administrar archivos en volúmenes de Unity Catalog.
- SDK de Databricks para Java. Use los métodos disponibles en WorkspaceClient.files. Para obtener ejemplos, vea Administrar archivos en volúmenes de Unity Catalog.
- SDK de Databricks para Go. Use los métodos disponibles en WorkspaceClient.files. Para obtener ejemplos, vea Administrar archivos en volúmenes de Unity Catalog.
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}"