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:

rozevírací nabídka 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 prostředí

Také všechny programatické interakce se soubory jsou k dispozici pro poznámkové bloky v Databricks Runtime 16.2 a novějším a v bezserverovém prostředí 2 a vyšším. Prostředek v pracovním prostoru je identifikován jako poznámkový blok, pokud má příponu .ipynb, nebo pokud obsahuje řetězec Databricks notebook source v komentáři na prvním řádku a má jednu z následujících přípon: .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.