Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede interactuar con los archivos del área de trabajo almacenados en Azure Databricks mediante programación. Esto habilita tareas como:
- El almacenamiento de archivos de datos pequeños junto con cuadernos y códigos.
- La escritura de archivos de registros en directorios sincronizados con Git.
- La importación de módulos mediante rutas de acceso relativas.
- La creación o modificación de un archivo de especificación de entorno.
- La escritura de las salidas en cuadernos.
- Escritura del resultado de la ejecución de bibliotecas como por ejemplo Tensorboard.
Puede crear, editar, cambiar el nombre de los archivos y eliminarlos del área de trabajo mediante programación en Databricks Runtime 11.3 LTS y versiones posteriores. Esta funcionalidad es compatible con cuadernos en Databricks Runtime 16.2 y versiones posteriores, y en el entorno sin servidor 2 y versiones posteriores.
Nota:
Para deshabilitar la escritura en archivos del área de trabajo, establezca la variable WSFS_ENABLE_WRITE_SUPPORT=false
del entorno del clúster. Para más información, consulte Variables de entorno.
Nota:
En Databricks Runtime 14.0 y versiones posteriores, el directorio de trabajo actual predeterminado (CWD) para el código ejecutado localmente es el directorio que contiene el cuaderno o el script que se está ejecutando. Este es un cambio en el comportamiento de Databricks Runtime 13.3 LTS y versiones posteriores. Consulte ¿Cuál es el directorio de trabajo actual predeterminado?.
Lectura de las ubicaciones de los archivos
Use comandos de shell para leer las ubicaciones de los archivos, por ejemplo, en un repositorio o en el sistema de archivos local.
Para determinar la ubicación de los archivos, escriba lo siguiente:
%sh ls
-
Los archivos no están en un repositorio: El comando devuelve el sistema
/databricks/driver
de archivos . -
Los archivos están en un repositorio: el comando devuelve un repositorio virtualizado como
/Workspace/Repos/name@domain.com/public_repo_2/repos_file_system
.
Lectura de archivos de datos del área de trabajo
Puedes leer mediante programación archivos de datos pequeños, como archivos .csv
o .json
, desde el código en tus cuadernos. En el ejemplo siguiente se usa Pandas para consultar los archivos almacenados en un directorio /data
, relativo a la raíz del repositorio del proyecto:
import pandas as pd
df = pd.read_csv("./data/winequality-red.csv")
df
Puede usar Spark para leer archivos de datos. Debe proporcionar a Spark la ruta de acceso completa.
- Los archivos del área de trabajo de las carpetas Git usan la ruta de acceso
file:/Workspace/Repos/<user-folder>/<repo-name>/path/to/file
. - Los archivos del área de trabajo en tu directorio personal usan la ruta:
file:/Workspace/Users/<user-folder>/path/to/file
.
Puede copiar la ruta de acceso absoluta o relativa a un archivo desde el menú desplegable situado junto al archivo:
En el ejemplo siguiente se muestra el uso de {os.getcwd()}
para obtener la ruta de acceso completa.
import os
spark.read.format("csv").load(f"file:{os.getcwd()}/my_data.csv")
Para obtener más información sobre los archivos de Azure Databricks, consulte Trabajar con archivos en Azure Databricks.
Crear, actualizar y eliminar archivos y directorios mediante programación
Puede manipular mediante programación los archivos del área de trabajo en Azure Databricks, de forma similar a cómo se trabaja con archivos en cualquier sistema de archivos estándar.
Nota:
En Databricks Runtime 16.2 y versiones posteriores, y entorno sin servidor 2 y versiones posteriores, todas las interacciones mediante programación con archivos también están disponibles para cuadernos. Para obtener información sobre cómo convertir un archivo en un cuaderno, consulte Conversión de un archivo en un cuaderno.
En los siguientes ejemplos se usan paquetes y funcionalidades estándar de Python para crear y manipular archivos y directorios.
import os
# Create a new directory
os.mkdir('dir1')
# Create a new file and write to it
with open('dir1/new_file.txt', "w") as f:
f.write("new content")
# Append to a file
with open('dir1/new_file.txt', "a") as f:
f.write(" continued")
# Delete a file
os.remove('dir1/new_file.txt')
# Delete a directory
os.rmdir('dir1')
import shutil
# Copy a dashboard
shutil.copy("my-dashboard.lvdash.json", "my-dashboard-copy.lvdash.json")
# Move a query to a shared folder
shutil.move("test-query.dbquery","shared-queries/")