Programozott módon kezelheti a munkaterület fájljait
Az Azure Databricksben tárolt munkaterület-fájlokat programozott módon kezelheti. Ez olyan feladatokat tesz lehetővé, mint például:
- Kis adatfájlok tárolása a jegyzetfüzetek és a kód mellett.
- Naplófájlok írása a Gittel szinkronizált könyvtárakba.
- Modulok importálása relatív elérési utak használatával.
- Környezeti specifikációs fájl létrehozása vagy módosítása.
- Jegyzetfüzetekből kimenet írása.
- Kimenet írása kódtárak( például Tensorboard) végrehajtásából.
A Databricks Runtime 11.3 LTS-ben és újabb verziókban programozott módon hozhat létre, szerkeszthet, átnevezhet és törölhet munkaterületfájlokat. Ez a funkció a Databricks Runtime 16.2 és újabb verziókban, valamint a kiszolgáló nélküli környezetek 2-es és újabb verzióiban támogatott.
Jegyzet
Ha le szeretné tiltani a munkaterület fájljaiba való írást, állítsa be a fürt környezeti változóját WSFS_ENABLE_WRITE_SUPPORT=false
. További információ: Környezeti változók.
Jegyzet
A Databricks Runtime 14.0-s vagy újabb verziójában a helyileg végrehajtott kód alapértelmezett aktuális munkakönyvtára (CWD) a futtatandó jegyzetfüzetet vagy szkriptet tartalmazó könyvtár. Ez a viselkedésváltozás a Databricks Runtime 13.3 LTS és az azt megelőző verziókban tapasztalható. Lásd Mi az alapértelmezett aktuális munkakönyvtár?.
A fájlok helyének olvasása
A rendszerhéjparancsokkal beolvashatja a fájlok helyét, például egy adattárban vagy a helyi fájlrendszerben.
A fájlok helyének meghatározásához adja meg a következőket:
%sh ls
-
A fájlok nincsenek adattárban: A parancs a fájlrendszert
/databricks/driver
adja vissza. -
fájlok adattárban találhatók: A parancs egy virtualizált adattárat ad vissza, például
/Workspace/Repos/name@domain.com/public_repo_2/repos_file_system
.
Adat-munkaterület fájljainak olvasása
Programozott módon olvashat kis adatfájlokat, például .csv
vagy .json
fájlokat a jegyzetfüzetek kódjából. Az alábbi példa a Pandas használatával kérdezi le a /data
könyvtárban tárolt fájlokat a projekt-adattár gyökeréhez képest:
import pandas as pd
df = pd.read_csv("./data/winequality-red.csv")
df
A Spark használatával adatfájlokat olvashat. A Spark számára meg kell adnia a teljes elérési utat.
- A Git-mappákban lévő munkaterületfájlok a
file:/Workspace/Repos/<user-folder>/<repo-name>/path/to/file
elérési utat használják. - A személyes címtárban lévő munkaterületfájlok a következő elérési utat használják:
file:/Workspace/Users/<user-folder>/path/to/file
.
Az abszolút vagy relatív elérési utat átmásolhatja egy fájlba a fájl melletti legördülő menüből:
Az alábbi példa a {os.getcwd()}
használatát mutatja be a teljes elérési út lekéréséhez.
import os
spark.read.format("csv").load(f"file:{os.getcwd()}/my_data.csv")
További információkért az Azure Databricks fájljairól lásd a következőt: Fájlok használata az Azure Databricks.
Fájlok és könyvtárak programozott létrehozása, frissítése és törlése
A Databricks Runtime 11.3 LTS és újabb verziókban közvetlenül módosíthatja a munkaterület fájljait az Azure Databricksben. A jegyzetfüzetek munkaterületfájlokként vannak kezelve a Databricks Runtime 16.2-ben és újabb verziókban, valamint a kiszolgáló nélküli 2. és újabb környezetekben. Az alábbi példák standard Python-csomagokat és funkciókat használnak fájlok és könyvtárak létrehozásához és kezeléséhez.
# 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')
jegyzetfüzetek munkaterületi fájlként
Jegyzet
Ez a funkció a Databricks Runtime 16.2-ben és újabb verziókban, valamint a kiszolgáló nélküli 2. és újabb környezetben érhető el.
A fájlok minden programozott interakciója a jegyzetfüzetekhez is elérhető. A munkaterületen lévő objektum jegyzetfüzetként van azonosítva, ha:
-
.ipynb
kiterjesztéssel rendelkezik, - vagy az első sorban egy megjegyzésben tartalmazza a
Databricks notebook source
sztringet, és a következő kiterjesztések egyikével bír:.py
,.r
,.scala
,.sql
.
Bármely olyan jegyzetfüzet vagy fájl írása vagy átnevezése, amely módosítja ezeket a feltételeket, a jegyzetfüzet vagy fájl típusát is megváltoztatja. Például, ha van egy fájl myfile.txt
, amelynek első sora # Databricks notebook source
, akkor ha átnevezed myfile.py
-re, az jegyzetfüzetté válik.
A fájlok jegyzetfüzetté alakításáról további információt a Fájl importálása és jegyzetfüzetté alakításacímű témakörben talál.