Pular para o conteúdo principal

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.

nota

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.

nota

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:

Bash
%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:

Python
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:

menu suspenso de arquivos

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

Python
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.

Python
# 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

nota

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.