Programowe interakcje z plikami obszaru roboczego
Możesz programowo korzystać z plików obszarów roboczych przechowywanych w usłudze Azure Databricks. Umożliwia to wykonywanie zadań, takich jak:
- Przechowywanie małych plików danych wraz z notesami i kodem.
- Zapisywanie plików dziennika w katalogach zsynchronizowanych z usługą Git.
- Importowanie modułów przy użyciu ścieżek względnych.
- Tworzenie lub modyfikowanie pliku specyfikacji środowiska.
- Zapisywanie danych wyjściowych z notesów.
- Zapisywanie danych wyjściowych z wykonywania bibliotek, takich jak Tensorboard.
Możesz programowo tworzyć, edytować i usuwać pliki obszarów roboczych w środowisku Databricks Runtime 11.3 LTS i nowszym.
Uwaga
Aby wyłączyć zapisywanie w plikach obszaru roboczego, ustaw zmienną środowiskową klastra WSFS_ENABLE_WRITE_SUPPORT=false
. Aby uzyskać więcej informacji, zobacz Zmienne środowiskowe.
Uwaga
W środowisku Databricks Runtime 14.0 lub nowszym domyślnym bieżącym katalogiem roboczym (CWD) wykonywanym lokalnie jest katalog zawierający notes lub skrypt. Jest to zmiana zachowania środowiska Databricks Runtime 13.3 LTS i poniżej. Zobacz Co to jest domyślny bieżący katalog roboczy?.
Odczytywanie lokalizacji plików
Użyj poleceń powłoki, aby odczytać lokalizacje plików, na przykład w repozytorium lub w lokalnym systemie plików.
Aby określić lokalizację plików, wprowadź następujące informacje:
%sh ls
- Pliki nie są w repozytorium: polecenie zwraca system
/databricks/driver
plików . - Pliki znajdują się w repozytorium: polecenie zwraca zwirtualizowane repozytorium, takie jak
/Workspace/Repos/name@domain.com/public_repo_2/repos_file_system
.
Odczytywanie plików obszaru roboczego danych
Możesz programowo odczytywać małe pliki danych, takie jak .csv
lub .json
pliki z kodu w notesach. W poniższym przykładzie użyto biblioteki Pandas do wykonywania zapytań dotyczących plików przechowywanych w /data
katalogu względem katalogu głównego repozytorium projektu:
import pandas as pd
df = pd.read_csv("./data/winequality-red.csv")
df
Za pomocą platformy Spark można odczytywać pliki danych. Musisz podać platformę Spark z w pełni kwalifikowaną ścieżką.
- Pliki obszarów roboczych w folderach Git używają ścieżki
file:/Workspace/Repos/<user-folder>/<repo-name>/path/to/file
. - Pliki obszarów roboczych w katalogu osobistym używają ścieżki :
file:/Workspace/Users/<user-folder>/path/to/file
.
Możesz skopiować ścieżkę bezwzględną lub względną do pliku z menu rozwijanego obok pliku:
W poniższym przykładzie pokazano użycie metody {os.getcwd()}
w celu uzyskania pełnej ścieżki.
import os
spark.read.format("csv").load(f"file:{os.getcwd()}/my_data.csv")
Aby dowiedzieć się więcej o plikach w usłudze Azure Databricks, zobacz Praca z plikami w usłudze Azure Databricks.
Programowe tworzenie, aktualizowanie i usuwanie plików i katalogów
W środowisku Databricks Runtime 11.3 LTS lub nowszym można bezpośrednio manipulować plikami obszarów roboczych w usłudze Azure Databricks. W poniższych przykładach używane są standardowe pakiety i funkcje języka Python do tworzenia plików i katalogów oraz manipulowania nimi.
# 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')