Databricks Utilities

Les utilitaires Databricks (dbutils) facilitent l’exécution de combinaisons puissantes de tâches. Vous pouvez utiliser les utilitaires pour travailler efficacement avec le stockage d’objets, pour chaîner et paramétrer des blocs-notes et pour utiliser des secrets. dbutils ne sont pas pris en charge en dehors des blocs-notes.

Important

L’appel dbutils à l’intérieur des exécuteurs peut produire des résultats inattendus. Pour en savoir plus sur les limitations de dbutils et les alternatives qui pourraient être utilisées à la place, consultez Limitations.

dbutils les utilitaires sont disponibles dans les blocs-notes Python, R et Scala.

Comment : Lister les utilitaires, lister les commandes, afficher l'aide des commandes

Utilitaires : données, fs, travaux, bibliothèque, notebook, secrets, widgets, Utilitaires bibliothèque API

Répertorier les utilitaires disponibles

Pour répertorier les utilitaires disponibles, ainsi qu’une brève description de chaque utilitaire, exécutez dbutils.help() pour Python ou Scala.

Cet exemple répertorie les commandes disponibles pour les utilitaires Databricks.

Python

dbutils.help()

Scala

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

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

Répertorier les commandes disponibles pour un utilitaire

Pour répertorier les commandes disponibles pour un utilitaire avec une brève description de chaque commande, exécutez .help() après le nom de programmation de l’utilitaire.

Cet exemple liste les commandes disponibles pour l'utilitaire Databricks File System (DBFS).

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

Afficher l’aide pour une commande

Pour afficher l’aide d’une commande, exécutez .help("<command-name>") après le nom de la commande.

Cet exemple affiche l’aide de la commande de copie DBFS.

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

Utilitaire de données (dbutils.data)

Important

Cette fonctionnalité est disponible en préversion publique.

Notes

Disponible dans Databricks Runtime 9.0 et ultérieur.

Commandes: synthétiser

L’utilitaire de données vous permet de comprendre et d’interpréter les jeux de données. Pour répertorier les commandes disponibles, exécutez dbutils.data.help().

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

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

commande de synthèse (dbutils.data.summarize)

Calcule et affiche les statistiques récapitulatives d’un Apache Spark tableau ou pandas tableau. Cette commande est disponible pour Python, Scala et R.

Pour afficher l’aide de cette commande, exécutez dbutils.data.help("summarize").

Dans Databricks Runtime 10.1 et versions ultérieures, vous pouvez utiliser le paramètre supplémentaire precise pour ajuster la précision des statistiques calculées.

Notes

Cette fonctionnalité est disponible en préversion publique.

  • Lorsque precise a la valeur false (valeur par défaut), certaines statistiques retournées incluent des approximations pour réduire le temps d’exécution.
    • Le nombre de valeurs distinctes pour les colonnes catégoriques peut comporter environ 5% d’erreurs relatives pour les colonnes de cardinalité élevée.
    • Le nombre de valeurs fréquentes peut avoir une erreur allant jusqu’à 0,01% lorsque le nombre de valeurs distinctes est supérieur à 10000.
    • Les estimations des histogrammes et des centiles peuvent avoir une erreur allant jusqu’à 0,01% par rapport au nombre total de lignes.
  • Lorsque precise a la valeur true, les statistiques sont calculées avec une précision plus élevée. Toutes les statistiques, à l’exception des histogrammes et des centiles pour les colonnes numériques, sont désormais exactes.
    • Les estimations des histogrammes et des centiles peuvent avoir une erreur allant jusqu’à 0,0001% par rapport au nombre total de lignes.

L’info-bulle en haut de la sortie du résumé des données indique le mode de l’exécution actuelle.

Cet exemple affiche des statistiques récapitulatives pour un Apache Spark tableau avec des approximations activées par défaut. Pour afficher les résultats, exécutez cette commande dans un bloc-notes. Cet exemple est basé sur des échantillons de jeux de données.

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)

Notez que la visualisation utilise la notation SI pour restituer de façon concise des valeurs numériques inférieures à 0,01 ou supérieures à 10000. Par exemple, la valeur numérique 1.25e-15 sera restituée sous la forme 1.25f. Une exception : la visualisation utilise « B » pour 1.0e9 (giga) au lieu de « G ».

