Referenz zu Databricks-Hilfsprogrammen (dbutils
)
Dieser Artikel ist eine Referenz zu Databricks-Hilfsprogrammen (dbutils
). dbutils
-Hilfsprogramme sind in Python-, R- und Scala-Notebooks verfügbar. Sie können die Hilfsprogramme für Folgendes verwenden:
- Effizientes Arbeiten mit Dateien und Objektspeichern.
- Arbeiten mit Geheimnissen.
Vorgehensweise: Auflisten von Hilfsprogrammen, Auflisten von Befehlen, Anzeigen der Befehlshilfe
Hilfsprogramm: Daten, Dateisystem, Aufträge, Bibliothek, Notebook, Geheimnisse, Widgets, API-Bibliothek mit Hilfsprogrammen
Auflisten der verfügbaren Hilfsprogramme
Um die verfügbaren Hilfsprogramme zusammen mit einer kurzen Beschreibung für jedes Hilfsprogramm aufzulisten, führen Sie für Python oder Scala den Befehl dbutils.help()
aus.
In diesem Beispiel werden die verfügbaren Befehle für die Databricks-Hilfsprogramme aufgelistet.
Python
dbutils.help()
Scala
dbutils.help()
This module provides various utilities for users to interact with the rest of Databricks.
credentials: DatabricksCredentialUtils -> Utilities for interacting with credentials within notebooks
data: DataUtils -> Utilities for understanding and interacting with datasets (EXPERIMENTAL)
fs: DbfsUtils -> Manipulates the Databricks filesystem (DBFS) from the console
jobs: JobsUtils -> Utilities for leveraging jobs features
library: LibraryUtils -> Utilities for session isolated libraries
meta: MetaUtils -> Methods to hook into the compiler (EXPERIMENTAL)
notebook: NotebookUtils -> Utilities for the control flow of a notebook (EXPERIMENTAL)
preview: Preview -> Utilities under preview category
secrets: SecretUtils -> Provides utilities for leveraging secrets within notebooks
widgets: WidgetsUtils -> Methods to create and get bound value of input widgets inside notebooks
Auflisten der verfügbaren Befehle für ein Hilfsprogramm
Um die verfügbaren Befehle für ein Dienstprogramm zusammen mit einer kurzen Beschreibung der einzelnen Befehle aufzulisten, führen Sie nach dem programmatischen Namen des Hilfsprogramms .help()
aus.
In diesem Beispiel werden die verfügbaren Befehle für das DBFS-Hilfsprogramm (Databricks File System) aufgelistet.
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
Anzeigen der Hilfe für einen Befehl
Um Hilfeinformationen zu einem Befehl anzuzeigen, führen Sie nach dem Befehlsnamen .help("<command-name>")
aus.
In diesem Beispiel wird die Hilfe zum DBFS-Kopierbefehl angezeigt.
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
Data-Hilfsprogramm (dbutils.data)
Wichtig
Dieses Feature befindet sich in der Public Preview.
Hinweis
Verfügbar in Databricks Runtime 9.0 und höheren Versionen.
Befehle: summarize
Das Datenhilfsprogramm ermöglicht es Ihnen, Datasets zu verstehen und zu interpretieren. Führen Sie dbutils.data.help()
aus, um die verfügbaren Befehle aufzulisten.
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-Befehl (dbutils.data.summarize)
Mit diesem Befehl werden zusammenfassende Statistiken für einen Apache Spark-Datenframe oder pandas.DataFrame berechnet und angezeigt. Dieser Befehl ist für Python, Scala und R verfügbar.
Dieser Befehl analysiert den vollständigen Inhalt des DataFrame. Das Ausführen dieses Befehls für sehr große DataFrames kann sehr teuer sein.
Führen Sie dbutils.data.help("summarize")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In Databricks Runtime 10.4 LTS und höheren Versionen können Sie zusätzlich den Parameter precise
verwenden, um die Genauigkeit der berechneten Statistiken anzupassen.
Hinweis
Dieses Feature befindet sich in der Public Preview.
- Wenn
precise
auf FALSE festgelegt ist (Standardeinstellung), enthalten einige zurückgegebene Statistiken Näherungen, um die Laufzeit zu verringern.- Die Anzahl der eindeutigen Werte für Kategoriespalten kann bei Spalten mit hoher Kardinalität eine relative Fehlerquote von rund 5 % aufweisen.
- Die Zählung der häufigen Werte kann eine Fehlerquote von bis zu 0,01 % aufweisen, wenn die Anzahl der eindeutigen Werte über 10.000 liegt.
- Die Histogramme und Perzentilschätzungen können eine Fehlerquote von bis zu 0,01 % bezogen auf die Gesamtzahl der Zeilen aufweisen.
- Wenn
precise
auf TRUE festgelegt ist, werden die Statistiken mit höherer Genauigkeit berechnet. Alle Statistiken mit Ausnahme der Histogramme und Perzentile für numerische Spalten sind jetzt genau.- Die Histogramme und Perzentilschätzungen können eine Fehlerquote von bis zu 0,0001 % im Verhältnis zur Gesamtzahl der Zeilen aufweisen.
Die QuickInfo oben in der Ausgabe der Datenzusammenfassung gibt den Modus der aktuellen Ausführung an.
In diesem Beispiel werden zusammenfassende Statistiken für einen Apache Spark-Datenframe angezeigt, für den standardmäßig Näherungswerte aktiviert sind. Führen Sie diesen Befehl in einem Notebook aus, um die Ergebnisse anzuzeigen. Dieses Beispiel basiert auf den Beispieldatasets.
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)
Beachten Sie, dass die Visualisierung die SI-Notation verwendet, um numerische Werte kleiner als 0,01 oder größer als 10.000 prägnant darzustellen. Beispielsweise wird der numerische Wert 1.25e-15
als 1.25f
gerendert. Eine Ausnahme: Die Visualisierung verwendet B
für 1.0e9
(Giga) anstelle von G
.
Dateisystem-Hilfsprogramm (dbutils.fs)
Warnung
Die Python-Implementierung aller dbutils.fs
-Methoden verwendet snake_case
anstelle von camelCase
für Schlüsselwortformatierung.
Beispiel: Während dbutils.fs.help()
die Option extraConfigs
für dbutils.fs.mount()
anzeigt, würden Sie in Python das Schlüsselwort extra_configs
verwenden.
Befehle: cp, head, ls, mkdirs, mount, mounts, mv, put, refreshMounts, rm, unmount, updateMount
Mit dem Dateisystemprogramm können Sie auf Was ist DBFS? zugreifen, was die Verwendung von Azure Databricks als Dateisystem erleichtert.
In Notebooks können Sie auch den Magic-Befehl %fs
verwenden, um auf DBFS zuzugreifen. Beispielsweise ist %fs ls /Volumes/main/default/my-volume/
identisch mit dbutils.fs.ls("/Volumes/main/default/my-volume/")
. Siehe Magic-Befehle.
Führen Sie dbutils.fs.help()
aus, um die verfügbaren Befehle aufzulisten.
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-Befehl (dbutils.fs.cp)
Kopiert eine Datei oder ein Verzeichnis, möglicherweise dateisystemübergreifend.
Führen Sie dbutils.fs.help("cp")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel wird die Datei mit dem Namen data.csv
aus /Volumes/main/default/my-volume/
in das gleiche Volume in new-data.csv
kopiert.
Python
dbutils.fs.cp("/Volumes/main/default/my-volume/data.csv", "/Volumes/main/default/my-volume/new-data.csv")
# Out[4]: True
R
dbutils.fs.cp("/Volumes/main/default/my-volume/data.csv", "/Volumes/main/default/my-volume/new-data.csv")
# [1] TRUE
Scala
dbutils.fs.cp("/Volumes/main/default/my-volume/data.csv", "/Volumes/main/default/my-volume/new-data.csv")
// res3: Boolean = true
head-Befehl (dbutils.fs.head)
Gibt die angegebene maximale Anzahl von Byte der angegebenen Datei zurück. Die Byte werden als UTF-8-codierte Zeichenfolge zurückgegeben.
Führen Sie dbutils.fs.help("head")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel werden die ersten 25 Byte der Datei data.csv
in /Volumes/main/default/my-volume/
angezeigt.
Python
dbutils.fs.head("/Volumes/main/default/my-volume/data.csv", 25)
# [Truncated to first 25 bytes]
# Out[12]: 'Year,First Name,County,Se'
R
dbutils.fs.head("/Volumes/main/default/my-volume/data.csv", 25)
# [1] "Year,First Name,County,Se"
Scala
dbutils.fs.head("/Volumes/main/default/my-volume/data.csv", 25)
// [Truncated to first 25 bytes]
// res4: String =
// "Year,First Name,County,Se"
ls-Befehl (dbutils.fs.ls)
Listet den Inhalt eines Verzeichnisses auf.
Führen Sie dbutils.fs.help("ls")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel werden Informationen zum Inhalt von /Volumes/main/default/my-volume/
angezeigt. Das Feld modificationTime
ist in Databricks Runtime 10.4 LTS und höheren Versionen verfügbar. In R wird modificationTime
als Zeichenfolge zurückgegeben.
Python
dbutils.fs.ls("/Volumes/main/default/my-volume/")
# Out[13]: [FileInfo(path='dbfs:/Volumes/main/default/my-volume/data.csv', name='data.csv', size=2258987, modificationTime=1711357839000)]
R
dbutils.fs.ls("/Volumes/main/default/my-volume/")
# For prettier results from dbutils.fs.ls(<dir>), please use `%fs ls <dir>`
# [[1]]
# [[1]]$path
# [1] "/Volumes/main/default/my-volume/data.csv"
# [[1]]$name
# [1] "data.csv"
# [[1]]$size
# [1] 2258987
# [[1]]$isDir
# [1] FALSE
# [[1]]$isFile
# [1] TRUE
# [[1]]$modificationTime
# [1] "1711357839000"
Scala
dbutils.fs.ls("/tmp")
// res6: Seq[com.databricks.backend.daemon.dbutils.FileInfo] = WrappedArray(FileInfo(/Volumes/main/default/my-volume/data.csv, 2258987, 1711357839000))
mkdirs-Befehl (dbutils.fs.mkdirs)
Erstellt das gegebene Verzeichnis, falls es nicht vorhanden ist. Es werden auch alle erforderlichen übergeordneten Verzeichnisse erstellt.
Führen Sie dbutils.fs.help("mkdirs")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel wird das Verzeichnis my-data
in /Volumes/main/default/my-volume/
erstellt.
Python
dbutils.fs.mkdirs("/Volumes/main/default/my-volume/my-data")
# Out[15]: True
R
dbutils.fs.mkdirs("/Volumes/main/default/my-volume/my-data")
# [1] TRUE
Scala
dbutils.fs.mkdirs("/Volumes/main/default/my-volume/my-data")
// res7: Boolean = true
mount-Befehl (dbutils.fs.mount)
Bindet das angegebene Quellverzeichnis am angegebenen Bereitstellungspunkt in DBFS ein.
Führen Sie dbutils.fs.help("mount")
aus, um Hilfe zu diesem Befehl anzuzeigen.
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>")))
Weitere Codebeispiele finden Sie unter Herstellen einer Verbindung mit Azure Data Lake Storage Gen2 und Blob Storage.
mounts-Befehl (dbutils.fs.mounts)
Zeigt Informationen zu den aktuell in DBFS bereitgestellten Daten an.
Führen Sie dbutils.fs.help("mounts")
aus, um Hilfe zu diesem Befehl anzuzeigen.
Warnung
Rufen Sie für alle anderen ausgeführten Cluster dbutils.fs.refreshMounts()
auf, um die neue Bereitstellung zu verteilen. Siehe refreshMounts-Befehl (dbutils.fs.refreshMounts).
Python
dbutils.fs.mounts()
Scala
dbutils.fs.mounts()
Weitere Codebeispiele finden Sie unter Herstellen einer Verbindung mit Azure Data Lake Storage Gen2 und Blob Storage.
mv-Befehl (dbutils.fs.mv)
Verschiebt eine Datei oder ein Verzeichnis, möglicherweise dateisystemübergreifend. Bei einer Verschiebung wird ein Kopiervorgang mit anschließendem Löschvorgang durchgeführt, selbst bei Verschiebungen innerhalb von Dateisystemen.
Führen Sie dbutils.fs.help("mv")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel wird die Datei rows.csv
von /Volumes/main/default/my-volume/
nach /Volumes/main/default/my-volume/my-data/
verschoben.
Python
dbutils.fs.mv("/Volumes/main/default/my-volume/rows.csv", "/Volumes/main/default/my-volume/my-data/")
# Out[2]: True
R
dbutils.fs.mv("/Volumes/main/default/my-volume/rows.csv", "/Volumes/main/default/my-volume/my-data/")
# [1] TRUE
Scala
dbutils.fs.mv("/Volumes/main/default/my-volume/rows.csv", "/Volumes/main/default/my-volume/my-data/")
// res1: Boolean = true
put-Befehl (dbutils.fs.put)
Schreibt die angegebene Zeichenfolge in eine Datei. Die Zeichenfolge ist UTF-8-codiert.
Führen Sie dbutils.fs.help("put")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel wird die Zeichenfolge Hello, Databricks!
in eine Datei namens hello.txt
in /Volumes/main/default/my-volume/
geschrieben. Wenn die Datei bereits vorhanden ist, wird sie überschrieben.
Python
dbutils.fs.put("/Volumes/main/default/my-volume/hello.txt", "Hello, Databricks!", True)
# Wrote 2258987 bytes.
# Out[6]: True
R
dbutils.fs.put("/Volumes/main/default/my-volume/hello.txt", "Hello, Databricks!", TRUE)
# [1] TRUE
Scala
dbutils.fs.put("/Volumes/main/default/my-volume/hello.txt", "Hello, Databricks!", true)
// Wrote 2258987 bytes.
// res2: Boolean = true
refreshMounts-Befehl (dbutils.fs.refreshMounts)
Erzwingt, dass alle Computer im Cluster ihren Bereitstellungscache aktualisieren, um sicherzustellen, dass sie die neuesten Informationen erhalten.
Führen Sie dbutils.fs.help("refreshMounts")
aus, um Hilfe zu diesem Befehl anzuzeigen.
Python
dbutils.fs.refreshMounts()
Scala
dbutils.fs.refreshMounts()
Weitere Codebeispiele finden Sie unter Herstellen einer Verbindung mit Azure Data Lake Storage Gen2 und Blob Storage.
rm-Befehl (dbutils.fs.rm)
Entfernt eine Datei oder ein Verzeichnis und optional den gesamten Inhalt. Wenn eine Datei angegeben ist, wird der Recurse-Parameter ignoriert. Wenn ein Verzeichnis angegeben ist, tritt ein Fehler auf, wenn „Recurse“ deaktiviert und das Verzeichnis nicht leer ist.
Führen Sie dbutils.fs.help("rm")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel wird das Verzeichnis „/Volumes/main/default/my-volume/my-data/
“ einschließlich des Inhalts des Verzeichnisses entfernt.
Python
dbutils.fs.rm("/Volumes/main/default/my-volume/my-data/", True)
# Out[8]: True
R
dbutils.fs.rm("/Volumes/main/default/my-volume/my-data/", TRUE)
# [1] TRUE
Scala
dbutils.fs.rm("/Volumes/main/default/my-volume/my-data/", true)
// res6: Boolean = true
unmount-Befehl (dbutils.fs.unmount)
Löscht einen DBFS-Bereitstellungspunkt.
Warnung
Um Fehler zu vermeiden, ändern Sie niemals einen Bereitstellungspunkt, während andere Aufträge darin lesen oder schreiben. Nachdem Sie eine Bereitstellung geändert haben, sollten Sie für alle anderen ausgeführten Cluster immer dbutils.fs.refreshMounts()
ausführen, um etwaige Bereitstellungsupdates zu verteilen. Siehe refreshMounts-Befehl (dbutils.fs.refreshMounts).
Führen Sie dbutils.fs.help("unmount")
aus, um Hilfe zu diesem Befehl anzuzeigen.
dbutils.fs.unmount("/mnt/<mount-name>")
Weitere Codebeispiele finden Sie unter Herstellen einer Verbindung mit Azure Data Lake Storage Gen2 und Blob Storage.
updateMount-Befehl (dbutils.fs.updateMount)
Ähnelt dem Befehl dbutils.fs.mount
, aktualisiert jedoch einen vorhandenen Bereitstellungspunkt, anstatt einen neuen zu erstellen. Gibt einen Fehler zurück, wenn der Bereitstellungspunkt nicht vorhanden ist.
Führen Sie dbutils.fs.help("updateMount")
aus, um Hilfe zu diesem Befehl anzuzeigen.
Warnung
Um Fehler zu vermeiden, ändern Sie niemals einen Bereitstellungspunkt, während andere Aufträge darin lesen oder schreiben. Nachdem Sie eine Bereitstellung geändert haben, sollten Sie für alle anderen ausgeführten Cluster immer dbutils.fs.refreshMounts()
ausführen, um etwaige Bereitstellungsupdates zu verteilen. Siehe refreshMounts-Befehl (dbutils.fs.refreshMounts).
Dieser Befehl ist in Databricks Runtime 10.4 LTS und höheren Versionen verfügbar.
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>")))
Jobs-Hilfsprogramm (dbutils.jobs)
Unterhilfsprogramme: taskValues
Hinweis
Dieses Hilfsprogramm ist nur für Python verfügbar.
Mit dem Hilfsprogramm für Aufträge können Sie die Features von Aufträgen nutzen. Führen Sie dbutils.jobs.help()
aus, um Hilfe zu dieses Hilfsprogramm anzuzeigen.
Provides utilities for leveraging jobs features.
taskValues: TaskValuesUtils -> Provides utilities for leveraging job task values
taskValues-Unterhilfsprogramm (dbutils.jobs.taskValues)
Hinweis
Dieses Unterhilfsprogramm ist nur für Python verfügbar.
Stellt Befehle für die Nutzung von Auftragswerten zur Verfügung.
Verwenden Sie dieses Unterhilfsprogramm, um während der Ausführung eines Auftrags beliebige Werte festzulegen und abzurufen. Diese Werte werden Aufgabenwerte genannt. Sie können auf Aufgabenwerte in Downstreamaufgaben in demselben Auftrag zugreifen. Sie können beispielsweise Bezeichner oder Metriken (etwa Informationen zur Auswertung eines Machine Learning-Modells) zwischen verschiedenen Aufgaben innerhalb einer Auftragsausführung kommunizieren. Jede Aufgabe kann mehrere Aufgabenwerte festlegen, sie abrufen oder beides. Jeder Aufgabenwert hat einen eindeutigen Schlüssel innerhalb derselben Aufgabe. Dieser eindeutige Schlüssel wird als Schlüssel des Aufgabenwerts bezeichnet. Der Zugriff auf einen Aufgabenwert erfolgt über den Aufgabennamen und den Schlüssel des Aufgabenwerts.
Um die Hilfe für dieses Unterhilfsprogramms anzuzeigen, führen Sie dbutils.jobs.taskValues.help()
aus.
get-Befehl (dbutils.jobs.taskValues.get)
Hinweis
Dieser Befehl ist nur für Python verfügbar.
Bis Databricks Runtime 10.4 wird anstelle von ValueError
ein Fehler vom Typ Py4JJavaError ausgelöst, wenn die Aufgabe von get
nicht gefunden wird.
Ruft den Inhalt des angegebenen Aufgabenwerts für die angegebene Aufgabe im aktuell ausgeführten Auftrag ab.
Führen Sie dbutils.jobs.taskValues.help("get")
aus, um Hilfe zu diesem Befehl anzuzeigen.
Beispiele:
dbutils.jobs.taskValues.get(taskKey = "my-task", \
key = "my-key", \
default = 7, \
debugValue = 42)
Im vorherigen Beispiel:
- ist
taskKey
der Name der Aufgabe, die den Wert der Aufgabe festgelegt hat. Wenn der Befehl diese Aufgabe nicht finden kann, wirdValueError
ausgelöst. key
ist der Name des Schlüssels des Auftragswerts, den Sie mit dem Befehl set (dbutils.jobs.taskValues.set) festgelegt haben. Wenn der Befehl den Schlüssel dieses Aufgabenwerts nicht finden kann, wirdValueError
ausgelöst (es sei denn,default
ist angegeben).default
ist ein optionaler Wert, der zurückgegeben wird, wennkey
nicht gefunden werden kann.default
darf nichtNone
sein.debugValue
ist ein optionaler Wert, der zurückgegeben wird, wenn Sie versuchen, den Aufgabenwert aus einem Notebook abzurufen, das außerhalb eines Auftrags ausgeführt wird. Dies kann beim Debuggen nützlich sein, wenn Sie Ihr Notebook manuell ausführen und einen Wert zurückgeben möchten, anstatt standardmäßig einTypeError
auszulösen.debugValue
darf nichtNone
sein.
Wenn Sie versuchen, einen Aufgabenwert aus einem Notebook abzurufen, das außerhalb eines Auftrags ausgeführt wird, löst dieser Befehl standardmäßig ein TypeError
aus. Wenn jedoch das Argument debugValue
im Befehl angegeben ist, wird der Wert von debugValue
zurückgegeben, anstatt ein TypeError
auszulösen.
set-Befehl (dbutils.jobs.taskValues.set)
Hinweis
Dieser Befehl ist nur für Python verfügbar.
Legt einen Aufgabenwert fest oder aktualisiert ihn. Sie können bis zu 250 Aufgabenwerte für einen Auftrag festlegen.
Führen Sie dbutils.jobs.taskValues.help("set")
aus, um Hilfe zu diesem Befehl anzuzeigen.
Beispiele hierfür sind:
dbutils.jobs.taskValues.set(key = "my-key", \
value = 5)
dbutils.jobs.taskValues.set(key = "my-other-key", \
value = "my other value")
In den vorherigen Beispielen:
- ist
key
der Schlüssel des Aufgabenwerts. Dieser Schlüssel muss für die Aufgabe eindeutig sein. Das heißt, wenn von zwei verschiedenen Aufgaben jeweils ein Aufgabenwert mit dem SchlüsselK
festgelegt wird, sind dies zwei unterschiedliche Aufgabenwerte, die denselben SchlüsselK
aufweisen. value
ist der Wert für den Schlüssel dieses Aufgabenwerts. Dieser Befehl muss in der Lage sein, den Wert intern im JSON-Format darzustellen. Die Größe der JSON-Darstellung des Werts darf 48 KiB nicht überschreiten.
Wenn Sie versuchen, einen Aufgabenwert in einem Notebook festzulegen, das außerhalb eines Auftrags ausgeführt wird, hat dieser Befehl keine Auswirkung.
Library-Hilfsprogramm (dbutils.library)
Die meisten Methoden im dbutils.library
-Untermodul sind veraltet. Weitere Informationen finden Sie unter Bibliothekshilfsprogramm (dbutils.library) (Legacy).
Möglicherweise müssen Sie den Python-Prozess in Azure Databricks programmgesteuert neu starten, um sicherzustellen, dass lokal installierte oder aktualisierte Bibliotheken im Python-Kernel für Ihre aktuelle SparkSession ordnungsgemäß funktionieren. Führen Sie dazu den Befehl dbutils.library.restartPython
aus. Weitere Informationen finden Sie unter Neustarten des Python-Prozesses in Azure Databricks.
Notebook-Hilfsprogramm (dbutils.notebook)
Mit dem Notebookhilfsprogramm können Sie Notebooks verketten und auf deren Ergebnisse reagieren. Weitere Informationen finden Sie unter Ausführen eines Databricks-Notebooks über ein anderes Notebook.
Führen Sie dbutils.notebook.help()
aus, um die verfügbaren Befehle aufzulisten.
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-Befehl (dbutils.notebook.exit)
Beendet ein Notebook mit einem Wert.
Führen Sie dbutils.notebook.help("exit")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel wird das Notebook mit dem Wert Exiting from My Other Notebook
beendet.
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
Hinweis
Wenn die Ausführung über eine Abfrage mit strukturiertem Streaming verfügt, die im Hintergrund ausgeführt wird, beendet der Aufruf von dbutils.notebook.exit()
die Ausführung nicht. Die Ausführung wird so lange fortgesetzt, wie die Abfrage im Hintergrund ausgeführt wird. Sie können die im Hintergrund ausgeführte Abfrage beenden, indem Sie in der Zelle der Abfrage auf Abbrechen klicken oder query.stop()
ausführen. Wenn die Abfrage beendet wird, können Sie die Ausführung mit dbutils.notebook.exit()
beenden.
run-Befehl (dbutils.notebook.run)
Führt ein Notebook aus und gibt dessen Exit-Wert zurück. Das Notebook wird standardmäßig im aktuellen Cluster ausgeführt.
Hinweis
Die maximale Länge des vom run
-Befehl zurückgegebenen Zeichenfolgenwerts beträgt 5 MB. Siehe Abrufen der Ausgabe für eine einzelne Ausführung (GET /jobs/runs/get-output
).
Führen Sie dbutils.notebook.help("run")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel wird ein Notebook mit dem Namen My Other Notebook
am selben Ort ausgeführt wie das aufrufende Notebook. Das aufgerufene Notebook endet mit der Codezeile dbutils.notebook.exit("Exiting from My Other Notebook")
. Wenn die Ausführung des aufgerufenen Notebooks nicht innerhalb von 60 Sekunden abgeschlossen ist, wird eine Ausnahme ausgelöst.
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
Secrets-Hilfsprogramm (dbutils.secrets)
Befehle: get, getBytes, list, listScopes
Mit dem Hilfsprogramm für Geheimnisse können Sie vertrauliche Anmeldeinformationen speichern und darauf zugreifen, ohne sie in den Notebooks sichtbar zu machen. Siehe Geheimnisverwaltung und Verwenden von Geheimnissen in einem Notebook. Führen Sie dbutils.secrets.help()
aus, um die verfügbaren Befehle aufzulisten.
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-Befehl (dbutils.secrets.get)
Ruft die Zeichenfolgendarstellung eines Geheimniswerts für den angegebenen Geheimnisbereich und Schlüssel ab.
Warnung
Administratoren, Geheimnisersteller und Benutzer, denen die entsprechende Berechtigung erteilt wurde, können Azure Databricks-Geheimnisse lesen. Azure Databricks bearbeitet zwar Geheimniswerte, die unter Umständen in Notebooks angezeigt werden, das Lesen von Geheimnissen durch solche Benutzer kann aber nicht verhindert werden. Weitere Informationen finden Sie unter Geheimnisbearbeitung.
Führen Sie dbutils.secrets.help("get")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel wird die Zeichenfolgendarstellung des Geheimniswerts für den Bereich my-scope
und den Schlüssel my-key
abgerufen.
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-Befehl (dbutils.secrets.getBytes)
Ruft die Bytedarstellung eines Geheimniswerts für den angegebenen Bereich und Schlüssel ab.
Führen Sie dbutils.secrets.help("getBytes")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel wird die Bytedarstellung des Geheimniswerts (in diesem Beispiel a1!b2@c3#
) für den Bereich my-scope
und den Schlüssel my-key
abgerufen.
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-Befehl (dbutils.secrets.list)
Listet die Metadaten für Geheimnisse innerhalb des angegebenen Bereichs auf.
Führen Sie dbutils.secrets.help("list")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel werden die Metadaten für Geheimnisse innerhalb des Bereichs my-scope
aufgelistet.
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-Befehl (dbutils.secrets.listScopes)
Listet die verfügbaren Bereiche auf.
Führen Sie dbutils.secrets.help("listScopes")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel werden die verfügbaren Bereiche aufgelistet.
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-Hilfsprogramm (dbutils.widgets)
Befehle: combobox, dropdown, get, getArgument, multiselect, remove, removeAll, text
Mit dem Widgets-Hilfsprogramm können Sie Notebooks parametrisieren. Weitere Informationen finden Sie unter Databricks-Widgets
Führen Sie dbutils.widgets.help()
aus, um die verfügbaren Befehle aufzulisten.
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
getAll: map -> Retrieves a map of all widget names and their values
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-Befehl (dbutils.widgets.combobox)
Erstellt ein Kombinationsfeld-Widget mit dem angegebenen programmatischen Namen, dem Standardwert, den Auswahlmöglichkeiten sowie einer optionalen Bezeichnung, und zeigt es an.
Führen Sie dbutils.widgets.help("combobox")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel wird ein Kombinationsfeld-Widget mit dem programmatischen Namen fruits_combobox
erstellt und angezeigt. Es stellt die Optionen apple
, banana
, coconut
und dragon fruit
zur Auswahl und ist auf den Anfangswert banana
festgelegt. Außerdem wird dem Kombinationsfeld-Widget die Beschriftung Fruits
zugeordnet. Am Ende dieses Beispiels wird der Anfangswert des Kombinationsfeld-Widgets (banana
) ausgegeben.
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
SQL
CREATE WIDGET COMBOBOX fruits_combobox DEFAULT "banana" CHOICES SELECT * FROM (VALUES ("apple"), ("banana"), ("coconut"), ("dragon fruit"))
SELECT :fruits_combobox
-- banana
dropdown-Befehl (dbutils.widgets.dropdown)
Erstellt ein Dropdown-Widget mit dem angegebenen programmatischen Namen, dem Standardwert, den Auswahlmöglichkeiten sowie einer optionalen Bezeichnung, und zeigt es an.
Führen Sie dbutils.widgets.help("dropdown")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel wird ein Dropdown-Widget mit dem programmatischen Namen toys_dropdown
erstellt und angezeigt. Es stellt die Optionen alphabet blocks
, basketball
, cape
und doll
zur Auswahl und ist auf den Anfangswert basketball
festgelegt. Außerdem wird dem Dropdown-Widget die Beschriftung Toys
zugeordnet. Am Ende dieses Beispiels wird der Anfangswert des Dropdown-Widgets (basketball
) ausgegeben.
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
SQL
CREATE WIDGET DROPDOWN toys_dropdown DEFAULT "basketball" CHOICES SELECT * FROM (VALUES ("alphabet blocks"), ("basketball"), ("cape"), ("doll"))
SELECT :toys_dropdown
-- basketball
get-Befehl (dbutils.widgets.get)
Ruft den aktuellen Wert des Widgets mit dem angegebenen programmatischen Namen ab. Dieser programmatische Name kann einer der beiden folgenden sein:
- Der Name eines benutzerdefinierten Widgets im Notebook, z. B.
fruits_combobox
odertoys_dropdown
. - Der Name eines benutzerdefinierten Parameters, der als Teil einer Notebookaufgabe an das Notebook übergeben wird, z. B.
name
oderage
. Weitere Informationen finden Sie im Abschnitt über die Parameter für Notebookaufgaben in der Benutzeroberfläche für Aufträge oder im Feldnotebook_params
des Vorgangs zum Auslösen einer neuen Auftragsausführung (POST /jobs/run-now
) in der Auftrags-API.
Führen Sie dbutils.widgets.help("get")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel wird der Wert des Widgets mit dem programmatischen Namen fruits_combobox
abgerufen.
Python
dbutils.widgets.get('fruits_combobox')
# banana
R
dbutils.widgets.get('fruits_combobox')
# [1] "banana"
Scala
dbutils.widgets.get("fruits_combobox")
// res6: String = banana
SQL
SELECT :fruits_combobox
-- banana
In diesem Beispiel wird der Wert des Notebookaufgabenparameters mit dem programmatischen Namen age
abgerufen. Dieser Parameter wurde auf 35
festgelegt, als die zugehörige Notebookaufgabe ausgeführt wurde.
Python
dbutils.widgets.get('age')
# 35
R
dbutils.widgets.get('age')
# [1] "35"
Scala
dbutils.widgets.get("age")
// res6: String = 35
SQL
SELECT :age
-- 35
getAll-Befehl (dbutils.widgets.getAll)
Ruft eine Zuordnung aller aktuellen Widgetnamen und -werte ab. Dies kann besonders hilfreich sein, um Widgetwerte schnell an eine spark.sql()
Abfrage zu übergeben.
Dieser Befehl ist in Databricks Runtime 13.3 LTS und höheren Versionen verfügbar. Es ist nur für Python und Scala verfügbar.
Führen Sie dbutils.widgets.help("getAll")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel wird die Zuordnung von Widgetwerten und als Parameterargumente in einer Spark SQL-Abfrage übergeben.
Python
df = spark.sql("SELECT * FROM table where col1 = :param", dbutils.widgets.getAll())
df.show()
# Query output
Scala
val df = spark.sql("SELECT * FROM table where col1 = :param", dbutils.widgets.getAll())
df.show()
// res6: Query output
getArgument-Befehl (dbutils.widgets.getArgument)
Ruft den aktuellen Wert des Widgets mit dem angegebenen programmatischen Namen ab. Wenn das Widget nicht vorhanden ist, kann eine optionale Meldung zurückgegeben werden.
Hinweis
Dieser Befehl ist veraltet. Verwenden Sie stattdessen dbutils.widgets.get.
Führen Sie dbutils.widgets.help("getArgument")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel wird der Wert des Widgets mit dem programmatischen Namen fruits_combobox
abgerufen. Wenn dieses Widget nicht vorhanden ist, wird die Meldung Error: Cannot find fruits combobox
zurückgegeben.
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-Befehl (dbutils.widgets.multiselect)
Erstellt ein Mehrfachauswahl-Widget mit dem angegebenen programmatischen Namen, dem Standardwert, den Auswahlmöglichkeiten sowie einer optionalen Bezeichnung, und zeigt es an.
Führen Sie dbutils.widgets.help("multiselect")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel wird ein Mehrfachauswahl-Widget mit dem programmatischen Namen days_multiselect
erstellt und angezeigt. Es stellt die Optionen Monday
bis Sunday
zur Auswahl und ist auf den Anfangswert Tuesday
festgelegt. Außerdem wird dem Mehrfachauswahl-Widget die Beschriftung Days of the Week
zugeordnet. Am Ende dieses Beispiels wird der Anfangswert des Mehrfachauswahl-Widgets (Tuesday
) ausgegeben.
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
SQL
CREATE WIDGET MULTISELECT days_multiselect DEFAULT "Tuesday" CHOICES SELECT * FROM (VALUES ("Monday"), ("Tuesday"), ("Wednesday"), ("Thursday"), ("Friday"), ("Saturday"), ("Sunday"))
SELECT :days_multiselect
-- Tuesday
remove-Befehl (dbutils.widgets.remove)
Entfernt das Widget mit dem angegebenen programmatischen Namen.
Führen Sie dbutils.widgets.help("remove")
aus, um Hilfe zu diesem Befehl anzuzeigen.
Wichtig
Wenn Sie einen Befehl zum Entfernen eines Widgets hinzufügen, können Sie keinen nachfolgenden Befehl zum Erstellen eines Widgets in derselben Zelle hinzufügen. Sie müssen das Widget in einer anderen Zelle erstellen.
In diesem Beispiel wird das Widget mit dem programmatischen Namen fruits_combobox
entfernt.
Python
dbutils.widgets.remove('fruits_combobox')
R
dbutils.widgets.remove('fruits_combobox')
Scala
dbutils.widgets.remove("fruits_combobox")
SQL
REMOVE WIDGET fruits_combobox
removeAll-Befehl (dbutils.widgets.removeAll)
Entfernt alle Widgets aus dem Notebook.
Führen Sie dbutils.widgets.help("removeAll")
aus, um Hilfe zu diesem Befehl anzuzeigen.
Wichtig
Wenn Sie einen Befehl zum Entfernen aller Widgets hinzufügen, können Sie keinen nachfolgenden Befehl zum Erstellen von Widgets in derselben Zelle hinzufügen. Sie müssen die Widgets in einer anderen Zelle erstellen.
In diesem Beispiel werden alle Widgets aus dem Notebook entfernt.
Python
dbutils.widgets.removeAll()
R
dbutils.widgets.removeAll()
Scala
dbutils.widgets.removeAll()
text-Befehl (dbutils.widgets.text)
Erstellt ein Text-Widget mit dem angegebenen programmatischen Namen, dem Standardwert sowie einer optionalen Bezeichnung, und zeigt es an.
Führen Sie dbutils.widgets.help("text")
aus, um Hilfe zu diesem Befehl anzuzeigen.
In diesem Beispiel wird ein Text-Widget mit dem programmatischen Namen your_name_text
erstellt und angezeigt. Es wird auf den Anfangswert Enter your name
festgelegt. Außerdem wird dem Text-Widget die Beschriftung Your name
zugeordnet. Am Ende dieses Beispiels wird der Anfangswert des Text-Widgets (Enter your name
) ausgegeben.
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
SQL
CREATE WIDGET TEXT your_name_text DEFAULT "Enter your name"
SELECT :your_name_text
-- Enter your name
API-Bibliothek für Databricks-Hilfsprogramme
Wichtig
Die Databricks Utilities API (dbutils-api
)-Bibliothek ist veraltet. Obwohl diese Bibliothek noch verfügbar ist, plant Databricks keine neuen Funktionen für die dbutils-api
Bibliothek.
Databricks empfiehlt, stattdessen eine der folgenden Bibliotheken zu verwenden:
Um die Anwendungsentwicklung zu beschleunigen, kann es nützlich sein, Anwendungen vor der Bereitstellung als Produktionsaufträge zu kompilieren, zu erstellen und zu testen. Um eine Kompilierung mit den Databricks-Hilfsprogrammen zu ermöglichen, stellt Databricks die Bibliothek dbutils-api
zur Verfügung. Sie können die Bibliothek dbutils-api
von der Webseite DBUtils API der Maven Repository-Website herunterladen oder die Bibliothek durch Hinzufügen einer Abhängigkeit in Ihre Builddatei einschließen:
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'
Ersetzen Sie TARGET
durch das gewünschte Ziel (zum Beispiel 2.12
) und VERSION
durch die gewünschte Version (beispielsweise 0.0.5
). Eine Liste der verfügbaren Ziele und Versionen finden Sie auf der Webseite DBUtils API der Maven Repository-Website.
Sobald Sie Ihre Anwendung mit dieser Bibliothek kompiliert haben, können Sie die Anwendung bereitstellen.
Wichtig
Sie können mit der Bibliothek dbutils-api
eine Anwendung, die dbutils
verwendet, lokal kompilieren, sie aber nicht ausführen. Um die Anwendung auszuführen, müssen Sie sie in Azure Databricks bereitstellen.
Einschränkungen
Der Aufruf von dbutils
innerhalb von Executors kann zu unerwarteten Ergebnissen oder möglicherweise zu Fehlern führen.
Wenn Sie Dateisystemvorgänge für Executors mit dbutils
ausführen müssen, gibt es verschiedene schnellere und besser skalierbare Alternativen:
- Für das Kopieren oder Verschieben von Dateien steht Ihnen eine schnellere Option zum Ausführen von Dateisystemvorgängen zur Verfügung, die in Parallelize filesystem operations (Parallelisieren von Dateisystemvorgängen) beschrieben wird.
- Für Auflistungs- und Löschvorgänge im Dateisystem können Sie die Methoden zum parallelen Auflisten und Löschen mithilfe von Spark nutzen, siehe How to list and delete files faster in Databricks (Schnelleres Auflisten und Löschen von Dateien in Databricks).
Informationen zu Executors finden Sie unter Cluster Mode Overview (Clustermodus – Übersicht) auf der Apache Spark-Website.