Databricks-segédprogramok

A Databricks segédprogramjai (dbutils) megkönnyítik a feladatok hatékony kombinációinak végrehajtását. A segédprogramokkal hatékonyan dolgozhat az objektumtárolókkal, láncolhatja és paraméterezheti a jegyzetfüzeteket, valamint titkos kódokkal dolgozhat. dbutils A nem támogatott a jegyzetfüzeteken kívül.

Fontos

A végrehajtókon belüli hívás dbutils váratlan eredményeket eredményezhet. Ha többet szeretne megtudni a használható korlátozásokról dbutils és alternatívákról, olvassa el a Korlátozások című témakört.

dbutils A segédprogramok Python-, R- és Scala-jegyzetfüzetekben érhetők el.

Útmutató: Segédprogramok listázása, listaparancsok, megjelenítési parancs súgója

Segédprogramok: adatok, fs, feladatok, kódtár, jegyzetfüzet, titkos kódok, widgetek, Utilities API-kódtár

Elérhető segédprogramok listázása

Az elérhető segédprogramok felsorolásához és az egyes segédprogramok rövid leírásához futtassa dbutils.help() a Pythont vagy a Scalát.

Ez a példa a Databricks segédprogramok elérhető parancsait sorolja fel.

Python

dbutils.help()

Scala

dbutils.help()
This module provides various utilities for users to interact with the rest of Databricks.

fs: DbfsUtils -> Manipulates the Databricks filesystem (DBFS) from the console
jobs: JobsUtils -> Utilities for leveraging jobs features
library: LibraryUtils -> Utilities for session isolated libraries
notebook: NotebookUtils -> Utilities for the control flow of a notebook (EXPERIMENTAL)
secrets: SecretUtils -> Provides utilities for leveraging secrets within notebooks
widgets: WidgetsUtils -> Methods to create and get bound value of input widgets inside notebooks

Egy segédprogram elérhető parancsainak listázása

Ha egy segédprogram elérhető parancsait és az egyes parancsok rövid leírását szeretné listázni, futtassa .help() a segédprogram programozott neve után.

Ez a példa a Databricks Fájlrendszer (DBFS) segédprogram elérhető parancsait sorolja fel.

Python

dbutils.fs.help()

R

dbutils.fs.help()

Scala

dbutils.fs.help()
dbutils.fs provides utilities for working with FileSystems. Most methods in this package can take either a DBFS path (e.g., "/foo" or "dbfs:/foo"), or another FileSystem URI. For more info about a method, use dbutils.fs.help("methodName"). In notebooks, you can also use the %fs shorthand to access DBFS. The %fs shorthand maps straightforwardly onto dbutils calls. For example, "%fs head --maxBytes=10000 /file/path" translates into "dbutils.fs.head("/file/path", maxBytes = 10000)".

fsutils

cp(from: String, to: String, recurse: boolean = false): boolean -> Copies a file or directory, possibly across FileSystems
head(file: String, maxBytes: int = 65536): String -> Returns up to the first 'maxBytes' bytes of the given file as a String encoded in UTF-8
ls(dir: String): Seq -> Lists the contents of a directory
mkdirs(dir: String): boolean -> Creates the given directory if it does not exist, also creating any necessary parent directories
mv(from: String, to: String, recurse: boolean = false): boolean -> Moves a file or directory, possibly across FileSystems
put(file: String, contents: String, overwrite: boolean = false): boolean -> Writes the given String out to a file, encoded in UTF-8
rm(dir: String, recurse: boolean = false): boolean -> Removes a file or directory

mount

mount(source: String, mountPoint: String, encryptionType: String = "", owner: String = null, extraConfigs: Map = Map.empty[String, String]): boolean -> Mounts the given source directory into DBFS at the given mount point
mounts: Seq -> Displays information about what is mounted within DBFS
refreshMounts: boolean -> Forces all machines in this cluster to refresh their mount cache, ensuring they receive the most recent information
unmount(mountPoint: String): boolean -> Deletes a DBFS mount point
updateMount(source: String, mountPoint: String, encryptionType: String = "", owner: String = null, extraConfigs: Map = Map.empty[String, String]): boolean -> Similar to mount(), but updates an existing mount point instead of creating a new one

Parancs súgójának megjelenítése

Egy parancs súgójának megjelenítéséhez futtassa .help("<command-name>") a parancs neve után.

Ez a példa a DBFS másolási parancsának súgóját jeleníti meg.

Python

dbutils.fs.help("cp")

R

dbutils.fs.help("cp")

Scala

dbutils.fs.help("cp")
/**
* Copies a file or directory, possibly across FileSystems.
*
* Example: cp("/mnt/my-folder/a", "dbfs://a/b")
*
* @param from FileSystem URI of the source file or directory
* @param to FileSystem URI of the destination file or directory
* @param recurse if true, all files and directories will be recursively copied
* @return true if all files were successfully copied
*/
cp(from: java.lang.String, to: java.lang.String, recurse: boolean = false): boolean

Adat segédprogram (dbutils.data)

Fontos

Ez a funkció a nyilvános előzetes verzióban érhető el.

Megjegyzés

A Databricks Runtime 9.0-s és újabb verziókban érhető el.

Parancsok: összegzés

Az adat segédprogram lehetővé teszi az adathalmazok megértését és értelmezését. Az elérhető parancsok listázásához futtassa a következőt dbutils.data.help(): .

dbutils.data provides utilities for understanding and interpreting datasets. This module is currently in preview and may be unstable. For more info about a method, use dbutils.data.help("methodName").

summarize(df: Object, precise: boolean): void -> Summarize a Spark DataFrame and visualize the statistics to get quick insights

summarize parancs (dbutils.data.summarize)

Kiszámítja és megjeleníti az Apache Spark DataFrame vagy a pandas DataFrame összegző statisztikáit. Ez a parancs a Python, a Scala és az R esetében érhető el.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.data.help("summarize").

A Databricks Runtime 10.1 és újabb verzióiban a további precise paraméter használatával módosíthatja a kiszámított statisztikák pontosságát.

Megjegyzés

Ez a funkció a nyilvános előzetes verzióban érhető el.

  • Ha precise hamis (alapértelmezett) értékre van állítva, egyes visszaadott statisztikák közelítéseket tartalmaznak a futási idő csökkentése érdekében.
    • A kategorikus oszlopok eltérő értékeinek száma a nagy számosságú oszlopok esetében ~5%-os relatív hibával járhat.
    • A gyakori értékek száma akár 0,01%-os hibát is okozhat, ha a különböző értékek száma meghaladja az 10000-et.
    • A hisztogramok és a percentilisbecslések akár 0,01%-os hibát is okozhatnak a sorok teljes számához képest.
  • Ha precise igaz értékre van állítva, a statisztikákat a rendszer nagyobb pontossággal számítja ki. A numerikus oszlopok hisztogramjai és percentilisei kivételével minden statisztika pontos.
    • A hisztogramok és a percentilisbecslések akár 0,0001%-os hibát is okozhatnak a sorok teljes számához képest.