Utilitaire de système de fichiers (dbutils. FS)

Avertissement

L’implémentation Python de toutes les méthodes dbutils.fs utilise snake_case plutôt que camelCase pour la mise en forme de mot clé.

Par exemple : lorsque dbuitls.fs.help() affiche de l’option extraConfigs pour dbutils.fs.mount(), dans Python, vous utiliseriez les touches extra_configs.

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

L’utilitaire de système de fichiers vous permet d’accéder à Qu’est-ce que DBFS (Databricks File System), ce qui facilite l’utilisation d’Azure Databricks en tant que système de fichiers. Pour répertorier les commandes disponibles, exécutez 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

commande CP (dbutils.fs.cp)

Copie un fichier ou un répertoire, éventuellement entre des systèmes de fichiers.

Pour afficher l’aide de cette commande, exécutez dbutils.fs.help("cp").

Cet exemple copie le fichier nommé old_file.txt de /FileStore à /tmp/new , en renommant le fichier copié en new_file.txt.

Python

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

# Out[4]: True

R

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

# [1] TRUE

Scala

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

// res3: Boolean = true

commande en-tête (dbutils.fs.head)

Retourne jusqu’au nombre maximal d’octets spécifié pour le fichier donné. Les octets sont retournés sous la forme d’une chaîne encodée en UTF-8.

Pour afficher l’aide de cette commande, exécutez dbutils.fs.help("head").

Cet exemple affiche les 25 premiers octets du fichier my_file.txt situé dans /tmp .

Python

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

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

R

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

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

Scala

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

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

commande Is (dbutils.fs.ls)

Copier le contenu d’un répertoire.

Pour afficher l’aide de cette commande, exécutez dbutils.fs.help("ls").

Cet exemple affiche des informations sur le contenu de /tmp. Le champ modificationTime est disponible dans Databricks Runtime 10.2 et versions ultérieures. Dans R, modificationTime est retourné sous forme de chaîne.

Python

dbutils.fs.ls("/tmp")

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

R

dbutils.fs.ls("/tmp")

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

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

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

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

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

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

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

Scala

dbutils.fs.ls("/tmp")

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

commande mkdirs (dbutils.fs.mkdirs)

Crée le répertoire donné s’il n’existe pas. Crée également les répertoires parents nécessaires.

Pour afficher l’aide de cette commande, exécutez dbutils.fs.help("mkdirs").

Cet exemple crée la structure de répertoires /parent/child/grandchild dans /tmp .

Python

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

# Out[15]: True

R

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

# [1] TRUE

Scala

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

// res7: Boolean = true

commande Mount (dbutils.fs.mount)

Monte le répertoire source spécifié dans DBFS au point de montage spécifié.

Pour afficher l’aide de cette commande, exécutez dbutils.fs.help("mount").

Python

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

Scala

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

Pour obtenir des exemples de code supplémentaires, consultez Accès au stockage Azure Data Lake Storage Gen2 et au Stockage Blob.

commande Mount (dbutils.fs.mount)

Affiche des informations sur ce qui est actuellement monté dans DBFS.

Pour afficher l’aide de cette commande, exécutez dbutils.fs.help("mounts").

Python

dbutils.fs.mounts()

Scala

dbutils.fs.mounts()

Pour obtenir des exemples de code supplémentaires, consultez Accès au stockage Azure Data Lake Storage Gen2 et au Stockage Blob.

commande mv (dbutils.fs.mv)

Déplace un fichier ou un répertoire, éventuellement sur plusieurs systèmes de fichiers. Un déplacement est une copie suivie d’une suppression, même pour les déplacements dans des systèmes de fichiers.

Pour afficher l’aide de cette commande, exécutez dbutils.fs.help("mv").

Dans cet exemple, le fichier nommé my_file.txt est déplacé de /FileStore vers /tmp/parent/child/granchild.

Python

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

# Out[2]: True

R

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

# [1] TRUE

Scala

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

// res1: Boolean = true

commande put (dbutils.fs.put)

Écrit la chaîne spécifiée dans un fichier. La chaîne est encodée en UTF-8.

Pour afficher l’aide de cette commande, exécutez dbutils.fs.help("put").

Cet exemple écrit la chaîne Hello, Databricks! dans le fichier nommé hello_db.txt dans /tmp. Si le fichier existe déjà, il sera remplacé.

