Interagir programaticamente com arquivos de espaço de trabalho
Você pode interagir com arquivos workspace armazenados no Databricks programaticamente. Isso permite tarefas como:
Armazenando pequenos arquivos de dados junto com Notebook e o código.
Gravar arquivos logs em diretórios sincronizados com o Git.
Importando módulos usando caminhos relativos.
Criando ou modificando um arquivo de especificação de ambiente.
Saída de gravação do Notebook.
Escrevendo a saída da execução de bibliotecas como TensorBoard.
O senhor pode criar, editar, renomear e excluir arquivos workspace de forma programática em Databricks Runtime 11.3 LTS e acima. Essa funcionalidade é compatível com o Notebook em Databricks Runtime 16.2 e acima, e serverless environment 2 e acima.
Observação
Para desativar a gravação em arquivos workspace , configure a variável de ambiente clusters WSFS_ENABLE_WRITE_SUPPORT=false
. Para mais informações, consulte variável de ambiente.
Observação
No Databricks Runtime 14.0 e acima, o diretório de trabalho atual (CWD) default para o código executado localmente é o diretório que contém o Notebook ou script que está sendo executado. Esta é uma mudança de comportamento do Databricks Runtime 13.3 LTS e abaixo. Consulte Qual é o diretório de trabalho atual default ?.
Leia a localização dos arquivos
Use comandos shell para ler os locais dos arquivos, por exemplo, em um repositório ou no sistema de arquivos local.
Para determinar a localização dos arquivos, digite o seguinte:
%sh ls
Os arquivos não estão em um repositório: o comando retorna o sistema de arquivos
/databricks/driver
.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 espaço de trabalho de dados
Você pode ler programaticamente pequenos arquivos de dados como arquivos .csv
ou .json
do código em seu Notebook. O exemplo a seguir usa Pandas para query 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 arquivos de dados. Você deve fornecer ao Spark o caminho totalmente qualificado.
workspace Os arquivos nas pastas Git usam o caminho
file:/Workspace/Repos/<user-folder>/<repo-name>/path/to/file
.arquivos workspace em seu diretório pessoal usam o caminho:
file:/Workspace/Users/<user-folder>/path/to/file
.
Você pode copiar o caminho absoluto ou relativo para um arquivo no menu dropdown ao lado do arquivo:

O exemplo abaixo 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 Databricks, consulte Trabalhar com arquivos no Databricks.
Crie, atualize e exclua arquivos e diretórios programaticamente
Em Databricks Runtime 11.3 LTS e acima, o senhor pode manipular diretamente os arquivos workspace em Databricks. Os notebooks são tratados como arquivos workspace em Databricks Runtime 16.2 e acima, e serverless environment 2 e acima. Os exemplos a seguir usam o pacote e a funcionalidade 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')
Notebook como arquivos workspace
Observação
Esse recurso está disponível em Databricks Runtime 16.2 e acima, e serverless environment 2 e acima.
Todas as interações programáticas com arquivos também estão disponíveis para o Notebook. Um ativo no site workspace é identificado como um Notebook se o senhor
tem uma extensão
.ipynb
,ou contém as cadeias de caracteres
Databricks notebook source
em um comentário na primeira linha e tem uma das seguintes extensões:.py
,.r
,.scala
,.sql
.
Qualquer gravação ou renomeação de um Notebook ou arquivo que altere essas condições também altera o tipo do Notebook ou arquivo. Por exemplo, se o senhor tiver um arquivo myfile.txt
que tenha # Databricks notebook source
como primeira linha, renomear esse arquivo para myfile.py
o transformará em um Notebook.
Para obter informações sobre a conversão de um arquivo em um Notebook, consulte Importar um arquivo e convertê-lo em um Notebook.