Utilitaire de bibliothèque (dbutils.library) (hérité)
dbutils.library.install et les APIs dbutils.library.installPyPI sont supprimées dans Databricks Runtime 11.0 et versions ultérieures. La plupart des commandes utilitaires de bibliothèque sont obsolètes. La plupart des utilitaires de bibliothèque ne sont pas disponibles sur Databricks Runtime ML. Pour plus d'informations sur dbutils.library.restartPython, consultez Redémarrer le processus Python sur Databricks.
Cette documentation a été retirée et pourrait ne pas être mise à jour. Les produits, services ou technologies mentionnés dans ce contenu ne sont plus pris en charge.
Databricks recommande fortement d'utiliser les commandes magiques %pip pour installer des bibliothèques de notebook délimitées. Voir bibliothèques Python délimitées par un Notebook.
Pour la documentation complète sur la fonctionnalité des utilitaires Databricks, consultez la référence des utilitaires Databricks (dbutils).
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 délimité à une session de Notebook. Les bibliothèques sont disponibles à la fois sur le driver et sur les exécuteurs, vous pouvez donc les référencer dans des fonctions définies par l'utilisateur. Ceci active :
- Les dépendances des bibliothèques d'un notebook sont à organiser au sein même du notebook.
- Utilisateurs de Notebook avec différentes dépendances de bibliothèque pour partager un cluster sans interférence.
La dissociation d’un Notebook détruit cet environnement. Toutefois, vous pouvez le recréer en réexécutant les commandes API de la bibliothèque install dans le Notebook. Consultez l’API restartPython pour savoir comment vous pouvez Reset l’état de votre Notebook sans perdre votre environnement.
Les fonctionnalités utilitaires des bibliothèques sont activées par default. Par conséquent, par default, l'environnement Python de chaque Notebook est isolé en utilisant un exécutable Python distinct créé lorsque le Notebook est attaché et hérite de l'environnement Python par default sur le cluster. Les bibliothèques installées via un script d'initialisation dans l'environnement Python de Databricks sont toujours disponibles. Vous pouvez désactiver cette fonctionnalité en définissant spark.databricks.libraryIsolation.enabled sur false.
Cette API est compatible avec l'installation de bibliothèque existante à l'échelle du cluster via l'interface utilisateur et l'API des bibliothèques. Les bibliothèques installées via cette API ont une priorité plus élevée que les bibliothèques à l'échelle du cluster.
Pour lister 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)
Étant donné un chemin d'accès à une bibliothèque, installe cette bibliothèque dans la session Notebook actuelle. Les bibliothèques installées en appelant cette commande sont disponibles uniquement pour le Notebook actuel.
Pour afficher l'aide pour cette commande, exécutez dbutils.library.help("install").
Cet exemple installe une bibliothèque .egg ou .whl dans un Notebook.
dbutils.library.install est supprimé dans Databricks Runtime 11.0 et versions ultérieures.
Databricks recommande de placer toutes vos commandes d'installation de bibliothèque dans la première cellule de votre Notebook et d'appeler restartPython à la fin de cette cellule. L'état du Notebook Python est réinitialisé après l'exécution de restartPython; le Notebook perd tout son état, y compris, mais sans s'y limiter, les variables locales, les bibliothèques importées et les autres états éphémères. Par conséquent, nous vous recommandons d'installer les bibliothèques et de Reset l'état du Notebook dans la première cellule du Notebook.
Les sources de bibliothèque acceptées sont dbfs et s3.
dbutils.library.install("dbfs:/path/to/your/library.egg")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
dbutils.library.install("dbfs:/path/to/your/library.whl")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
Vous pouvez installer directement des fichiers wheel personnalisés à l'aide de %pip. Dans l'exemple suivant, nous supposons que vous avez upload votre fichier wheel de bibliothèque vers DBFS :
%pip install /dbfs/path/to/your/library.whl
Les fichiers Egg ne sont pas pris en charge par pip, et les fichiers wheel sont considérés comme la norme pour le packaging de build et binaire pour Python. Cependant, 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)
Étant donné un package Python Package Index (PyPI), installez ce package au sein de la session de notebook actuelle. Les bibliothèques installées en appelant cette commande sont isolées entre les notebooks.
Pour afficher l'aide pour cette commande, exécutez dbutils.library.help("installPyPI").
Cet exemple installe un package PyPI dans un notebook. 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.
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") n'est pas valide. 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.
Lorsque des commandes dbutils.library.installPyPI sont remplacées par des commandes %pip, l'interpréteur Python est automatiquement redémarré. Vous pouvez exécuter la commande d'installation comme suit :
%pip install azureml-sdk[databricks]==1.19.0
Cet exemple spécifie les exigences de la bibliothèque dans un notebook et les installe en utilisant %run dans l'autre. Pour ce faire, définissez d'abord les bibliothèques à installer dans un notebook. Cet exemple utilise un Notebook 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.
Installez-les ensuite dans le Notebook 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 Notebooks Python. Par exemple, vous pouvez utiliser cette technique pour recharger les bibliothèques préinstallées par Databricks 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 process start up :
dbutils.library.installPyPI("tensorflow")
dbutils.library.restartPython()
# Use the library in another cell.
import tensorflow
commande `list` (dbutils.library.list)
Liste les bibliothèques isolées ajoutées pour la session de Notebook actuelle via l'utilitaire de bibliothèque. Cela n'inclut pas les bibliothèques qui sont attachées au cluster.
Pour afficher l'aide pour cette commande, exécutez dbutils.library.help("list").
Cet exemple répertorie les bibliothèques installées dans un notebook.
dbutils.library.list()
L'équivalent de cette commande en utilisant %pip est :
%pip freeze
commande updateCondaEnv (dbutils.library.updateCondaEnv)
Met à jour l'environnement Conda du Notebook actuel en fonction du contenu de environment.yml. Cette méthode est prise en charge uniquement pour Databricks Runtime sur Conda.
Pour afficher l'aide pour cette commande, exécutez dbutils.library.help("updateCondaEnv").
Cet exemple met à jour l'environnement Conda du notebook actuel en fonction du contenu de la spécification fournie.
dbutils.library.updateCondaEnv(
"""
channels:
- anaconda
dependencies:
- gensim=3.4
- nltk=3.4
""")