Python

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

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

R

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

# [1] TRUE

Scala

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

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

commande refreshMounts (dbutils.fs.refreshMounts)

Force tous les ordinateurs du cluster à actualiser leur cache de montage, en veillant à ce qu’ils reçoivent les informations les plus récentes.

Pour afficher l’aide de cette commande, exécutez dbutils.fs.help("refreshMounts").

Python

dbutils.fs.refreshMounts()

Scala

dbutils.fs.refreshMounts()

Pour obtenir des exemples de code supplémentaires, consultez Accès au stockage Azure Data Lake Storage Gen2 et au Stockage Blob.

commande rm (dbutils.fs.rm)

Déplace un fichier ou un répertoire.

Pour afficher l’aide de cette commande, exécutez dbutils.fs.help("rm").

Cet exemple supprime le fichier nommé hello_db.txt dans /tmp.

Python

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

# Out[8]: True

R

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

# [1] TRUE

Scala

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

// res6: Boolean = true

commande unmount (dbutils.fs.unmount)

Supprime un point de montage DBFS.

Pour afficher l’aide de cette commande, exécutez dbutils.fs.help("unmount").

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

Pour obtenir des exemples de code supplémentaires, consultez Accès au stockage Azure Data Lake Storage Gen2 et au Stockage Blob.

commande updateMount (dbutils.fs.updateMount)

Semblable à la commande dbutils.fs.mount, mais met à jour un point de montage existant au lieu d’en créer un nouveau. Retourne une erreur si le point de montage n’est pas présent.

Pour afficher l’aide de cette commande, exécutez dbutils.fs.help("updateMount").

Cette fonctionnalité est disponible sur Databricks Runtime 10.2 et versions ultérieures.

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>")))

Utilitaire travaux (dbutils.jobs)

Sous-utilitaires : taskValues

Notes

Disponible dans Databricks Runtime 7.3 et ultérieur.

Cet utilitaire est disponible uniquement pour Python.

L’utilitaire de travaux vous permet de tirer parti des fonctionnalités de travaux. Pour afficher l’aide de cet utilitaire, exécutez dbutils.jobs.help().

Provides utilities for leveraging jobs features.

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

Sous-utilitaire taskValues (dbutils.jobs.taskValues)

Commandes : get, set

Notes

Disponible dans Databricks Runtime 7.3 et ultérieur.

Ce sous-utilitaire est disponible uniquement pour Python.

Fournit des commandes pour tirer parti des valeurs de tâche d’un travail.

Utilisez ce sous-utilitaire pour définir et obtenir des valeurs arbitraires pendant l’exécution d’un travail. Ces valeurs sont appelées valeurs de tâche. Vous pouvez accéder aux valeurs de tâche dans les tâches en aval dans la même exécution de travail. Par exemple, vous pouvez communiquer des identificateurs ou des métriques, comme des informations sur l’évaluation d’un modèle Machine Learning, entre différentes tâches lors de l’exécution d’un travail. Chaque tâche peut définir plusieurs valeurs de tâche, les obtenir ou les deux. Chaque valeur de tâche a une clé unique au sein de la même tâche. Cette clé unique est appelée clé de la valeur de tâche. Une valeur de tâche est accessible avec le nom de la tâche et la clé de la valeur de tâche.

Pour afficher l’aide de ce sous-utilitaire, exécutez dbutils.jobs.taskValues.help().

commande get (dbutils.jobs.taskValues.get)

Notes

Disponibles dans Databricks Runtime 7.3 et versions supérieures.

Cette commande est disponible uniquement pour Python.

Dans Databricks Runtime 10.4 et versions antérieures, si get ne parvient pas à trouver la tâche, une erreur Py4JJavaError est déclenchée au lieu d’une erreur ValueError.

Obtient le contenu de la valeur de tâche spécifiée pour la tâche spécifiée dans l’exécution du travail en cours.

Pour afficher l’aide de cette commande, exécutez dbutils.jobs.taskValues.help("get").

Par exemple :

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

