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