Bibliothèques

Pour mettre du code de tiers ou du code personnalisé à la disposition de notebooks et de travaux en cours d’exécution sur vos clusters, vous pouvez installer une bibliothèque. Les bibliothèques peuvent être écrites en Python, Java, Scala et R. Vous pouvez charger des bibliothèques Java, Scala et Python et pointer vers des packages externes dans des référentiels PyPI, Maven et CRAN.

Cet article se concentre sur l’exécution des tâches de bibliothèque dans l’interface utilisateur de l’espace de travail. Vous pouvez aussi gérer les bibliothèques avec l’interface CLI Bibliothèquesou l’API Bibliothèques 2.0.

Conseil

Azure Databricks comprend de nombreuses bibliothèques courantes dans Databricks Runtime. Pour voir quelles bibliothèques sont comprises dans Databricks Runtime, consultez la sous-section Environnement système des notes de publication de Databricks Runtime pour votre version de Databricks Runtime.

Important

Azure Databricks n’appelle pas de fonctions Python atexit une fois le traitement de votre notebook ou travail terminé. Si vous utilisez une bibliothèque Python qui inscrit des descripteurs atexit, vous devez vous assurer que votre code appelle les fonctions requises avant de quitter.

L’installation de Python Egg est dépréciée et sera supprimée dans une prochaine version de Databricks Runtime. Utilisez des wheels Python ou des packages à partir de PyPI à la place.

Notes

Le support Microsoft aide à isoler et résoudre les problèmes liés aux bibliothèques installées et gérées par Azure Databricks. Pour les composants tiers, dont les bibliothèques, Microsoft offre un support raisonnable du point de vue commercial pour vous aider à mieux résoudre les problèmes. Le support Microsoft met tout en œuvre pour vous aider à résoudre le problème. Pour les connecteurs open source et les projets hébergés sur GitHub, nous vous recommandons de consigner les problèmes sur GitHub et de les suivre. Les efforts de développement, tels que la trame de fichiers jar ou la création de bibliothèques Python, ne sont pas pris en charge par le biais du processus d’envoi de cas de support standard : ils demandent une implication consultative pour une résolution plus rapide. Le support peut vous inviter à faire appel à d’autres canaux qui offrent une expertise reconnue dans ces technologies open source. Il existe plusieurs sites communautaires. La page Microsoft Q&A pour Azure Databricks et Stack Overflow en sont deux exemples.

Vous pouvez installer les bibliothèques dans un des trois modes suivants : espace de travail, installé sur un cluster et délimité au notebook.

  • Les bibliothèques d’espace de travail servent de référentiel local à partir duquel vous créez des bibliothèques installées sur le cluster. Une bibliothèque d’espace de travail peut être du code personnalisé créé par votre organisation ou une version particulière d’une bibliothèque open source que votre organisation utilise comme standard.
  • Les bibliothèques de cluster peuvent être utilisées par tous les notebooks s’exécutant sur un cluster. Vous pouvez installer une bibliothèque de cluster directement à partir d’un référentiel public, comme PyPI ou Maven, ou en créer une à partir d’une bibliothèque d’espace de travail déjà installée.
  • Les bibliothèques délimitées au notebook, disponibles pour Python et R, vous permettent d’installer des bibliothèques et de créer un environnement délimité à une session de notebook. Ces bibliothèques n’affectent pas les autres notebooks s’exécutant sur le même cluster. Les bibliothèques délimitées au notebook ne sont pas persistantes et doivent être réinstallées pour chaque session. Utilisez des bibliothèques délimitées au notebook quand vous avez besoin d’un environnement personnalisé pour un notebook spécifique.

Cette section couvre les points suivants :

Gestion de l’environnement Python

Le tableau suivant fournit une vue d’ensemble des options que vous pouvez utiliser pour installer des bibliothèques Python dans Azure Databricks.

Notes

  • Les conteneurs personnalisés qui utilisent un environnement Conda ne sont compatibles ni avec les bibliothèques étendues à des notebooks dans Databricks Runtime 9.0 et versions ultérieures, ni avec les bibliothèques de cluster dans Databricks Runtime 10.1 et versions ultérieures. Au lieu de cela, Azure Databricks recommande d’installer des bibliothèques directement dans l’image, ou d’utiliser des scripts init. Pour continuer à utiliser des bibliothèques de cluster dans ces scénarios, vous pouvez définir la configuration Sparkspark.databricks.driverNfs.clusterWidePythonLibsEnabled sur false. La prise en charge de la configuration Spark sera supprimée le 31 décembre 2021 ou ultérieurement.
  • Les bibliothèques délimitées à un notebook utilisant des commandes magiques sont activées par défaut dans Databricks Runtime 7.1 et ultérieur, Databricks Runtime 7.1 ML et ultérieur, ainsi que Databricks Runtime 7.1 pour Genomics et ultérieur. Elles sont également disponibles via un paramètre de configuration dans Databricks Runtime 6.4 ML à 7.0 ML et Databricks Runtime 6.4 pour Genomics à Databricks Runtime 7.0 pour Genomics. Pour plus d’informations, consultez Configuration requise.
  • Les bibliothèques délimitées aux notebooks avec l’utilitaire de bibliothèque sont dépréciés et seront supprimés dans une prochaine version de Databricks Runtime. Elles ne sont pas disponibles sur Databricks Runtime ML ni sur Databricks Runtime pour Genomics.
Source de package Python Bibliothèques délimitées à un notebook avec %pip Bibliothèques délimitées aux notebooks avec l’utilitaire de bibliothèque Bibliothèques de cluster Bibliothèques de travaux avec l’API Jobs
PyPI Utiliser %pip install. Consultez l’exemple. Utilisez dbutils.library.installPyPI. Sélectionnez PyPI comme source. Ajoutez un nouvel objet pypi aux bibliothèques de travaux et spécifiez le champ package.
Miroir PyPI privé, comme Nexus ou Artifactory Utilisez %pip install avec l’option --index-url. La gestion des secrets est disponible. Consultez l’exemple. Utilisez dbutils.library.installPyPI et spécifiez l’argument repo. Non pris en charge. Non pris en charge.
VCS, comme GitHub, avec source brute Utilisez %pip install et spécifiez l’URL du référentiel comme nom du package. Consultez l’exemple. Non pris en charge. Sélectionnez PyPI comme source et spécifiez l’URL du référentiel comme nom du package. Ajoutez un nouvel objet pypi aux bibliothèques de travaux et spécifiez l’URL du référentiel comme champ package.
VCS privé avec source brute Utilisez %pip install et spécifiez l’URL du référentiel avec une authentification de base comme nom du package. La gestion des secrets est disponible. Consultez l’exemple. Non pris en charge. Non pris en charge. Non pris en charge.
DBFS Utiliser %pip install. Consultez l’exemple. Utilisez dbutils.library.install(dbfs_path). Sélectionnez DBFS comme source. Ajoutez un nouvel objet egg ou whl aux bibliothèques de travaux et spécifiez le chemin DBFS comme champ package.