Interakce se soubory pracovního prostoru prostřednictvím kódu programu
S pracovními soubory uloženými v Azure Databricks můžete pracovat programově. To umožňuje úlohy, jako jsou:
- Ukládání malých datových souborů spolu s poznámkovými bloky a kódem
- Zápis souborů protokolu do adresářů synchronizovaných s Gitem
- Import modulů pomocí relativních cest
- Vytvoření nebo úprava souboru specifikace prostředí
- Zápis výstupu z poznámkových bloků
- Zápis výstupu ze spouštění knihoven, jako je Tensorboard.
Soubory pracovního prostoru můžete vytvářet, upravovat, přejmenovat a odstraňovat prostřednictvím kódu programu v Databricks Runtime 11.3 LTS a novějších. Tato funkce je podporována pro poznámkové bloky v Databricks Runtime 16.2 a novějších a v bezserverových prostředích 2 a novějších.
Poznámka
Pokud chcete zakázat zápis do souborů pracovního prostoru, nastavte proměnnou prostředí clusteru WSFS_ENABLE_WRITE_SUPPORT=false
. Další informace naleznete v tématu Proměnné prostředí.
Poznámka
Ve službě Databricks Runtime 14.0 a vyšší je výchozí aktuální pracovní adresář (CWD) pro kód spuštěný místně, je adresář obsahující spuštěný poznámkový blok nebo skript. Jedná se o změnu chování z Databricks Runtime 13.3 LTS a níže. Viz Co je výchozí aktuální pracovní adresář?.
Přečíst umístění souborů
Příkazy shellu slouží ke čtení umístění souborů, například v úložišti nebo v místním systému souborů.
Pokud chcete určit umístění souborů, zadejte následující:
%sh ls
-
Soubory nejsou v úložišti: Příkaz vrátí systém souborů
/databricks/driver
. -
Soubory jsou v úložišti: Příkaz vrátí virtualizované úložiště, například
/Workspace/Repos/name@domain.com/public_repo_2/repos_file_system
.
Čtení souborů pracovního prostoru dat
Malé datové soubory, jako jsou soubory .csv
nebo .json
, můžete programově načíst z kódu v poznámkových blocích. Následující příklad používá Pandas k dotazování souborů uložených v adresáři /data
vzhledem ke kořenovému adresáři úložiště projektu:
import pandas as pd
df = pd.read_csv("./data/winequality-red.csv")
df
Spark můžete použít ke čtení datových souborů. Musíte poskytnout Sparku plně kvalifikovanou cestu.
- Soubory pracovního prostoru ve složkách Gitu používají cestu
file:/Workspace/Repos/<user-folder>/<repo-name>/path/to/file
. - Soubory pracovního prostoru ve vašem osobním adresáři používají cestu:
file:/Workspace/Users/<user-folder>/path/to/file
.
Absolutní nebo relativní cestu k souboru můžete zkopírovat z rozevírací nabídky vedle souboru:
Následující příklad ukazuje použití {os.getcwd()}
k získání úplné cesty.
import os
spark.read.format("csv").load(f"file:{os.getcwd()}/my_data.csv")
Další informace o souborech v Azure Databricks najdete v tématu Práce se soubory v azure Databricks.
Vytváření, aktualizace a odstraňování souborů a adresářů prostřednictvím kódu programu
V Databricks Runtime 11.3 LTS a novějších můžete přímo manipulovat se soubory pracovního prostoru v Azure Databricks. Poznámkové bloky jsou považovány za soubory pracovního prostoru v Databricks Runtime 16.2 a vyšším a v bezserverovém prostředí 2 a vyšším. Následující příklady používají standardní balíčky a funkce Pythonu k vytváření a manipulaci se soubory a adresáři.
# 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')
Poznámkové bloky jako soubory pracovního prostoru
Poznámka
Tato funkce je dostupná ve verzi Databricks Runtime 16.2 a novější a v prostředí serverless 2 a vyšší.
Pro poznámkové bloky jsou k dispozici také všechny programové interakce se soubory. Prostředek v pracovním prostoru se identifikuje jako poznámkový blok, pokud:
- má příponu
.ipynb
- nebo obsahuje řetězec
Databricks notebook source
v komentáři na prvním řádku a má jednu z následujících rozšíření:.py
,.r
,.scala
,.sql
.
Jakýkoli zápis nebo přejmenování poznámkového bloku nebo souboru, který tyto podmínky změní, změní také typ poznámkového bloku nebo souboru. Pokud máte například soubor myfile.txt
, který má na prvním řádku # Databricks notebook source
, přejmenujte ho na myfile.py
, což ho promění v poznámkový blok.
Informace o převodu souboru na poznámkový blok najdete v tématu Import souboru a jeho převedení na poznámkový blok.