Freigeben über


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)

Befehle: get, set

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, wird ValueError 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, wird ValueError ausgelöst (es sei denn, default ist angegeben).
  • default ist ein optionaler Wert, der zurückgegeben wird, wenn key nicht gefunden werden kann. default darf nicht None 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 ein TypeError auszulösen. debugValue darf nicht None 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üssel K festgelegt wird, sind dies zwei unterschiedliche Aufgabenwerte, die denselben Schlüssel K 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)

Befehle: exit, run

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 oder toys_dropdown.
  • Der Name eines benutzerdefinierten Parameters, der als Teil einer Notebookaufgabe an das Notebook übergeben wird, z. B. name oder age. Weitere Informationen finden Sie im Abschnitt über die Parameter für Notebookaufgaben in der Benutzeroberfläche für Aufträge oder im Feld notebook_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.