Interacción mediante programación con archivos del área de trabajo

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.
  • La escritura de las salidas en ejecuciones de bibliotecas como Tensorboard.

Puede crear, editar y eliminar archivos de área de trabajo mediante programación en Databricks Runtime 11.3 LTS 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. Vea ¿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 de archivos /databricks/driver.
  • 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

Puede leer mediante programación archivos de datos pequeños como .csv o .json a partir del código de los 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 del directorio personal usan la ruta de acceso: 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:

menú desplegable 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.

Creación, actualización y eliminación de archivos y directorios mediante programación

En Databricks Runtime 11.3 LTS y versiones posteriores, puede manipular directamente los archivos del área de trabajo en Azure Databricks. En los siguientes ejemplos se usan paquetes y funcionalidades estándar de Python para crear y manipular archivos y directorios.

# 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')