Megosztás a következőn keresztül:


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/driveradja 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/fileelé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:

fájl legördülő menü

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.