Dans l’exemple précédent :

  • taskKey est le nom de la tâche dans le travail. Si la commande ne parvient pas à trouver cette tâche, une erreur ValueError est déclenchée.
  • key est le nom de la clé de la valeur de tâche que vous définissez avec la commande set (dbutils.jobs.taskValues.set). Si la commande ne parvient pas à trouver la clé de la valeur de cette tâche, une erreur ValueError est déclenchée (sauf si la valeur default est spécifiée).
  • default est une valeur facultative retournée si key est introuvable. default ne peut pas avoir la valeur None.
  • debugValue est une valeur facultative retournée si vous essayez d’obtenir la valeur de tâche à partir d’un notebook qui s’exécute en dehors d’un travail. Cela peut être utile lors du débogage lorsque vous souhaitez exécuter votre notebook manuellement et retourner une valeur au lieu de déclencher une erreur TypeError par défaut. debugValue ne peut pas avoir la valeur None.

Si vous essayez d’obtenir une valeur de tâche à partir d’un notebook qui s’exécute en dehors d’un travail, cette commande déclenche une erreur TypeError par défaut. Toutefois, si l’argument debugValue est spécifié dans la commande, la valeur de debugValue est retournée au lieu de déclencher une erreur TypeError.

commande set (dbutils.jobs.taskValues.set)

Notes

Disponibles dans Databricks Runtime 7.3 et versions supérieures.

Cette commande est disponible uniquement pour Python.

Définit ou met à jour une valeur de tâche. Vous pouvez définir jusqu’à 250 valeurs de tâches pour l’exécution d’un travail.

Pour afficher l’aide de cette commande, exécutez dbutils.jobs.taskValues.help("set").

Voici quelques exemples :

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

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

Dans les exemples précédents :

  • key est le nom de la clé de valeur de cette tâche. Ce nom doit être unique au travail.
  • value est la valeur pour la clé de valeur de cette tâche. Cette commande doit être en mesure de représenter la valeur en interne au format JSON. La taille de la représentation JSON de la valeur ne peut pas dépasser 48 Kio.

Si vous essayez de définir une valeur de tâche à partir d’un notebook qui s’exécute en dehors d’un travail, cette commande n’exécute aucune action.

Utilitaire de bibliothèque (dbutils.library)

Notes

L’utilitaire de bibliothèque est déconseillé.

Commandes: install, installPyPI, List, restartPython, updateCondaEnv

L'utilitaire de bibliothèque vous permet d'installer des bibliothèques Python et de créer un environnement adapté à une session de notebook. Les bibliothèques sont disponibles sur le pilote et sur les exécuteurs, ce qui vous permet de les référencer dans les fonctions définies par l’utilisateur. Cela présente les avantages suivants :

  • Dépendances de bibliothèque d’un bloc-notes à organiser dans le bloc-notes.
  • Utilisateurs du Notebook avec différentes dépendances de bibliothèque pour partager un cluster sans interférence.

Le détachement d’un bloc-notes détruit cet environnement. Toutefois, vous pouvez le recréer en réexécutant les commandes de l’API de bibliothèque install dans le bloc-notes. Consultez l' API restartPython pour savoir comment réinitialiser l’état de votre Notebook sans perdre votre environnement.

Important

Les utilitaires de bibliothèque ne sont pas disponibles sur Databricks Runtime ML ou Databricks Runtime pour Genomics. Consultez plutôt Bibliothèques Python délimitées à un notebook.

Pour les Databricks Runtime 7,2 et versions ultérieures, Databricks recommande l’utilisation de commandes Magic %pip pour installer des bibliothèques à portée de bloc-notes. Consultez Bibliothèques Python délimitées à un notebook.

Les utilitaires de bibliothèque sont activés par défaut. Par conséquent, par défaut, l'environnement Python de chaque notebook est isolé en utilisant un exécutable Python distinct qui est créé lorsque le notebook est rattaché au cluster et hérite de l'environnement Python par défaut. Les bibliothèques installées par un script init dans l'environnement Python d'Azure Databricks sont toujours disponibles. Vous pouvez désactiver cette fonctionnalité en affectant spark.databricks.libraryIsolation.enabled à false.

Cette API est compatible avec l’installation existante de la bibliothèque à l’ensemble du cluster par le biais de l'interface utilisateur et de l'API REST. Les bibliothèques installées par le biais de cette API ont une priorité plus élevée que les bibliothèques à l’ensemble du cluster.

Pour répertorier les commandes disponibles, exécutez dbutils.library.help().

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

commande d’installation (dbutils.library.install)

