Interaja programaticamente com os arquivos workspace
O senhor pode interagir com os arquivos workspace armazenados em Databricks de forma programática. Isso permite tarefas como:
- Armazenamento de pequenos arquivos de dados junto com o Notebook e o código.
- Gravação de arquivos log em diretórios sincronizados com Git.
- Importação de módulos usando caminhos relativos.
- Criação ou modificação de um arquivo de especificação de ambiente.
- Saída de gravação do Notebook.
- Escrever a saída da execução da biblioteca, 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.
Para desativar a gravação em arquivos workspace, defina a variável de ambiente WSFS_ENABLE_WRITE_SUPPORT=false
de clustering. Para obter mais informações, consulte variável de ambiente.
Em Databricks Runtime 14.0 e acima, o diretório de trabalho atual (CWD) de default para o código executado localmente é o diretório que contém o Notebook ou o script que está sendo executado. Essa é uma mudança de comportamento em relação a Databricks Runtime 13.3 LTS e abaixo. Consulte Qual é o diretório de trabalho atual do default.
Leia a localização dos arquivos
Use shell comando 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 dados workspace files
O senhor pode ler programaticamente pequenos arquivos de dados, como os arquivos .csv
ou .json
, a partir do código no Notebook. 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
O senhor pode usar o Spark para ler arquivos de dados. O senhor deve fornecer ao Spark o caminho totalmente qualificado.
- Os arquivos do espaço de trabalho nas 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 usam o caminho:
file:/Workspace/Users/<user-folder>/path/to/file
.
O senhor pode copiar o caminho absoluto ou relativo de 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 de forma programática
O senhor pode manipular programaticamente os arquivos workspace em Databricks, da mesma forma que trabalha com arquivos em qualquer sistema de arquivos padrão.
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. Para obter informações sobre a conversão de um arquivo em um Notebook, consulte Converter um arquivo em um Notebook.
Os exemplos a seguir usam pacotes e funcionalidades Python padrão para criar e manipular arquivos e diretórios.
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/")