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)

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 (Bgiga) 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 extraConfigsdbutils.fs.mount()a Pythonban, a kulcsszót extra_configsfogja 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 /tmpkapcsolatos 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)

Parancsok: get, set

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 ValueErrorhelyett.

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, ha default meg van adva).
  • default nem kötelező érték, amelyet a rendszer akkor ad vissza, ha key nem található. default nem lehet None.
  • 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é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 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 kulccsal K, akkor két különböző tevékenységértékről van szó, amelyek ugyanazt a kulcsot Khaszná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 restartPythonutá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 %pipmó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ű InstallDependenciesjegyzetfü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.ymlalapjá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)

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: 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 Notebooklé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-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 nevű hatókör my-scope és a nevű my-keykulcs 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-scopeható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_comboboxkombinált lista widgetet hoz létre és jelenít meg. A , , és lehetőségeket applekínálja, és a kezdeti értékére bananavan állítva.dragon fruitcoconutbanana Ez a kombinált lista widget egy kísérő címkével Fruitsrendelkezik. 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_dropdownlegördülő vezérlőt hoz létre és jelenít meg. A , , és lehetőségeket alphabet blockskínálja, és a kezdeti értékére basketballvan állítva.dollcapebasketball 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 () basketballnyomtatá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 vagy toys_dropdown.
  • A jegyzetfüzet-feladat részeként a jegyzetfüzetnek átadott egyéni paraméter neve, például name vagy age. 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 az notebook_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ű agejegyzetfü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_multiselecttöbbkijeles vezérlőt. A lehetőségeket MondaySunday a segítségével kínálja fel, és a kezdeti értékére Tuesdayvan állítva. Ez a multiselect widget egy kísérő címkével Days of the Weekrendelkezik. 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_textszöveg widgetet hoz létre és jelenít meg. A értéke a kezdeti értékre 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. 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-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 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:

A végrehajtókkal kapcsolatos információkért lásd: Fürtmód áttekintése az Apache Spark webhelyén.