À partir d’un chemin d’accès à une bibliothèque, installe cette bibliothèque dans la session du bloc-notes active. Les bibliothèques installées en appelant cette commande sont uniquement disponibles pour le bloc-notes actuel.

Pour afficher l’aide de cette commande, exécutez dbutils.library.help("install").

Cet exemple installe une bibliothèque .egg ou .whl dans un bloc-notes.

Important

dbutils.library.install est supprimé dans Databricks Runtime 11.0 et versions ultérieures.

Databricks vous recommande de placer toutes les commandes d’installation de votre bibliothèque dans la première cellule de votre bloc-notes et d’appeler restartPython à la fin de cette cellule. L’état du Notebook Python est réinitialisé après l’exécution restartPython ; le bloc-notes perd tout l’état, y compris mais non limité aux variables locales, aux bibliothèques importées et aux autres États éphémères. Par conséquent, nous vous recommandons d’installer les bibliothèques et de réinitialiser l’état du Notebook dans la première cellule du bloc-notes.

Les sources de bibliothèque acceptées sont dbfs , abfss, adl , et wasbs.

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

Notes

Vous pouvez installer directement des fichiers de roulette personnalisés à l’aide de %pip. Dans l’exemple suivant, nous supposons que vous avez chargé votre fichier de roulette de bibliothèque sur DBFS :

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

Les fichiers Egg ne sont pas pris en charge par PIP, et Wheel est considéré comme la norme pour la génération et l’empaquetage binaire pour Python. Pour plus d’informations, consultez la rubrique Wheel vs Egg . Toutefois, si vous souhaitez utiliser un fichier Egg d’une manière compatible avec %pip, vous pouvez utiliser la solution de contournement suivante :

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

commande installPyPI (dbutils.library.installPyPI)

À partir d’un package d’index de package Python (PyPI), installez ce package dans la session du bloc-notes active. Les bibliothèques installées en appelant cette commande sont isolées parmi les blocs-notes.

Pour afficher l’aide de cette commande, exécutez dbutils.library.help("installPyPI").

Cet exemple installe un package PyPI dans un bloc-notes. version, repo et extras sont facultatifs. Utilisez l'argument extras pour spécifier la Fonctionnalité Extras (exigences supplémentaires).

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

Important

dbutils.library.installPyPI est supprimé dans Databricks Runtime 11.0 et versions ultérieures.

Les clés version et extras ne peuvent pas faire partie de la chaîne de package PyPI. Par exemple, dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0") est incorrect. Utilisez les arguments version et extras pour spécifier la version et les informations supplémentaires comme suit :

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

Notes

Lors du remplacement de commandes dbutils.library.installPyPI par des commandes %pip, l’interpréteur Python est redémarré automatiquement. Vous pouvez exécuter la commande d’installation comme suit :

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

Cet exemple spécifie les spécifications de bibliothèque dans un bloc-notes et les installe à l’aide de %run dans l’autre. Pour ce faire, commencez par définir les bibliothèques à installer dans un Notebook. Cet exemple utilise un bloc-notes nommé InstallDependencies.

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

Ensuite, installez-les dans le bloc-notes qui a besoin de ces dépendances.

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

Cet exemple réinitialise l’état du Notebook python tout en conservant l’environnement. Cette technique est disponible uniquement dans les blocs-notes Python. Par exemple, vous pouvez utiliser cette technique pour recharger des bibliothèques Azure Databricks préinstallé avec une version différente :

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

Vous pouvez également utiliser cette technique pour installer des bibliothèques, telles que tensorflow, qui doivent être chargées au démarrage du processus :

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

commande list (dbutils.library.list)

Répertorie les bibliothèques isolées ajoutées pour la session actuelle du bloc-notes par le biais de l’utilitaire de bibliothèque. Cela n’inclut pas les bibliothèques attachées au cluster.

Pour afficher l’aide de cette commande, exécutez dbutils.library.help("list").

Cet exemple répertorie les bibliothèques installées dans un bloc-notes.

dbutils.library.list()

Notes

L’équivalent de cette commande à l’aide de %pip est :

%pip freeze

commande restartPython (dbutils.library.restartPython)

Redémarre le processus Python pour la session actuelle du bloc-notes.

Pour afficher l’aide de cette commande, exécutez dbutils.library.help("restartPython").

