Databricks Utilities
A Databricks Utilities (dbutils
) megkönnyíti a feladatok hatékony kombinációinak végrehajtását. A segédprogramokkal hatékonyan dolgozhat az objektumtárolással, láncolhatja és paraméterezheti a jegyzetfüzeteket, valamint titkos kódokkal dolgozhat. dbutils
nem támogatottak 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 helyette 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, tár, jegyzetfüzet, titkos kódok, widgetek, Utilities API-kódtár
Elérhető segédprogramok listázása
Ha az elérhető segédprogramokat és az egyes segédprogramok rövid leírását szeretné listázni, futtassa a Python dbutils.help()
vagy a Scala parancsot.
Ez a példa a Databricks Utilities 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 parancsot 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 nevét.
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ó nyilvános előzetes verzióban érhető el.
Megjegyzés
Elérhető a Databricks Runtime 9.0-s és újabb verziókban.
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 parancsot 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 összesített 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ó nyilvános előzetes verzióban érhető el.
- Ha
precise
false (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 legfeljebb 0,01%-os hibát jelezhetnek a sorok teljes számához képest.
- Ha
precise
igaz értékre van állítva, a statisztika nagyobb pontossággal lesz kiszámítva. A numerikus oszlopok hisztogramjai és percentilisei kivételével minden statisztika pontos.- A hisztogramok és a percentilisbecslések legfeljebb 0,0001%-os hibát jelezhetnek a sorok teljes számához képest.
Az adatösszesítő kimenet tetején található elemleírás jelzi az aktuális futtatás módját.
Ez a példa az Apache Spark DataFrame összegző statisztikáit jeleníti meg, alapértelmezés szerint engedélyezve van a közelítések. Az eredmények megtekintéséhez futtassa ezt a parancsot egy jegyzetfüzetben. Ez a példa mintaadatkészleteken 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 "" helyettG
a (B
giga) karaktert 1.0e9
használja.
Fájlrendszer segédprogram (dbutils.fs)
Figyelmeztetés
Az összes dbutils.fs
metódus snake_case
Python-implementációja a kulcsszóformázás helyett camelCase
használható.
Például: miközben dbuitls.fs.help()
megjeleníti a beállítását extraConfigs
dbutils.fs.mount()
a Pythonban, a kulcsszót extra_configs
fogja használni.
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)?, így egyszerűbbé teszi az Azure Databricks fájlrendszerként való használatát. Az elérhető parancsok listázásához futtassa a parancsot 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 a nevű old_file.txt
fájlt a fájlba /FileStore
/tmp/new
, é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 command (dbutils.fs.head)
Visszaadja az adott fájl megadott maximális bájtszámát. 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
első 25 bájtját jeleníti meg a fájlban /tmp
.
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 /tmp
kapcsolatos információkat jeleníti meg. A modificationTime
mező a Databricks Runtime 10.2-ben és újabb verziókban érhető el. Az R-ben modificationTime
sztringként lesz visszaadva.
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 fájlban /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ért lásd: Csatlakozás Azure Data Lake Storage Gen2 és Blob Storage-hoz.
mounts command (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")
.
Figyelmeztetés
Hívja meg dbutils.fs.refreshMounts()
az összes többi futó fürtöt az új csatlakoztatás propagálásához. Lásd: refreshMounts parancs (dbutils.fs.refreshMounts).
Python
dbutils.fs.mounts()
Scala
dbutils.fs.mounts()
További példakódokért lásd: Csatlakozás Azure Data Lake Storage Gen2 és Blob Storage-hoz.
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")
.
Ez a példa áthelyezi a fájlt my_file.txt
a fájlból /FileStore
a következőbe /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")
.
Ez a példa egy nevű fájlba hello_db.txt
írja a sztringet.Hello, Databricks!
/tmp
Ha a fájl létezik, a program felülírja.
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)
Kényszeríti a fürt összes gépét, hogy frissítse a csatlakoztatási gyorsítótárat, biztosítva, hogy a legfrissebb 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 az additiional code-ra: Csatlakozás Azure Data Lake Storage Gen2 és Blob Storage-hoz.
rm parancs (dbutils.fs.rm)
Eltávolít egy fájlt vagy könyvtárat.
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 nevű hello_db.txt
fájlt a fájlból /tmp
.
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 command (dbutils.fs.unmount)
Töröl egy DBFS csatlakoztatási pontot.
Figyelmeztetés
A hibák elkerülése érdekében soha ne módosítsa a csatlakoztatási pontot, amíg más feladatok olvasnak vagy írnak rá. A csatlakoztatás módosítása után mindig futtassa a parancsot dbutils.fs.refreshMounts()
az összes többi futó fürtön a csatlakoztatási frissítések propagálása érdekében. Lásd: refreshMounts parancs (dbutils.fs.refreshMounts).
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ért lásd: Csatlakozás Azure Data Lake Storage Gen2 és Blob Storage-hoz.
updateMount parancs (dbutils.fs.updateMount)
Hasonló a dbutils.fs.mount
parancshoz, de egy meglévő csatlakoztatási pontot frissít új létrehozása helyett. 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")
.
Figyelmeztetés
A hibák elkerülése érdekében soha ne módosítsa a csatlakoztatási pontot, amíg más feladatok olvasnak vagy írnak rá. A csatlakoztatás módosítása után mindig futtassa a parancsot dbutils.fs.refreshMounts()
az összes többi futó fürtön a csatlakoztatási frissítések propagálása érdekében. Lásd: refreshMounts parancs (dbutils.fs.refreshMounts).
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)
Al segédprogramok: taskValues
Megjegyzés
A Databricks Runtime 7.3-ban é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)
Megjegyzés
A Databricks Runtime 7.3-ban és újabb verziókban érhető el.
Ez az alképesség csak Pythonhoz érhető el.
Parancsokat biztosít a feladattevékenység-értékek felhaszná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 feladatértékeknek nevezzük. Ugyanabban a feladatfuttatásban elérheti az alsóbb rétegbeli tevékenységek tevékenységértékét. Az azonosítókat vagy metrikákat, például egy gépi tanulási modell kiértékelési adatait kommunikálhatja a feladatfuttatás különböző tevékenységei között. 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 ugyanazon a tevékenységen belül. Ezt az egyedi kulcsot tevékenységérték kulcsának nevezzük. A tevékenységérték a tevékenység nevével és a tevékenység értékének kulcsával érhető el.
Az altartommához tartozó súgó megjelenítéséhez futtassa a parancsot dbutils.jobs.taskValues.help()
.
get command (dbutils.jobs.taskValues.get)
Megjegyzés
A Databricks Runtime 7.3-ban és újabb verziókban érhető el.
Ez a parancs csak Pythonhoz érhető el.
A Databricks Runtime 10.4-ben és korábbi verzióiban, ha get
nem találja a feladatot, a rendszer egy Py4JJavaError értéket hoz létre a ValueError
helyett.
Lekéri a megadott tevékenység értékének tartalmát az aktuális feladatfuttatásban.
A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.jobs.taskValues.help("get")
.
Példa:
dbutils.jobs.taskValues.get(taskKey = "my-task", \
key = "my-key", \
default = 7, \
debugValue = 42)
Az előző példában:
taskKey
A a tevékenység értékét beállítva tevékenység neve. Ha a parancs nem találja ezt a feladatot,ValueError
a lesz aktiválva.key
A a feladatérték kulcsának a neve, amelyet a set paranccsal (dbutils.jobs.taskValues.set) állított be. Ha a parancs nem találja ennek a tevékenységértéknek a kulcsát,ValueError
a lesz emelve (kivéve, hadefault
meg van adva).default
nem kötelező érték, amelyet a rendszer akkor ad vissza, hakey
nem található.default
nem lehetNone
.debugValue
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éseTypeError
helyett valamilyen értéket ad vissza.debugValue
nem lehetNone
.
Ha egy feladaton kívül futó jegyzetfüzetből próbál feladatértéket lekérni, ez a parancs alapértelmezés szerint előhoz egy TypeError
értéket. Ha azonban az debugValue
argumentum meg van adva a parancsban, a függvény az értékét debugValue
adja vissza ahelyett, hogy egy TypeError
értéket emelne ki.
set command (dbutils.jobs.taskValues.set)
Megjegyzés
A Databricks Runtime 7.3-ban é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 tevékenység értékének kulcsa. Ennek a kulcsnak egyedinek kell lennie a tevékenységhez. Vagyis ha két különböző tevékenység egy tevékenységértéket állít be a kulccsalK
, akkor két különböző tevékenységértékről van szó, amelyek ugyanazt a kulcsotK
használják.value
a tevékenységérték kulcsának értéke. Ennek a parancsnak képesnek kell lennie az érték belső megjelenítésére JSON formátumban. 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 semmit sem tesz.
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 Python-kódtárak telepítését, és egy jegyzetfüzet-munkamenetre hatókörrel rendelkező 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 lehetővé teszi:
- 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 tönkreteszi ezt a környezetet. A tár install
API-parancsainak újrafuttatásával 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édprogramjai nem érhetők el a Databricks Runtime ML-ben vagy a Genomics Databricks-futtatókörnyezetében. Ehelyett lásd: Jegyzetfüzet-hatókörű Python-kódtárak.
A Databricks azt javasolja, %pip
hogy bűvös parancsokkal telepítsen jegyzetfüzet-hatókörű kódtárakat. Lásd: Jegyzetfüzet-hatókörű 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 a fürt alapértelmezett Python-környezetéhez van csatolva, és örökli. Az Azure Databricks Python-környezetbe init-szkripttel telepített kódtárak továbbra is elérhetők. Ezt a funkciót a következő beállítással spark.databricks.libraryIsolation.enabled
tilthatja le: false
.
Ez az API kompatibilis a meglévő fürtszintű kódtár telepítésével a felhasználói felületen és a Könyvtárak API-val. 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 parancsot 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 útja alapján telepíti 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 .egg
vagy .whl
több tárat telepít egy jegyzetfüzeten belül.
Fontos
dbutils.library.install
a Databricks Runtime 11.0-s és újabb verziója eltávolítja.
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 restartPython
után alaphelyzetbe áll; a jegyzetfüzet elveszíti az összes állapotot, beleértve a helyi változókat, az importált kódtárakat és más rövid élettartamú állapotokat is. Ezért 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ár-források a következők: dbfs
, abfss
, adl
é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
Az egyéni kerékfájlok közvetlenül telepíthetők a használatával %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, a kerék pedig a Python buildelési és bináris csomagolási szabványának számít. További részletekért lásd: Kerék vs Tojás . Ha azonban egy tojásfájlt a kompatibilis %pip
módon szeretne használni, a következő kerülő megoldást használhatja:
# 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 -csomag (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. version
, repo
, és extras
megadása nem kötelező. extras
Az argumentum használatával adja meg az Extrák funkciót (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 Databricks Runtime 11.0-s és újabb verziója eltávolítja.
A version
és extras
a kulcs nem lehet része a PyPI-csomag sztringjének. Például: dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0")
érvénytelen. version
A és extras
argumentumok használatával adja meg a verzióval és az extrával kapcsolatos információkat az alábbiak szerint:
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
A 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 nevű InstallDependencies
jegyzetfüzetet használ.
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. Ezt a technikát használhatja például egy másik verzióval előre telepített Azure Databricks-kódtárak újratöltésére:
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 az aktuális jegyzetfüzet-munkamenet Python-folyamatát.
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 tartalma environment.yml
alapján. 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)
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: Databricks-jegyzetfüzet futtatása másik jegyzetfüzetből.
Az elérhető parancsok listázásához futtassa a parancsot 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 a következő értékkel Exiting from My Other Notebook
lép ki a jegyzetfüzetből: .
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
Megjegyzés
Ha a futtatásnak van egy olyan lekérdezése, amelyben a háttérben strukturált streamelés fut, a hívás dbutils.notebook.exit()
nem szakítja meg a futtatás folyamatát. A futtatás addig folytatódik, amíg a lekérdezés a háttérben fut. A háttérben futó lekérdezés leállításához kattintson a Mégse gombra a lekérdezés cellájában, vagy futtassa a parancsot query.stop()
. Amikor a lekérdezés leáll, a futtatását a következővel dbutils.notebook.exit()
fejezheti be: .
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")
.
Ez a példa egy nevű My Other Notebook
jegyzetfüzetet futtat ugyanazon a helyen, mint a hívó jegyzetfüzet. 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á tenné őket. Lásd: Titkos kódok kezelése és A titkos kódok használata 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 a megadott titkoskód-hatókör és kulcs titkos értékének sztringképét.
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 értékek újbóli kikódosítására, nem lehet megakadályozni, hogy ezek a felhasználók titkos kódokat olvassanak. További információ: Titkos kód ismételt megadása.
A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.secrets.help("get")
.
Ez a példa lekéri a nevű my-scope
hatókör titkos értékének sztringképét és a nevű my-key
kulcsot.
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 nevű hatókör my-scope
és a nevű my-key
kulcs titkos értékének bájtos ábrázolását (ebben a példábana1!b2@c3#
).
Python
dbutils.secrets.getBytes(scope="my-scope", key="my-key")
# Out[1]: b'a1!b2@c3#'
R
dbutils.secrets.getBytes(scope="my-scope", key="my-key")
# [1] 61 31 21 62 32 40 63 33 23
Scala
dbutils.secrets.getBytes(scope="my-scope", key="my-key")
// res1: Array[Byte] = Array(97, 49, 33, 98, 50, 64, 99, 51, 35)
list parancs (dbutils.secrets.list)
A megadott hatókörön belüli titkos kulcsok 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 nevű my-scope
hatókörben lévő titkos kódok metaadatait sorolja fel.
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 az elérhető hatóköröket sorolja fel.
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. Lásd: Databricks-vezérlők.
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_combobox
kombinált lista widgetet hoz létre és jelenít meg. A , , és lehetőségeket apple
kínálja, és a kezdeti értékére banana
van állítva.dragon fruit
coconut
banana
Ez a kombinált lista widget egy kísérő címkével Fruits
rendelkezik. Ez a példa a kombinált lista vezérlőjének 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 parancs (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_dropdown
legördülő vezérlőt hoz létre és jelenít meg. A , , és lehetőségeket alphabet blocks
kínálja, és a kezdeti értékére basketball
van állítva.doll
cape
basketball
Ez a legördülő vezérlő egy kísérő címkével Toys
rendelkezik. Ez a példa a legördülő vezérlő kezdeti értékének () basketball
nyomtatásával végződik.
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 vezérlő neve a jegyzetfüzetben, például
fruits_combobox
vagytoys_dropdown
. - A jegyzetfüzet-feladat részeként a jegyzetfüzetnek átadott egyéni paraméter neve, például
name
vagyage
. További információkért lásd a notebooktevékenységek paramétereinek lefedettségét a Feladat létrehozása felhasználói felületen vagy aznotebook_params
Új feladatfuttatás (POST /jobs/run-now
) aktiválása műveletben a Jobs 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_combobox
.
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 a programozott nevű age
jegyzetfüzet-tevékenységparaméter értékét kapja meg. Ez a paraméter a 35
kapcsolódó jegyzetfüzet-feladat futtatásakor 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 helyette 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_combobox
. Ha ez a widget nem létezik, a függvény 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 opcionális 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_multiselect
többkijeles vezérlőt. A lehetőségeket Monday
Sunday
a segítségével kínálja fel, és a kezdeti értékére Tuesday
van állítva. Ez a multiselect widget egy kísérő címkével Days of the Week
rendelkezik. Ez a példa a többkijeles 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 widgetet a megadott programozott névvel.
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 parancsot ad hozzá, nem adhat hozzá további parancsot, hogy egy widgetet ugyanabban a cellában hozzon létre. 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 egy parancsot ad hozzá az összes widget eltávolításához, 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_text
szöveg widgetet hoz létre és jelenít meg. A értéke a kezdeti értékre Enter your name
van állítva. Ez a szöveg widget egy kísérő címkével Your name
rendelkezik. 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. A Databricks Utilities használatával történő fordítás engedélyezéséhez a Databricks biztosítja a tárat dbutils-api
. A kódtárat letöltheti a dbutils-api
DBUtils 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 elemet 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 ezzel a kódtárval építette fel, üzembe helyezheti az alkalmazást.
Fontos
A dbutils-api
kódtár lehetővé teszi, hogy helyileg lefordítson egy alkalmazást, amely a -t 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 eredményezhet, 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:
- Fájlmásolási vagy -áthelyezési műveletek esetén a fájlrendszerműveletek párhuzamosítása című témakörben ismertetett gyorsabb futtatási lehetőséget is ellenőrizheti.
- A fájlrendszerlista- és törlési műveletek esetében a Sparkot használó párhuzamos lista- és törlési módszerekről a Fájlok gyorsabb listázása és törlése a Databricksben című témakörben olvashat.
A végrehajtókkal kapcsolatos információkért lásd: Fürtmód áttekintése az Apache Spark webhelyén.