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 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 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:
- 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:
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:
- 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}"
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de