Cet exemple redémarre le processus Python pour la session actuelle du bloc-notes.

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

updateCondaEnv commande (dbutils.library.updateCondaEnv)

Met à jour l’environnement Conda du bloc-notes actuel en fonction du contenu de environment.yml. Cette méthode est prise en charge uniquement pour les Databricks Runtime sur Conda.

Pour afficher l’aide de cette commande, exécutez dbutils.library.help("updateCondaEnv").

Cet exemple met à jour l’environnement Conda du bloc-notes actuel en fonction du contenu de la spécification fournie.

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

Utilitaire de bloc-notes (dbutils.notebook)

Commandes: quitter, exécuter

L’utilitaire Notebook vous permet de chaîner des blocs-notes et d’agir sur leurs résultats. Consultez Exécuter un notebook Databricks à partir d’un autre notebook.

Pour répertorier les commandes disponibles, exécutez dbutils.notebook.help().

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

commande exit (dbutils.notebook.exit)

Quitte un notebook avec une valeur.

Pour afficher l’aide de cette commande, exécutez dbutils.notebook.help("exit").

Cet exemple quitte le bloc-notes avec la valeur Exiting from My Other Notebook.

Python

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

# Notebook exited: Exiting from My Other Notebook

R

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

# Notebook exited: Exiting from My Other Notebook

Scala

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

// Notebook exited: Exiting from My Other Notebook

Notes

Si l’exécution a une requête avec un flux structuré en cours d’exécution en arrière-plan, l’appel dbutils.notebook.exit() n’arrête pas l’exécution. L’exécution continue à s’exécuter tant que la requête est en cours d’exécution en arrière-plan. Vous pouvez arrêter la requête en cours d’exécution en arrière-plan en cliquant sur Annuler dans la cellule de la requête ou en exécutant query.stop(). Lorsque la requête s’arrête, vous pouvez arrêter l’exécution avec dbutils.notebook.exit().

commande run (dbutils.notebook.run)

Exécute un notebook et renvoie sa valeur de sortie. Le bloc-notes s’exécutera dans le cluster actuel par défaut.

Notes

La longueur maximale de la valeur de chaîne renvoyée par la commande run est de 5 Mo. Consultez obtenir la sortie d’une seule exécution (GET /jobs/runs/get-output).

Pour afficher l’aide de cette commande, exécutez dbutils.notebook.help("run").

Cet exemple exécute un bloc-notes nommé My Other Notebook au même emplacement que le bloc-notes appelant. Le bloc-notes appelé se termine par la ligne de code dbutils.notebook.exit("Exiting from My Other Notebook"). Si l’exécution du bloc-notes appelé ne se termine pas dans les 60 secondes, une exception est levée.

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

Utilitaire de secrets (dbutils.secrets)

Commandes: get, getBytes, list, listScopes

L’utilitaire secrets vous permet de stocker et d’accéder à des informations d’identification sensibles sans les rendre visibles dans les blocs-notes. Consultez gestion des secrets et Utilisez les secrets dans un Notebook. Pour répertorier les commandes disponibles, exécutez dbutils.secrets.help().

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

commande get (dbutils.secrets.get)

Obtient la représentation sous forme de chaîne d’une valeur secrète pour la portée et la clé des secrets spécifiés.

Avertissement

Les administrateurs, les créateurs de secrets et les utilisateurs autorisés peuvent lire les secrets Azure Databricks. Même si Azure Databricks fait un effort pour supprimer les valeurs secrètes susceptibles d’être affichées dans des notebooks, il n’est pas possible d’empêcher ces utilisateurs de lire les secrets. Pour plus d’informations, consultez Suppression des secrets.

Pour afficher l’aide de cette commande, exécutez dbutils.secrets.help("get").

Cet exemple obtient la représentation sous forme de chaîne de la valeur secrète pour l’étendue nommée my-scope et la clé nommée my-key .

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]

commande getBytes (dbutils.secrets.getBytes)

Obtient la représentation sous forme de chaîne d’une valeur secrète pour la portée et la clé spécifiés.

Pour afficher l’aide de cette commande, exécutez dbutils.secrets.help("getBytes").

Cet exemple obtient la représentation sous forme d’octet de la valeur secrète (dans cet exemple, a1!b2@c3#) pour l’étendue nommée my-scope et la clé nommée my-key.

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)

