Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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
/databricks/driversouborů . -
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")
Poznámka
V pracovních prostorech, kde jsou zakázány kořenové a připojené soubory DBFS, můžete také použít dbfs:/Workspace pro přístup k souborům pracovního prostoru pomocí nástrojů Databricks. To vyžaduje Databricks Runtime 13.3 LTS nebo vyšší. Viz Zakázání přístupu ke kořenovému adresáři DBFS a připojení v existujícím pracovním prostoru Azure Databricks.
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
Soubory pracovního prostoru v Azure Databricks můžete manipulovat prostřednictvím kódu programu podobně jako se soubory v libovolném standardním systému souborů.
Poznámka
Ve verzích Databricks Runtime 16.2 a novějších a bezserverových prostředích 2 a novějších jsou pro poznámkové bloky k dispozici všechny programové interakce se soubory. Informace o převodu souboru na poznámkový blok najdete v tématu Převod souboru do poznámkového bloku.
Následující příklady používají standardní balíčky a funkce Pythonu k vytváření a manipulaci se soubory a adresáři.
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/")