Az adatösszesítő kimenet tetején található elemleírás az aktuális futtatás módját jelzi.

Ez a példa az Apache Spark DataFrame összegző statisztikáit jeleníti meg alapértelmezés szerint engedélyezett közelítésekkel. Az eredmények megtekintéséhez futtassa ezt a parancsot egy jegyzetfüzetben. Ez a példa mintaadatkészleteken (databricks-datasets) alapul.

Python

df = spark.read.format('csv').load(
  '/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv',
  header=True,
  inferSchema=True
)
dbutils.data.summarize(df)

R

df <- read.df("/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv", source = "csv", header="true", inferSchema = "true")
dbutils.data.summarize(df)

Scala

val df = spark.read.format("csv")
  .option("inferSchema", "true")
  .option("header", "true")
  .load("/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv")
dbutils.data.summarize(df)

Vegye figyelembe, hogy a vizualizáció SI-jelölést használ a 0,01-nél kisebb vagy 10000-nél nagyobb numerikus értékek tömör megjelenítéséhez. A numerikus érték 1.25e-15 például a következőképpen jelenik meg 1.25f: . Egy kivétel: a vizualizáció a "" helyett "" helyett "B" 1.0e9 (giga) értéketG használ.

Fájlrendszer segédprogram (dbutils.fs)

Parancsok: cp, head, ls, mkdirs, mount, mounts, mv, put, refreshMounts, rm, unmount, updateMount

A fájlrendszer segédprogramja lehetővé teszi a What is the Databricks File System (DBFS)? elérését, így könnyebben használhatja az Azure Databrickset fájlrendszerként. Az elérhető parancsok listázásához futtassa a következőt dbutils.fs.help(): .

dbutils.fs provides utilities for working with FileSystems. Most methods in this package can take either a DBFS path (e.g., "/foo" or "dbfs:/foo"), or another FileSystem URI. For more info about a method, use dbutils.fs.help("methodName"). In notebooks, you can also use the %fs shorthand to access DBFS. The %fs shorthand maps straightforwardly onto dbutils calls. For example, "%fs head --maxBytes=10000 /file/path" translates into "dbutils.fs.head("/file/path", maxBytes = 10000)".

fsutils

cp(from: String, to: String, recurse: boolean = false): boolean -> Copies a file or directory, possibly across FileSystems
head(file: String, maxBytes: int = 65536): String -> Returns up to the first 'maxBytes' bytes of the given file as a String encoded in UTF-8
ls(dir: String): Seq -> Lists the contents of a directory
mkdirs(dir: String): boolean -> Creates the given directory if it does not exist, also creating any necessary parent directories
mv(from: String, to: String, recurse: boolean = false): boolean -> Moves a file or directory, possibly across FileSystems
put(file: String, contents: String, overwrite: boolean = false): boolean -> Writes the given String out to a file, encoded in UTF-8
rm(dir: String, recurse: boolean = false): boolean -> Removes a file or directory

mount

mount(source: String, mountPoint: String, encryptionType: String = "", owner: String = null, extraConfigs: Map = Map.empty[String, String]): boolean -> Mounts the given source directory into DBFS at the given mount point
mounts: Seq -> Displays information about what is mounted within DBFS
refreshMounts: boolean -> Forces all machines in this cluster to refresh their mount cache, ensuring they receive the most recent information
unmount(mountPoint: String): boolean -> Deletes a DBFS mount point
updateMount(source: String, mountPoint: String, encryptionType: String = "", owner: String = null, extraConfigs: Map = Map.empty[String, String]): boolean -> Similar to mount(), but updates an existing mount point instead of creating a new one

cp parancs (dbutils.fs.cp)

Fájl vagy könyvtár másolása, esetleg fájlrendszerek között.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.fs.help("cp").

Ez a példa átmásolja az elnevezett old_file.txt/FileStore/tmp/newfájlt, és átnevezi a másolt fájlt a fájlra new_file.txt.

Python

dbutils.fs.cp("/FileStore/old_file.txt", "/tmp/new/new_file.txt")

# Out[4]: True

R

dbutils.fs.cp("/FileStore/old_file.txt", "/tmp/new/new_file.txt")

# [1] TRUE

Scala

dbutils.fs.cp("/FileStore/old_file.txt", "/tmp/new/new_file.txt")

// res3: Boolean = true

head parancs (dbutils.fs.head)

Az adott fájl megadott maximális bájtszámát adja vissza. A bájtok UTF-8 kódolású sztringként lesznek visszaadva.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.fs.help("head").

Ez a példa a fájl my_file.txt/tmpelső 25 bájtját jeleníti meg.

Python

dbutils.fs.head("/tmp/my_file.txt", 25)

# [Truncated to first 25 bytes]
# Out[12]: 'Apache Spark is awesome!\n'

R

dbutils.fs.head("/tmp/my_file.txt", 25)

# [1] "Apache Spark is awesome!\n"

Scala

dbutils.fs.head("/tmp/my_file.txt", 25)

// [Truncated to first 25 bytes]
// res4: String =
// "Apache Spark is awesome!
// "

ls parancs (dbutils.fs.ls)

Egy könyvtár tartalmát sorolja fel.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.fs.help("ls").

Ez a példa a tartalommal /tmpkapcsolatos információkat jeleníti meg. A modificationTime mező a Databricks Runtime 10.2-s és újabb verziókban érhető el. Az R-ben modificationTime a függvény sztringként adja vissza.

Python

dbutils.fs.ls("/tmp")

# Out[13]: [FileInfo(path='dbfs:/tmp/my_file.txt', name='my_file.txt', size=40, modificationTime=1622054945000)]

R

dbutils.fs.ls("/tmp")

# For prettier results from dbutils.fs.ls(<dir>), please use `%fs ls <dir>`

# [[1]]
# [[1]]$path
# [1] "dbfs:/tmp/my_file.txt"

# [[1]]$name
# [1] "my_file.txt"

# [[1]]$size
# [1] 40

# [[1]]$isDir
# [1] FALSE

# [[1]]$isFile
# [1] TRUE

# [[1]]$modificationTime
# [1] "1622054945000"

Scala

dbutils.fs.ls("/tmp")