commande list (dbutils.secrets.list)

Répertorie les métadonnées pour les secrets dans l’étendue spécifiée.

Pour afficher l’aide de cette commande, exécutez dbutils.secrets.help("list").

Cet exemple répertorie les métadonnées pour les secrets dans l’étendue nommée my-scope.

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))

commande listScopes (dbutils.secrets.listScopes)

Répertorie les étendues disponibles.

Pour afficher l’aide de cette commande, exécutez dbutils.secrets.help("listScopes").

Cet exemple répertorie les étendues disponibles.

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))

Utilitaire widgets (dbutils.widgets)

Commandes: combobox, dropdown, get, getArgument, multiselect, remove, removeAll, text

L’utilitaire widgets vous permet de paramétrer les blocs-notes. Consultez Widgets Databricks.

Pour répertorier les commandes disponibles, exécutez dbutils.widgets.help().

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

commande de zone de liste déroulante (dbutils.widgets.combobox)

Crée et affiche un widget de zone de liste déroulante avec le nom de programmation, la valeur par défaut, les choix et l’étiquette facultative spécifiés.

Pour afficher l’aide de cette commande, exécutez dbutils.widgets.help("combobox").

Cet exemple crée et affiche un widget de zone de liste déroulante avec le nom de programmation fruits_combobox. Elle offre les choix apple , banana , coconut et dragon fruit et la valeur initiale de banana. Ce widget de zone de liste déroulante a une étiquette Fruits associée. Cet exemple se termine en imprimant la valeur initiale du widget de zone de liste déroulante, banana.

Python

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

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

# banana

R

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

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

# [1] "banana"

Scala

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

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

// banana

commande dropdown (dbutils.widgets.dropdown)

Crée et affiche un widget de liste déroulante avec le nom programmatique spécifié, la valeur par défaut, les choix et l'étiquette facultative.

Pour afficher l’aide de cette commande, exécutez dbutils.widgets.help("dropdown").

Cet exemple crée et affiche un widget de zone de liste déroulante avec le nom de programmation toys_dropdown. Elle offre les choix alphabet blocks , basketball , cape et doll et la valeur initiale de basketball. Ce widget de liste déroulante a une étiquette Toys qui l’accompagne. Cet exemple se termine en imprimant la valeur initiale du widget de zone de liste déroulante, basketball.

Python

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

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

# basketball

R

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

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

# [1] "basketball"

Scala

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

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

// basketball

commande get (dbutils.widgets.get)

Obtient la valeur actuelle du widget avec le nom de programmation spécifié. Ce nom de programmation peut être :

  • Nom d’un widget personnalisé dans le bloc-notes, par exemple fruits_combobox ou toys_dropdown.
  • Nom d’un paramètre personnalisé passé au bloc-notes dans le cadre d’une tâche de bloc-notes, par exemple name ou age. Pour plus d’informations, consultez la couverture des paramètres pour les tâches du bloc-notes dans l’interface utilisateur créer un travail ou le notebook_params champ de l’opération déclencher une nouvelle exécution de travail (POST /jobs/run-now) dans l’API tâches.

Pour afficher l’aide de cette commande, exécutez dbutils.widgets.help("get").

Cet exemple obtient la valeur du widget qui a le nom fruits_combobox de programmation.

Python

dbutils.widgets.get('fruits_combobox')

# banana

R

dbutils.widgets.get('fruits_combobox')

# [1] "banana"

Scala

dbutils.widgets.get("fruits_combobox")

// res6: String = banana

Cet exemple obtient la valeur du paramètre de tâche Notebook qui a le nom age de programmation. Ce paramètre a été défini sur lors de 35 l’exécution de la tâche du bloc-notes associée.

Python

dbutils.widgets.get('age')

# 35

R

dbutils.widgets.get('age')

# [1] "35"

Scala

dbutils.widgets.get("age")

// res6: String = 35

commande getArgument (dbutils.widgets.getArgument)

Obtient la valeur actuelle du widget avec le nom de programmation spécifié. Si le widget n’existe pas, un message facultatif peut être retourné.

Notes

Cette commande est déconseillée. Utilisez dbutils.widgets.get à la place.

Pour afficher l’aide de cette commande, exécutez dbutils.widgets.help("getArgument").

