Share via


Interaja programaticamente com os arquivos do espaço de trabalho

Você pode interagir com os arquivos de workspace armazenados no Azure Databricks programaticamente. Isso habilita tarefas como:

  • Armazenar arquivos de dados pequenos junto com notebooks e código.
  • Gravar arquivos de log em diretórios sincronizados com o Git.
  • Importar módulos usando caminhos relativos.
  • Criar ou modificar um arquivo de especificação de ambiente.
  • Gravar a saída de notebooks.
  • Gravar a saída da execução de bibliotecas como o Tensorboard.

Você pode criar, editar e excluir arquivos do espaço de trabalho de forma programática no Databricks Runtime 11.3 LTS e superior.

Observação

Para desabilitar a gravação nos arquivos de workspace, defina a variável de ambiente de cluster WSFS_ENABLE_WRITE_SUPPORT=false. Para obter mais informações, confira Variáveis de ambiente.

Observação

No Databricks Runtime 14.0 e superior, o CWD (diretório de trabalho atual) padrão para o código executado localmente é o diretório que contém o notebook ou o script que está sendo executado. Essa é uma alteração no comportamento do Databricks Runtime 13.3 LTS e inferior. Consulte Qual é o diretório de trabalho atual padrão?.

Ler os locais dos arquivos

Use comandos de shell para ler os locais dos arquivos, por exemplo, em um repositório ou no sistema de arquivos local.

Para determinar o local dos arquivos, insira o seguinte:

%sh ls
  • Os arquivos não estão em um repositório: o comando retorna o /databricks/driver do sistema de arquivos.
  • Os arquivos estão em um repositório: o comando retorna um repositório virtualizado, como /Workspace/Repos/name@domain.com/public_repo_2/repos_file_system.

Ler arquivos do workspace de dados

Você pode ler programaticamente arquivos de dados pequenos, como arquivos .csv ou .json do código nos seus notebooks. O exemplo a seguir usa o Pandas para consultar arquivos armazenados em um diretório /data relativo à raiz do repositório do projeto:

import pandas as pd
df = pd.read_csv("./data/winequality-red.csv")
df

Você pode usar o Spark para ler arquivo de dados. Você deve fornecer ao Spark o caminho totalmente qualificado.

  • Arquivos de workspace em pastas Git usam o caminho file:/Workspace/Repos/<user-folder>/<repo-name>/path/to/file.
  • Os arquivos do espaço de trabalho em seu diretório pessoal utilizam o caminho: file:/Workspace/Users/<user-folder>/path/to/file.

Você pode copiar o caminho absoluto ou relativo para um arquivo no menu suspenso ao lado do arquivo:

menu suspenso do arquivo

O exemplo a seguir mostra o uso de {os.getcwd()} para obter o caminho completo.

import os
spark.read.format("csv").load(f"file:{os.getcwd()}/my_data.csv")

Para saber mais sobre arquivos no Azure Databricks, confira Como trabalhar com arquivos no Azure Databricks.

Criar, atualizar e excluir arquivos e diretórios programaticamente

No Databricks Runtime 11.3 LTS e superior, você pode manipular diretamente os arquivos de workspace no Azure Databricks. Os exemplos a seguir usam pacotes e funcionalidades padrão do Python para criar e manipular arquivos e diretórios.

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