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
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
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 o identificar:
- 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.