Cet exemple obtient la valeur du widget qui a le nom fruits_combobox de programmation. Si ce widget n’existe pas, le message Error: Cannot find fruits combobox est retourné.

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

commande multiselect (dbutils.widgets.multiselect)

Crée et affiche un widget multisélection avec le nom programmatique, la valeur par défaut, les choix et l'étiquette facultative spécifiés.

Pour afficher l’aide de cette commande, exécutez dbutils.widgets.help("multiselect").

Cet exemple crée et affiche un widget multi-sélection avec le nom de programmation days_multiselect. Cela offre les choix Monday à Sunday et est réglé sur la valeur initiale de Tuesday. Ce widget multiselect a une étiquette Days of the Week qui l’accompagne. Cet exemple se termine par l'impression de la valeur initiale du widget multiselect, Tuesday.

Python

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

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

# Tuesday

R

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

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

# [1] "Tuesday"

Scala

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

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

// Tuesday

commande remove (dbutils.widgets.remove)

Supprime le widget avec le nom de programmation spécifié.

Pour afficher l’aide de cette commande, exécutez dbutils.widgets.help("remove").

Important

Si vous ajoutez une commande pour supprimer un widget, vous ne pouvez pas ajouter une commande suivante pour créer un widget dans la même cellule. Vous devez créer le widget dans une autre cellule.

Cet exemple supprime le widget avec le nom fruits_combobox de programmation.

Python

dbutils.widgets.remove('fruits_combobox')

R

dbutils.widgets.remove('fruits_combobox')

Scala

dbutils.widgets.remove("fruits_combobox")

commande removeAll (dbutils.widgets.removeAll)

Supprime tous les widgets du bloc-notes.

Pour afficher l’aide de cette commande, exécutez dbutils.widgets.help("removeAll").

Important

Si vous ajoutez une commande pour supprimer tous les widgets, vous ne pouvez pas ajouter une commande ultérieure pour créer des widgets dans la même cellule. Vous devez créer le widget dans une autre cellule.

Cet exemple supprime tous les widgets du bloc-notes.

Python

dbutils.widgets.removeAll()

R

dbutils.widgets.removeAll()

Scala

dbutils.widgets.removeAll()

commande text (dbutils.widgets.text)

Crée et affiche un widget texte avec le nom programmatique spécifié, la valeur par défaut et l'étiquette facultative.

Pour afficher l’aide de cette commande, exécutez dbutils.widgets.help("text").

Cet exemple crée et affiche un widget de texte avec le nom de programme your_name_text. Elle est définie sur la valeur initiale de Enter your name. Ce widget de texte a une étiquette Your name qui l’accompagne. Cet exemple se termine par l'impression de la valeur initiale du widget texte, Enter your name.

Python

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

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

# Enter your name

R

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

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

# [1] "Enter your name"

Scala

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

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

// Enter your name

Bibliothèque d’API Databricks Utilities

Pour accélérer le développement d’applications, il peut être utile de compiler, de générer et de tester des applications avant de les déployer en tant que tâches de production. Pour vous permettre de compiler les utilitaires Databricks, Databricks fournit la bibliothèque dbutils-api. Vous pouvez télécharger la bibliothèque dbutils-api à partir de la page Web de l'API DBUtils sur le site Web du référentiel Maven ou inclure la bibliothèque en ajoutant une dépendance à votre fichier de construction :

  • 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'
    

Remplacez TARGET par la cible souhaitée (par exemple 2.12) et VERSION par la version souhaitée (par exemple 0.0.5). Pour obtenir la liste des cibles et des versions disponibles, consultez la page Web de l'API DBUtils sur le site Web du référentiel Maven.

Une fois que vous avez créé votre application sur cette bibliothèque, vous pouvez déployer l’application.

Important

La bibliothèque dbutils-api vous permet de compiler localement une application qui utilise dbutils, mais pas de l'exécuter. Pour exécuter l’application, vous devez la déployer dans Azure Databricks.

Limites

L’appel dbutils à l’intérieur des exécuteurs peut produire des résultats inattendus ou entraîner des erreurs.

Si vous devez exécuter des opérations de système de fichiers sur des exécuteurs à l’aide de dbutils, plusieurs solutions plus rapides et plus évolutives sont disponibles :

Pour plus d’informations sur les exécuteurs, consultez vue d’ensemble du mode cluster sur le site Web Apache Spark.