// res6: Seq[com.databricks.backend.daemon.dbutils.FileInfo] = WrappedArray(FileInfo(dbfs:/tmp/my_file.txt, my_file.txt, 40, 1622054945000))

mkdirs parancs (dbutils.fs.mkdirs)

Létrehozza a megadott könyvtárat, ha nem létezik. Emellett létrehozza a szükséges szülőkönyvtárakat is.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.fs.help("mkdirs").

Ez a példa létrehozza a könyvtárstruktúrát /parent/child/grandchild a következőn belül /tmp: .

Python

dbutils.fs.mkdirs("/tmp/parent/child/grandchild")

# Out[15]: True

R

dbutils.fs.mkdirs("/tmp/parent/child/grandchild")

# [1] TRUE

Scala

dbutils.fs.mkdirs("/tmp/parent/child/grandchild")

// res7: Boolean = true

mount parancs (dbutils.fs.mount)

Csatlakoztatja a megadott forráskönyvtárat a DBFS-hez a megadott csatlakoztatási ponton.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.fs.help("mount").

Python

dbutils.fs.mount(
  source = "wasbs://<container-name>@<storage-account-name>.blob.core.windows.net",
  mount_point = "/mnt/<mount-name>",
  extra_configs = {"<conf-key>":dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")})

Scala

dbutils.fs.mount(
  source = "wasbs://<container-name>@<storage-account-name>.blob.core.windows.net/<directory-name>",
  mountPoint = "/mnt/<mount-name>",
  extraConfigs = Map("<conf-key>" -> dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")))

További példakódok: Azure Data Lake Storage Gen2 és Blob Storage elérése az Azure Databricks használatával.

mounts parancs (dbutils.fs.mounts)

Információkat jelenít meg arról, hogy mi van jelenleg csatlakoztatva a DBFS-ben.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.fs.help("mounts").

Python

dbutils.fs.mounts()

Scala

dbutils.fs.mounts()

További példakódok: Azure Data Lake Storage Gen2 és Blob Storage elérése az Azure Databricks használatával.

mv parancs (dbutils.fs.mv)

Áthelyez egy fájlt vagy könyvtárat, esetleg fájlrendszerek között. Az áthelyezés egy másolat, amelyet törlés követ, még a fájlrendszereken belüli áthelyezésekhez is.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.fs.help("mv").

This example moves the file my_file.txt from /FileStore to /tmp/parent/child/granchild.

Python

dbutils.fs.mv("/FileStore/my_file.txt", "/tmp/parent/child/grandchild")

# Out[2]: True

R

dbutils.fs.mv("/FileStore/my_file.txt", "/tmp/parent/child/grandchild")

# [1] TRUE

Scala

dbutils.fs.mv("/FileStore/my_file.txt", "/tmp/parent/child/grandchild")

// res1: Boolean = true

put parancs (dbutils.fs.put)

A megadott sztringet egy fájlba írja. A sztring UTF-8 kódolású.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.fs.help("put").

This example writes the string Hello, Databricks! to a file named hello_db.txt in /tmp. Ha a fájl létezik, azt felülírja a rendszer.

Python

dbutils.fs.put("/tmp/hello_db.txt", "Hello, Databricks!", True)

# Wrote 18 bytes.
# Out[6]: True

R

dbutils.fs.put("/tmp/hello_db.txt", "Hello, Databricks!", TRUE)

# [1] TRUE

Scala

dbutils.fs.put("/tmp/hello_db.txt", "Hello, Databricks!", true)

// Wrote 18 bytes.
// res2: Boolean = true

refreshMounts parancs (dbutils.fs.refreshMounts)

A fürtben lévő összes gépre kényszeríti a csatlakoztatási gyorsítótár frissítését, így biztosítva, hogy a legújabb információkat kapják meg.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.fs.help("refreshMounts").

Python

dbutils.fs.refreshMounts()

Scala

dbutils.fs.refreshMounts()

További példák a Azure Data Lake Storage Gen2 és a Blob Storage Azure Databricks szolgáltatással való elérésére.

rm parancs (dbutils.fs.rm)

Fájl vagy könyvtár eltávolítása.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.fs.help("rm").

Ez a példa eltávolítja a következőben /tmpelnevezett hello_db.txt fájlt: .

Python

dbutils.fs.rm("/tmp/hello_db.txt")

# Out[8]: True

R

dbutils.fs.rm("/tmp/hello_db.txt")

# [1] TRUE

Scala

dbutils.fs.rm("/tmp/hello_db.txt")

// res6: Boolean = true

unmount parancs (dbutils.fs.unmount)

Töröl egy DBFS-csatlakoztatási pontot.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.fs.help("unmount").

dbutils.fs.unmount("/mnt/<mount-name>")

További példakódok: Azure Data Lake Storage Gen2 és Blob Storage elérése az Azure Databricks használatával.

updateMount parancs (dbutils.fs.updateMount)

Hasonló a dbutils.fs.mount parancshoz, de egy meglévő csatlakoztatási pontot frissít ahelyett, hogy újat hoz létre. Hibát ad vissza, ha a csatlakoztatási pont nincs jelen.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.fs.help("updateMount").

Ez a parancs a Databricks Runtime 10.2-s és újabb verziókban érhető el.

Python

dbutils.fs.updateMount(
  source = "wasbs://<container-name>@<storage-account-name>.blob.core.windows.net",
  mount_point = "/mnt/<mount-name>",
  extra_configs = {"<conf-key>":dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")})

Scala

dbutils.fs.updateMount(
  source = "wasbs://<container-name>@<storage-account-name>.blob.core.windows.net/<directory-name>",
  mountPoint = "/mnt/<mount-name>",
  extraConfigs = Map("<conf-key>" -> dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")))

Feladatok segédprogram (dbutils.jobs)

Aleszközök: taskValues

Megjegyzés

A Databricks Runtime 7.3-s és újabb verziókban érhető el.

Ez a segédprogram csak Pythonhoz érhető el.

A feladatok segédprogram lehetővé teszi a feladatok funkcióinak kihasználását. A segédprogram súgójának megjelenítéséhez futtassa a parancsot dbutils.jobs.help().

Provides utilities for leveraging jobs features.

taskValues: TaskValuesUtils -> Provides utilities for leveraging job task values

taskValues subutility (dbutils.jobs.taskValues)

Parancsok: beolvasás, beállítás

Megjegyzés

A Databricks Runtime 7.3-s és újabb verziókban érhető el.

Ez az alkonyat csak Pythonhoz érhető el.

Parancsokat biztosít a feladattevékenység-értékek kihasználásához.

Ezzel az al segédprogrammal tetszőleges értékeket állíthat be és kérhet le egy feladat futtatása során. Ezeket az értékeket tevékenységértékeknek nevezzük. Az alsóbb rétegbeli tevékenységek tevékenységértékeinek elérése ugyanabban a feladatfuttatásban történik. Például egy feladatfuttatás különböző tevékenységei között kommunikálhat azonosítókat vagy metrikákat, például egy gépi tanulási modell értékelésére vonatkozó információkat. Minden tevékenység több tevékenységértéket is beállíthat, lekérheti őket, vagy mindkettőt. Minden tevékenységérték egyedi kulccsal rendelkezik ugyanabban a tevékenységben. Ezt az egyedi kulcsot tevékenységérték kulcsának nevezzük. A tevékenységértékek a tevékenység nevével és a tevékenység értékének kulcsával érhetők el.

Az alárendeltség súgójának megjelenítéséhez futtassa a következőt dbutils.jobs.taskValues.help(): .

get command (dbutils.jobs.taskValues.get)

Megjegyzés

A Databricks Runtime 7.3-s és újabb verziókban érhető el.

Ez a parancs csak Pythonhoz érhető el.

A Databricks Runtime 10.4-s és korábbi verzióiban, ha get nem találja a feladatot, a rendszer a Py4JJavaError értéket emeli ki ahelyett, hogy egy ValueError.

Lekéri az aktuális feladatfuttatásban megadott tevékenység megadott értékének tartalmát.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.jobs.taskValues.help("get").

Például:

dbutils.jobs.taskValues.get(taskKey    = "my-task", \
                            key        = "my-key", \
                            default    = 7, \
                            debugValue = 42)

Az előző példában:

  • taskKey A a feladaton belüli tevékenység neve. Ha a parancs nem találja ezt a feladatot, ValueError a rendszer a következőt emeli ki.
  • key A a feladat értékének a set paranccsal (dbutils.jobs.taskValues.set) beállított kulcsának neve. Ha a parancs nem találja ennek a tevékenységértéknek a kulcsát, a rendszer felvesz egy ValueError értéket (kivéve, ha default meg van adva).
  • default A egy nem kötelező érték, amely akkor lesz visszaadva, ha key nem található. default nem lehet None.
  • debugValue A egy nem kötelező érték, amelyet a rendszer akkor ad vissza, ha egy feladaton kívül futó jegyzetfüzetből próbálja lekérni a tevékenység értékét. Ez akkor lehet hasznos a hibakeresés során, ha manuálisan szeretné futtatni a jegyzetfüzetet, és az alapértelmezett érték növelése TypeError helyett valamilyen értéket ad vissza. debugValue nem lehet None.

Ha egy feladaton kívül futó jegyzetfüzetből próbál tevékenységértéket lekérni, ez a parancs alapértelmezés szerint létrehoz egy TypeError értéket. Ha azonban az debugValue argumentum meg van adva a parancsban, a függvény a függvény értékét debugValue adja vissza ahelyett, hogy előléptetne egy TypeError.

set parancs (dbutils.jobs.taskValues.set)

Megjegyzés

A Databricks Runtime 7.3-s és újabb verziókban érhető el.

Ez a parancs csak Pythonhoz érhető el.

Beállít vagy frissít egy tevékenységértéket. Egy feladatfuttatáshoz legfeljebb 250 tevékenységértéket állíthat be.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.jobs.taskValues.help("set").

Néhány példa:

dbutils.jobs.taskValues.set(key   = "my-key", \
                            value = 5)

dbutils.jobs.taskValues.set(key   = "my-other-key", \
                            value = "my other value")

Az előző példákban:

  • key A a tevékenységérték kulcsának neve. Ennek a névnek egyedinek kell lennie a feladatban.
  • value A a tevékenység értékének kulcsa. Ennek a parancsnak képesnek kell lennie arra, hogy az értéket belsőleg JSON formátumban képviselje. Az érték JSON-ábrázolásának mérete nem haladhatja meg a 48 KiB-t.

Ha egy feladaton kívül futó jegyzetfüzetből próbál meg feladatértéket beállítani, ez a parancs nem tesz semmit.

Könyvtár segédprogram (dbutils.library)

Megjegyzés

A kódtár segédprogram elavult.

Parancsok: install, installPyPI, list,restartPython, updateCondaEnv

A kódtár segédprogram lehetővé teszi a Python-kódtárak telepítését, és egy jegyzetfüzet-munkamenetre vonatkozó környezet létrehozását. A kódtárak az illesztőprogramon és a végrehajtókon is elérhetők, így a felhasználó által definiált függvényekben hivatkozhat rájuk. Ez a következőket teszi lehetővé:

  • Egy jegyzetfüzet könyvtárfüggőségei, hogy a jegyzetfüzeten belül legyenek rendszerezve.
  • A különböző erőforrástár-függőségekkel rendelkező jegyzetfüzet-felhasználók interferencia nélkül oszthatnak meg egy fürtöt.

A jegyzetfüzet leválasztása elpusztítja ezt a környezetet. A tár API-parancsainak újrafuttatásával install azonban újból létrehozhatja azt a jegyzetfüzetben. Tekintse meg az restartPython API-t, amelyből megtudhatja, hogyan állíthatja alaphelyzetbe a jegyzetfüzet állapotát a környezet elvesztése nélkül.

Fontos

A könyvtár-segédprogramok nem érhetők el a Databricks Runtime ML-ben vagy a Genomics databricks-futtatókörnyezetében. Ehelyett tekintse meg a jegyzetfüzet-hatókörű Python-kódtárakat.

A Databricks Runtime 7.2-s vagy újabb verziója esetén a Databricks magic parancsok használatát %pip javasolja a jegyzetfüzet-hatókörű kódtárak telepítéséhez. Lásd: Jegyzetfüzet-hatókörön belüli Python-kódtárak.

A kódtár-segédprogramok alapértelmezés szerint engedélyezve vannak. Ezért alapértelmezés szerint az egyes jegyzetfüzetekhez tartozó Python-környezet külön Python-végrehajtható fájllal van elkülönítve, amely akkor jön létre, amikor a jegyzetfüzet hozzá van csatolva, és örökli a fürt alapértelmezett Python-környezetét. Az Azure Databricks Python-környezetbe init szkripttel telepített kódtárak továbbra is elérhetők. Ezt a funkciót letilthatja a következő beállítással spark.databricks.libraryIsolation.enabledfalse: .

Ez az API kompatibilis a meglévő fürtszintű kódtár telepítésével a felhasználói felületen és a REST API-n keresztül. Az API-val telepített kódtárak magasabb prioritással rendelkeznek, mint a fürtszintű kódtárak.

Az elérhető parancsok listázásához futtassa a következőt dbutils.library.help(): .

install(path: String): boolean -> Install the library within the current notebook session
installPyPI(pypiPackage: String, version: String = "", repo: String = "", extras: String = ""): boolean -> Install the PyPI library within the current notebook session
list: List -> List the isolated libraries added for the current notebook session via dbutils
restartPython: void -> Restart python process for the current notebook session
updateCondaEnv(envYmlContent: String): boolean -> Update the current notebook's Conda environment based on the specification (content of environment

install command (dbutils.library.install)

A tár elérési útjaként telepítse a tárat az aktuális jegyzetfüzet-munkameneten belül. A parancs meghívásával telepített kódtárak csak az aktuális jegyzetfüzetben érhetők el.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.library.help("install").

Ez a példa egy vagy .whl több .egg tárat telepít egy jegyzetfüzeten belül.

Fontos

dbutils.library.install A a Databricks Runtime 11.0-s vagy újabb verziója esetén törlődik.

A Databricks azt javasolja, hogy helyezze az összes kódtár telepítési parancsát a jegyzetfüzet első cellájába, és hívja restartPython meg a cella végén. A Python-jegyzetfüzet állapota a futtatás restartPythonután alaphelyzetbe áll; a jegyzetfüzet minden állapotot elveszít, beleértve a helyi változókat, az importált kódtárakat és más rövid élettartamú állapotokat is. Ezért azt javasoljuk, hogy telepítsen kódtárakat, és állítsa alaphelyzetbe a jegyzetfüzet állapotát az első jegyzetfüzetcellában.

Az elfogadott kódtárforrások a következőkdbfs: , abfssadlés wasbs.

dbutils.library.install("abfss:/path/to/your/library.egg")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
dbutils.library.install("abfss:/path/to/your/library.whl")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.

Megjegyzés

Egyéni kerékfájlokat közvetlenül is telepíthet a %pip. A következő példában feltételezzük, hogy feltöltötte a kódtár kerékfájlját a DBFS-be:

%pip install /dbfs/path/to/your/library.whl

A pip nem támogatja a tojásfájlokat, és a kerék a Python buildelési és bináris csomagolási szabványának tekinthető. További részletekért lásd : Wheel vs Egg . Ha azonban egy tojásfájlt olyan módon szeretne használni, amely kompatibilis a következő megoldással %pip:

# This step is only needed if no %pip commands have been run yet.
# It will trigger setting up the isolated notebook environment
%pip install <any-lib>  # This doesn't need to be a real library; for example "%pip install any-lib" would work
import sys
# Assuming the preceding step was completed, the following command
# adds the egg file to the current notebook environment
sys.path.append("/local/path/to/library.egg")

installPyPI parancs (dbutils.library.installPyPI)

Python-csomagindex (PyPI) esetén telepítse a csomagot az aktuális jegyzetfüzet-munkameneten belül. A parancs meghívásával telepített kódtárak el vannak különítve a jegyzetfüzetek között.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.library.help("installPyPI").

Ez a példa egy PyPI-csomagot telepít egy jegyzetfüzetbe. versionlehetőséget, repoés extras nem kötelező megadni. extras Az argumentum használatával adja meg az Extras szolgáltatást (extra követelmények).

dbutils.library.installPyPI("pypipackage", version="version", repo="repo", extras="extras")
dbutils.library.restartPython()  # Removes Python state, but some libraries might not work without calling this command.

Fontos

dbutils.library.installPyPI A a Databricks Runtime 11.0-s vagy újabb verziója esetén törlődik.

A version kulcsok és extras a kulcsok nem lehetnek a PyPI-csomag sztringjének részei. Például: dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0") érvénytelen. Az alábbi módon adja meg a versionextras verzióra és az extrákra vonatkozó információkat az és az argumentumok használatával:

dbutils.library.installPyPI("azureml-sdk", version="1.19.0", extras="databricks")
dbutils.library.restartPython()  # Removes Python state, but some libraries might not work without calling this command.

Megjegyzés

Parancsok parancsokkal való %pip cseréjekor dbutils.library.installPyPI a Python-értelmező automatikusan újraindul. A telepítési parancsot a következőképpen futtathatja:

%pip install azureml-sdk[databricks]==1.19.0

Ez a példa az egyik jegyzetfüzet könyvtárkövetelményeit határozza meg, és a másikban való használatával %run telepíti őket. Ehhez először határozza meg a jegyzetfüzetbe telepíteni kívánt kódtárakat. Ez a példa egy .InstallDependencies

dbutils.library.installPyPI("torch")
dbutils.library.installPyPI("scikit-learn", version="1.19.1")
dbutils.library.installPyPI("azureml-sdk", extras="databricks")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.

Ezután telepítse őket a függőségeket igénylő jegyzetfüzetbe.

%run /path/to/InstallDependencies # Install the dependencies in the first cell.
import torch
from sklearn.linear_model import LinearRegression
import azureml
...

Ez a példa alaphelyzetbe állítja a Python-jegyzetfüzet állapotát a környezet fenntartása közben. Ez a technika csak Python-jegyzetfüzetekben érhető el. Ezzel a technikával például újra betöltheti a másik verzióval előre telepített Azure Databricks-kódtárakat:

dbutils.library.installPyPI("numpy", version="1.15.4")
dbutils.library.restartPython()
# Make sure you start using the library in another cell.
import numpy

Ezzel a technikával olyan kódtárakat is telepíthet, mint például a tensorflow, amelyeket be kell tölteni a folyamat indításakor:

dbutils.library.installPyPI("tensorflow")
dbutils.library.restartPython()
# Use the library in another cell.
import tensorflow

list parancs (dbutils.library.list)

Felsorolja az aktuális jegyzetfüzet-munkamenethez a könyvtár segédprogramon keresztül hozzáadott elkülönített kódtárakat. Ez nem tartalmazza a fürthöz csatolt kódtárakat.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.library.help("list").

Ez a példa a jegyzetfüzetben telepített kódtárakat sorolja fel.

dbutils.library.list()

Megjegyzés

Ennek a parancsnak a megfelelője a következő %pip :

%pip freeze

restartPython parancs (dbutils.library.restartPython)

Újraindítja a Python-folyamatot az aktuális jegyzetfüzet-munkamenethez.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.library.help("restartPython").

Ez a példa újraindítja a Python-folyamatot az aktuális jegyzetfüzet-munkamenethez.

dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.

updateCondaEnv parancs (dbutils.library.updateCondaEnv)

Frissítések az aktuális jegyzetfüzet Conda-környezetét a tartalom alapjánenvironment.yml. Ez a módszer csak a Condán futó Databricks Runtime esetében támogatott.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.library.help("updateCondaEnv").

Ez a példa frissíti az aktuális jegyzetfüzet Conda-környezetét a megadott specifikáció tartalma alapján.

dbutils.library.updateCondaEnv(
"""
channels:
  - anaconda
dependencies:
  - gensim=3.4
  - nltk=3.4
""")

Notebook segédprogram (dbutils.notebook)

Parancsok: kilépés, futtatás

A notebook segédprogram lehetővé teszi a jegyzetfüzetek összefűzésére és az eredmények alapján történő cselekvésre. Lásd: Modularize vagy link code in notebooks.

Az elérhető parancsok listázásához futtassa a következőt dbutils.notebook.help(): .

exit(value: String): void -> This method lets you exit a notebook with a value
run(path: String, timeoutSeconds: int, arguments: Map): String -> This method runs a notebook and returns its exit value.

exit command (dbutils.notebook.exit)

Kilép egy értékkel rendelkező jegyzetfüzetből.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.notebook.help("exit").

Ez a példa kilép a jegyzetfüzetből az értékkel Exiting from My Other Notebook.

Python

dbutils.notebook.exit("Exiting from My Other Notebook")

# Notebook exited: Exiting from My Other Notebook

R

dbutils.notebook.exit("Exiting from My Other Notebook")

# Notebook exited: Exiting from My Other Notebook

Scala

dbutils.notebook.exit("Exiting from My Other Notebook")

// Notebook exited: Exiting from My Other Notebook

run command (dbutils.notebook.run)

Futtat egy jegyzetfüzetet, és visszaadja a kilépési értékét. A jegyzetfüzet alapértelmezés szerint az aktuális fürtben fog futni.

Megjegyzés

A parancs által run visszaadott sztringérték maximális hossza 5 MB. Lásd : Egyetlen futtatás kimenetének lekérése (GET /jobs/runs/get-output).

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.notebook.help("run").

Ebben a példában egy jegyzetfüzetet My Other Notebook futtatunk, amely a hívó jegyzetfüzetével azonos helyen található. A hívott jegyzetfüzet a kódsorra dbutils.notebook.exit("Exiting from My Other Notebook")végződik. Ha a hívott jegyzetfüzet nem fejeződik be 60 másodpercen belül, kivételhiba történik.

Python

dbutils.notebook.run("My Other Notebook", 60)

# Out[14]: 'Exiting from My Other Notebook'

Scala

dbutils.notebook.run("My Other Notebook", 60)

// res2: String = Exiting from My Other Notebook

Titkos kódok segédprogram (dbutils.secrets)

Parancsok: get, getBytes, list, listScopes

A titkos kulcsok segédprogram lehetővé teszi a bizalmas hitelesítő adatok tárolását és elérését anélkül, hogy a jegyzetfüzetekben láthatóvá teszi őket. Lásd: Titkos kódok kezelése és a titkos kódok használata egy jegyzetfüzetben. Az elérhető parancsok listázásához futtassa a parancsot dbutils.secrets.help().

get(scope: String, key: String): String -> Gets the string representation of a secret value with scope and key
getBytes(scope: String, key: String): byte[] -> Gets the bytes representation of a secret value with scope and key
list(scope: String): Seq -> Lists secret metadata for secrets within a scope
listScopes: Seq -> Lists secret scopes

get command (dbutils.secrets.get)

Lekéri egy titkos kód értékének sztringképét a megadott titkoskód-hatókörhöz és kulcshoz.

Figyelmeztetés

A rendszergazdák, a titkos kódok létrehozói és az engedéllyel rendelkező felhasználók elolvashatják az Azure Databricks titkos kulcsait. Bár az Azure Databricks törekszik a jegyzetfüzetekben esetleg megjelenő titkos kulcsértékek újbóli kijátszására, az ilyen felhasználók nem akadályozhatják meg a titkos kódok olvasását. További információ: Titkos kód áttétele.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.secrets.help("get").

Ez a példa lekéri a névvel ellátott my-scope hatókör titkos értékének sztringképét és a nevesített my-keykulcsot.

Python

dbutils.secrets.get(scope="my-scope", key="my-key")

# Out[14]: '[REDACTED]'

R

dbutils.secrets.get(scope="my-scope", key="my-key")

# [1] "[REDACTED]"

Scala

dbutils.secrets.get(scope="my-scope", key="my-key")

// res0: String = [REDACTED]

getBytes parancs (dbutils.secrets.getBytes)

Lekéri a megadott hatókör és kulcs titkos értékének bájtos ábrázolását.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.secrets.help("getBytes").

Ez a példa lekéri a névvel ellátott my-scope hatókör titkos kulcsának értékét (a1!b2@c3#) és a kulcs nevétmy-key.

Python

my_secret = dbutils.secrets.getBytes(scope="my-scope", key="my-key")
my_secret.decode("utf-8")

# Out[1]: 'a1!b2@c3#'

R

my_secret = dbutils.secrets.getBytes(scope="my-scope", key="my-key")
print(rawToChar(my_secret))

# [1] "a1!b2@c3#"

Scala

val mySecret = dbutils.secrets.getBytes(scope="my-scope", key="my-key")
val convertedString = new String(mySecret)
println(convertedString)

// a1!b2@c3#
// mySecret: Array[Byte] = Array(97, 49, 33, 98, 50, 64, 99, 51, 35)
// convertedString: String = a1!b2@c3#

list parancs (dbutils.secrets.list)

A megadott hatókör titkos kulcsainak metaadatait sorolja fel.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.secrets.help("list").

Ez a példa a titkos kódok metaadatait sorolja fel a nevesített my-scopehatókörben.

Python

dbutils.secrets.list("my-scope")

# Out[10]: [SecretMetadata(key='my-key')]

R

dbutils.secrets.list("my-scope")

# [[1]]
# [[1]]$key
# [1] "my-key"

Scala

dbutils.secrets.list("my-scope")

// res2: Seq[com.databricks.dbutils_v1.SecretMetadata] = ArrayBuffer(SecretMetadata(my-key))

listScopes parancs (dbutils.secrets.listScopes)

Felsorolja az elérhető hatóköröket.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.secrets.help("listScopes").

Ez a példa felsorolja az elérhető hatóköröket.

Python

dbutils.secrets.listScopes()

# Out[14]: [SecretScope(name='my-scope')]

R

dbutils.secrets.listScopes()

# [[1]]
# [[1]]$name
# [1] "my-scope"

Scala

dbutils.secrets.listScopes()

// res3: Seq[com.databricks.dbutils_v1.SecretScope] = ArrayBuffer(SecretScope(my-scope))

Widgets segédprogram (dbutils.widgets)

Parancsok: kombinált lista, legördülő lista, get, getArgument, multiselect, remove, removeAll, text

A widgetek segédprogram lehetővé teszi a jegyzetfüzetek paraméterezését. Tekintse meg a Databricks-widgeteket.

Az elérhető parancsok listázásához futtassa a parancsot dbutils.widgets.help().

combobox(name: String, defaultValue: String, choices: Seq, label: String): void -> Creates a combobox input widget with a given name, default value and choices
dropdown(name: String, defaultValue: String, choices: Seq, label: String): void -> Creates a dropdown input widget a with given name, default value and choices
get(name: String): String -> Retrieves current value of an input widget
getArgument(name: String, optional: String): String -> (DEPRECATED) Equivalent to get
multiselect(name: String, defaultValue: String, choices: Seq, label: String): void -> Creates a multiselect input widget with a given name, default value and choices
remove(name: String): void -> Removes an input widget from the notebook
removeAll: void -> Removes all widgets in the notebook
text(name: String, defaultValue: String, label: String): void -> Creates a text input widget with a given name and default value

combobox parancs (dbutils.widgets.combobox)

Létrehoz és megjelenít egy kombinált lista widgetet a megadott programozott névvel, alapértelmezett értékkel, választási lehetőségekkel és opcionális címkével.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.widgets.help("combobox").

Ez a példa egy programozott nevű fruits_comboboxkombinált lista widgetet hoz létre és jelenít meg. Lehetőséget kínál , applebanana, coconutés dragon fruit a kezdeti értékre bananavan állítva . Ez a kombinált lista widget egy kísérő címkével Fruitsrendelkezik. Ez a példa a kombinált lista widget kezdeti értékének nyomtatásával végződik. banana

Python

dbutils.widgets.combobox(
  name='fruits_combobox',
  defaultValue='banana',
  choices=['apple', 'banana', 'coconut', 'dragon fruit'],
  label='Fruits'
)

print(dbutils.widgets.get("fruits_combobox"))

# banana

R

dbutils.widgets.combobox(
  name='fruits_combobox',
  defaultValue='banana',
  choices=list('apple', 'banana', 'coconut', 'dragon fruit'),
  label='Fruits'
)

print(dbutils.widgets.get("fruits_combobox"))

# [1] "banana"

Scala

dbutils.widgets.combobox(
  "fruits_combobox",
  "banana",
  Array("apple", "banana", "coconut", "dragon fruit"),
  "Fruits"
)

print(dbutils.widgets.get("fruits_combobox"))

// banana

dropdown command (dbutils.widgets.dropdown)

Létrehoz és megjelenít egy legördülő vezérlőt a megadott programozott névvel, alapértelmezett értékkel, választási lehetőségekkel és opcionális címkével.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.widgets.help("dropdown").

Ez a példa egy programozott nevű toys_dropdownlegördülő vezérlőt hoz létre és jelenít meg. Lehetőséget kínál , alphabet blocksbasketball, capeés doll a kezdeti értékre basketballvan állítva . Ez a legördülő vezérlő egy kísérő címkével Toysrendelkezik. Ez a példa a legördülő vezérlő kezdeti értékének nyomtatásával ér véget. basketball

Python

dbutils.widgets.dropdown(
  name='toys_dropdown',
  defaultValue='basketball',
  choices=['alphabet blocks', 'basketball', 'cape', 'doll'],
  label='Toys'
)

print(dbutils.widgets.get("toys_dropdown"))

# basketball

R

dbutils.widgets.dropdown(
  name='toys_dropdown',
  defaultValue='basketball',
  choices=list('alphabet blocks', 'basketball', 'cape', 'doll'),
  label='Toys'
)

print(dbutils.widgets.get("toys_dropdown"))

# [1] "basketball"

Scala

dbutils.widgets.dropdown(
  "toys_dropdown",
  "basketball",
  Array("alphabet blocks", "basketball", "cape", "doll"),
  "Toys"
)

print(dbutils.widgets.get("toys_dropdown"))

// basketball

get command (dbutils.widgets.get)

Lekéri a widget aktuális értékét a megadott programozott névvel. Ez a programozott név a következő lehet:

  • Egy egyéni widget neve a jegyzetfüzetben, például fruits_combobox vagy toys_dropdown.
  • A jegyzetfüzetnek egy jegyzetfüzet-feladat részeként átadott egyéni paraméter neve, például name vagy age. További információkért tekintse meg a jegyzetfüzet-tevékenységek paramétereinek lefedettségét a Feladat létrehozása felhasználói felületen, vagy az notebook_paramsÚj feladatfuttatás () művelet aktiválása mezőbenPOST /jobs/run-now a Feladatok API-ban.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.widgets.help("get").

Ez a példa lekéri annak a widgetnek az értékét, amelynek programozott neve fruits_comboboxvan.

Python

dbutils.widgets.get('fruits_combobox')

# banana

R

dbutils.widgets.get('fruits_combobox')

# [1] "banana"

Scala

dbutils.widgets.get("fruits_combobox")

// res6: String = banana

Ez a példa lekéri annak a jegyzetfüzet-feladatparaméternek az értékét, amelynek programozott neve agevan. Ez a paraméter a kapcsolódó jegyzetfüzet-feladat futtatásának időpontjára 35 lett beállítva.

Python

dbutils.widgets.get('age')

# 35

R

dbutils.widgets.get('age')

# [1] "35"

Scala

dbutils.widgets.get("age")

// res6: String = 35

getArgument parancs (dbutils.widgets.getArgument)

Lekéri a widget aktuális értékét a megadott programozott névvel. Ha a widget nem létezik, nem kötelező üzenetet adhat vissza.

Megjegyzés

Ez a parancs elavult. Használja inkább a dbutils.widgets.get parancsot .

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.widgets.help("getArgument").

Ez a példa lekéri annak a widgetnek az értékét, amelynek programozott neve fruits_comboboxvan. Ha ez a widget nem létezik, a rendszer visszaadja az üzenetet Error: Cannot find fruits combobox .

Python

dbutils.widgets.getArgument('fruits_combobox', 'Error: Cannot find fruits combobox')

# Deprecation warning: Use dbutils.widgets.text() or dbutils.widgets.dropdown() to create a widget and dbutils.widgets.get() to get its bound value.
# Out[3]: 'banana'

R

dbutils.widgets.getArgument('fruits_combobox', 'Error: Cannot find fruits combobox')

# Deprecation warning: Use dbutils.widgets.text() or dbutils.widgets.dropdown() to create a widget and dbutils.widgets.get() to get its bound value.
# [1] "banana"

Scala

dbutils.widgets.getArgument("fruits_combobox", "Error: Cannot find fruits combobox")

// command-1234567890123456:1: warning: method getArgument in trait WidgetsUtils is deprecated: Use dbutils.widgets.text() or dbutils.widgets.dropdown() to create a widget and dbutils.widgets.get() to get its bound value.
// dbutils.widgets.getArgument("fruits_combobox", "Error: Cannot find fruits combobox")
//                 ^
// res7: String = banana

multiselect parancs (dbutils.widgets.multiselect)

Létrehoz és megjelenít egy többkijelöléses vezérlőt a megadott programozott névvel, alapértelmezett értékkel, választási lehetőségekkel és választható címkével.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.widgets.help("multiselect").

Ez a példa létrehoz és megjelenít egy programozott nevű days_multiselecttöbbkijeles vezérlőt. A választási lehetőségeket MondaySunday a következő kezdeti értékre állítja Tuesdaybe: . Ez a többszörös kijelölési widget egy kísérő címkével Days of the Weekrendelkezik. Ez a példa a többszörös kijelölési vezérlő kezdeti értékének nyomtatásával fejeződik be. Tuesday

Python

dbutils.widgets.multiselect(
  name='days_multiselect',
  defaultValue='Tuesday',
  choices=['Monday', 'Tuesday', 'Wednesday', 'Thursday',
    'Friday', 'Saturday', 'Sunday'],
  label='Days of the Week'
)

print(dbutils.widgets.get("days_multiselect"))

# Tuesday

R

dbutils.widgets.multiselect(
  name='days_multiselect',
  defaultValue='Tuesday',
  choices=list('Monday', 'Tuesday', 'Wednesday', 'Thursday',
    'Friday', 'Saturday', 'Sunday'),
  label='Days of the Week'
)

print(dbutils.widgets.get("days_multiselect"))

# [1] "Tuesday"

Scala

dbutils.widgets.multiselect(
  "days_multiselect",
  "Tuesday",
  Array("Monday", "Tuesday", "Wednesday", "Thursday",
    "Friday", "Saturday", "Sunday"),
  "Days of the Week"
)

print(dbutils.widgets.get("days_multiselect"))

// Tuesday

remove command (dbutils.widgets.remove)

Eltávolítja a megadott programozott névvel rendelkező widgetet.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.widgets.help("remove").

Fontos

Ha egy vezérlő eltávolítására vonatkozó parancsot ad hozzá, nem adhat hozzá további parancsot, hogy ugyanabban a cellában hozzon létre vezérlőt. A widgetet egy másik cellában kell létrehoznia.

Ez a példa eltávolítja a programozott nevű widgetet fruits_combobox.

Python

dbutils.widgets.remove('fruits_combobox')

R

dbutils.widgets.remove('fruits_combobox')

Scala

dbutils.widgets.remove("fruits_combobox")

removeAll parancs (dbutils.widgets.removeAll)

Eltávolítja az összes widgetet a jegyzetfüzetből.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.widgets.help("removeAll").

Fontos

Ha az összes vezérlő eltávolítására vonatkozó parancsot ad hozzá, nem adhat hozzá egy további parancsot, amely egyetlen vezérlőt sem hoz létre ugyanabban a cellában. A widgeteket egy másik cellában kell létrehoznia.

Ez a példa eltávolítja az összes widgetet a jegyzetfüzetből.

Python

dbutils.widgets.removeAll()

R

dbutils.widgets.removeAll()

Scala

dbutils.widgets.removeAll()

text command (dbutils.widgets.text)

Létrehoz és megjelenít egy szöveg widgetet a megadott programozott névvel, alapértelmezett értékkel és opcionális címkével.

A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.widgets.help("text").

Ez a példa egy programozott nevű your_name_textszöveg widgetet hoz létre és jelenít meg. A kezdeti értékére Enter your namevan állítva. Ez a szöveg widget egy kísérő címkével Your namerendelkezik. Ez a példa a szöveg widget kezdeti értékének nyomtatásával fejeződik be. Enter your name

Python

dbutils.widgets.text(
  name='your_name_text',
  defaultValue='Enter your name',
  label='Your name'
)

print(dbutils.widgets.get("your_name_text"))

# Enter your name

R

dbutils.widgets.text(
  name='your_name_text',
  defaultValue='Enter your name',
  label='Your name'
)

print(dbutils.widgets.get("your_name_text"))

# [1] "Enter your name"

Scala

dbutils.widgets.text(
  "your_name_text",
  "Enter your name",
  "Your name"
)

print(dbutils.widgets.get("your_name_text"))

// Enter your name

Databricks Utilities API-kódtár

Az alkalmazásfejlesztés felgyorsítása érdekében hasznos lehet az alkalmazások fordítása, összeállítása és tesztelése, mielőtt éles feladatként üzembe helyezené őket. Annak érdekében, hogy a Databricks segédprogramok alapján fordíthasson, a Databricks biztosítja a kódtárat dbutils-api . A kódtárat letöltheti a dbutils-apiDbUtils API webhelyéről a Maven-adattár webhelyén, vagy hozzáadhatja a tárat egy függőség hozzáadásával a buildfájlhoz:

  • Sbt

    libraryDependencies += "com.databricks" % "dbutils-api_TARGET" % "VERSION"
    
  • Maven

    <dependency>
        <groupId>com.databricks</groupId>
        <artifactId>dbutils-api_TARGET</artifactId>
        <version>VERSION</version>
    </dependency>
    
  • Gradle

    compile 'com.databricks:dbutils-api_TARGET:VERSION'
    

Cserélje le TARGET a kívánt célra (például 2.12) és VERSION a kívánt verzióra (például 0.0.5). Az elérhető célok és verziók listájáért tekintse meg a DBUtils API weboldalát a Maven-adattár webhelyén.

Miután az alkalmazást a kódtárra építette, üzembe helyezheti az alkalmazást.

Fontos

A dbutils-api kódtár lehetővé teszi, hogy helyileg lefordítson egy alkalmazást, amely használja dbutils, de nem futtatja. Az alkalmazás futtatásához üzembe kell helyeznie az Azure Databricksben.

Korlátozások

A végrehajtókon belüli hívás dbutils váratlan eredményeket hozhat, vagy hibákat eredményezhet.

Ha fájlrendszerműveleteket kell futtatnia a végrehajtókon a használatával dbutils, számos gyorsabb és skálázhatóbb alternatíva áll rendelkezésre:

A végrehajtókkal kapcsolatos információkért tekintse meg a fürtmód áttekintését az Apache Spark webhelyén.