Installer des bibliothèques
Pour rendre le code tiers ou personnalisé disponible pour les notebooks et les jobs s'exécutant sur vos ressources de compute, vous pouvez installer une bibliothèque. Les bibliothèques peuvent être écrites en Python, Java, Scala et R. Vous pouvez upload des bibliothèques Python, Java et Scala et pointer vers des packages externes dans les repositories PyPI, Maven et CRAN.
Databricks inclut de nombreuses bibliothèques courantes dans Databricks Runtime. Pour voir quelles bibliothèques sont incluses dans Databricks Runtime, consultez la sous-section Environnement système des notes de version de Databricks Runtime pour votre version de Databricks Runtime.
Bibliothèques limitées au compute
Vous pouvez installer des bibliothèques sur une ressource de compute afin qu'elles puissent être utilisées par tous les Notebooks et jobs s'exécutant sur le compute. Databricks prend en charge les bibliothèques Python, JAR, et R. Consultez les bibliothèques à l’échelle du compute.
Vous pouvez installer une bibliothèque propre au compute directement à partir des sources suivantes :
- Un package repository tel que PyPI, Maven ou CRAN
- Fichiers du workspace
- Unity Catalog volumes
- Un emplacement de stockage d’objets cloud
- Un chemin sur votre machine locale
Toutes les localisations ne sont pas prises en charge pour tous les types de bibliothèques ou toutes les configurations de compute. Consultez les Recommandations pour l'upload des bibliothèques pour les recommandations de configuration.
Les bibliothèques peuvent être installées à partir de DBFS lors de l’utilisation de Databricks Runtime 14.3 LTS et versions antérieures. Cependant, tout utilisateur de Workspace peut modifier les fichiers de bibliothèque stockés dans DBFS. Pour améliorer la sécurité des bibliothèques dans un Workspace Databricks, le stockage des fichiers de bibliothèque dans la racine DBFS est obsolète et désactivé par default dans Databricks Runtime 15.1 et versions ultérieures. Consultez Le stockage des bibliothèques dans la racine DBFS est déprécié et désactivé par default.
Au lieu de cela, Databricks recommande d’upload toutes les bibliothèques, y compris les bibliothèques Python, les fichiers JAR et les connecteurs Spark, dans les fichiers Workspace ou les volumes Unity Catalog, ou d’utiliser les repositories de packages de bibliothèques. Si votre charge de travail ne prend pas en charge ces modèles, vous pouvez également utiliser des bibliothèques stockées dans le stockage objet cloud.
Pour des informations complètes sur la prise en charge des bibliothèques, consultez la prise en charge de la bibliothèque Python, la prise en charge des bibliothèques Java et Scala et la prise en charge de la bibliothèque R.
Recommandations pour l'upload de bibliothèques
Databricks prend en charge la plupart des installations de configuration des bibliothèques Python, JAR et R, mais il existe certains scénarios non pris en charge. Il est recommandé d'upload les bibliothèques vers des emplacements sources qui prennent en charge l'installation sur le compute en mode d'accès standard (anciennement mode d'accès partagé), car il s'agit du mode recommandé pour toutes les charges de travail. Voir Modes d'accès. Lorsque vous planifiez des Jobs avec un mode d'accès standard, exécutez le Job avec un Service Principal.
N'utilisez le compute qu'avec le mode d'accès dédié (anciennement mode d'accès utilisateur unique) si la fonctionnalité requise n'est pas prise en charge par le mode d'accès standard. Le mode d'accès partagé sans isolation est une configuration héritée sur Databricks qui n'est pas recommandée.
Le tableau suivant fournit des recommandations organisées par version de Databricks Runtime et activation d’Unity Catalog.
Configuration | Recommandation |
|---|---|
Databricks Runtime 13.3 LTS et versions ultérieures avec Unity Catalog | Installez des bibliothèques sur un compute avec un mode d'accès standard à partir des volumes Unity Catalog avec l'autorisation GRANT READ pour les utilisateurs nécessaires. Le cas échéant, les coordonnées Maven et les chemins de bibliothèque JAR doivent être ajoutés à la liste d'autorisation. |
Databricks Runtime 11,3 LTS et supérieur sans Unity Catalog | Installez les bibliothèques à partir des fichiers du Workspace. (La taille maximale du fichier est de 500 Mo.) |
Databricks Runtime 10.4 LTS et versions antérieures | Installer des bibliothèques à partir du stockage d'objets cloud. |
Prise en charge des bibliothèques Python
Le tableau suivant indique la compatibilité des versions de Databricks Runtime pour les fichiers Python wheel pour différents modes d'accès au compute en fonction de l'emplacement de la source de la bibliothèque. Consultez les versions et la compatibilité des notes de version de Databricks Runtime et les Modes d'accès.
Dans Databricks Runtime 15.0 et versions ultérieures, vous pouvez utiliser des fichiers requirements.txt pour gérer vos dépendances Python. Ces fichiers peuvent être upload vers n'importe quel emplacement source pris en charge.
L'installation de fichiers egg Python n'est prise en charge que sur Databricks Runtime 13.3 LTS et versions inférieures, et uniquement pour les modes d'accès partagé dédiés ou sans isolation. En outre, vous ne pouvez pas installer de fichiers Python egg sur des volumes ou des fichiers de workspace. Utilisez des fichiers Python wheel ou installez des packages depuis PyPI à la place.
Mode d'accès standard | Mode d'accès dédié | Mode d'accès Pas d'isolement partagé (Hérité) | |
|---|---|---|---|
PyPI | 13.3 LTS et versions ultérieures | Toutes les versions de Databricks Runtime prises en charge | Toutes les versions de Databricks Runtime prises en charge |
Fichiers du workspace | 13.3 LTS et versions ultérieures | 13.3 LTS et versions ultérieures | 14,1 et supérieur |
Volumes | 13.3 LTS et versions ultérieures | 13.3 LTS et versions ultérieures | Non pris en charge |
Stockage cloud | 13.3 LTS et versions ultérieures | Toutes les versions de Databricks Runtime prises en charge | Toutes les versions de Databricks Runtime prises en charge |
DBFS (Non recommandé) | Non pris en charge | 14,3 et versions antérieures | 14,3 et versions antérieures |
Prise en charge des bibliothèques Java et Scala
Le tableau suivant indique la compatibilité des versions de Databricks Runtime pour les fichiers JAR pour différents modes d'accès au compute, selon l'emplacement de la source de la bibliothèque. Consultez les versions et la compatibilité des notes de version de Databricks Runtime et les Modes d'accès.
Pour plus de détails sur le déploiement des fichiers JAR Scala sur un cluster compatible Unity Catalog en mode d'accès standard, consultez Tutoriel : Exécuter du code Scala sur un compute serverless. Notez que sur les clusters standards Unity Catalog, les classes des bibliothèques JAR doivent être dans un package nommé, tel que com.databricks.MyClass, sans quoi des erreurs se produiront lors de l'importation de la bibliothèque.
Le mode d'accès Standard exige qu'un administrateur ajoute des coordonnées Maven et des chemins pour les bibliothèques JAR à un allowlist. Consultez Mettre les bibliothèques et les scripts d'initialisation sur liste d'autorisation sur le compute avec le mode d'accès standard (anciennement mode d'accès partagé).
Mode d'accès standard | Mode d'accès dédié | Mode d'accès Pas d'isolement partagé (Hérité) | |
|---|---|---|---|
Maven | 13.3 LTS et versions ultérieures | Toutes les versions de Databricks Runtime prises en charge | Toutes les versions de Databricks Runtime prises en charge |
Fichiers du workspace | Non pris en charge | Non pris en charge | 14,1 et supérieur |
Volumes | 13.3 LTS et versions ultérieures | 13.3 LTS et versions ultérieures | Non pris en charge |
Stockage cloud | 13.3 LTS et versions ultérieures | Toutes les versions de Databricks Runtime prises en charge | Toutes les versions de Databricks Runtime prises en charge |
DBFS (Non recommandé) | Non pris en charge | 14,3 et versions antérieures | 14,3 et versions antérieures |
Support de la bibliothèque R
Le tableau suivant indique la compatibilité des versions de Databricks Runtime pour les packages CRAN pour différents modes d'accès au compute. Consultez les versions et la compatibilité des notes de version de Databricks Runtime et les Modes d'accès.
Mode d'accès standard | Mode d'accès dédié | Mode d'accès Pas d'isolement partagé (Hérité) | |
|---|---|---|---|
CRAN | Non pris en charge | Toutes les versions de Databricks Runtime prises en charge | Toutes les versions de Databricks Runtime prises en charge |
Identité de l'installateur
Lorsque vous installez une bibliothèque à partir de fichiers de Workspace ou de volumes Unity Catalog, une identité peut être associée à l'installation en fonction du mode d'accès au compute. L'identité doit avoir un accès en lecture sur le fichier de la bibliothèque.
Mode d'accès standard | Mode d'accès dédié | Mode d'accès Pas d'isolement partagé (Hérité) |
|---|---|---|
L'identité de l'utilisateur qui installe la bibliothèque | L'identité du principal dédié | Aucune identité. |
Bibliothèques délimitées au notebook
Les bibliothèques limitées à un Notebook, disponibles pour Python et R, vous permettent d'installer des bibliothèques et de créer un environnement limité à une session de Notebook. Ces bibliothèques n'affectent pas les autres Notebooks s'exécutant sur le même compute. Les bibliothèques limitées à un Notebook ne persistent pas et doivent être réinstallées pour chaque session. Utilisez des bibliothèques limitées à un Notebook lorsque vous avez besoin d'un environnement personnalisé pour un Notebook spécifique.
Les fichiers JAR ne peuvent pas être installés au niveau du Notebook.
Les bibliothèques Workspace sont obsolètes et ne doivent pas être utilisées. Consultez les bibliothèques Workspace (héritées). Cependant, le stockage de bibliothèques en tant que fichiers Workspace est distinct des bibliothèques Workspace et est toujours entièrement pris en charge. Vous pouvez installer des bibliothèques stockées en tant que fichiers Workspace directement sur des tâches de compute ou de Job.
Gestion de l'environnement Python
Le tableau suivant fournit un aperçu des options que vous pouvez utiliser pour installer les bibliothèques Python dans Databricks.
Source du package Python | Bibliothèques limitées au Notebook avec fichier YAML d'environnement de base | |||
|---|---|---|---|---|
PyPI | Utilisez | Ajoutez un nom de package PyPI à un fichier YAML d'environnement de base. Voir l'exemple. | Sélectionnez PyPI comme source. | Ajoutez un nouvel objet |
Miroir PyPI privé, tel que Nexus ou Artifactory | Utilisez | Ajoutez le | Non pris en charge. | Non pris en charge. |
VCS, tel que GitHub, avec la source brute | Utilisez | Ajoutez une URL de repository en tant que nom de package à un fichier YAML d'environnement de base. Voir l'exemple. | Sélectionnez PyPI comme source et spécifiez l'URL du repository comme nom du package. | Ajoutez un nouvel objet |
VCS privé avec source brute | Utilisez | Ajoutez un repository avec une authentification basique en tant que nom de package à un fichier YAML d'environnement de base. Voir l'exemple. | Non pris en charge. | Non pris en charge. |
Chemin d'accès au fichier | Utilisez | Ajoutez un chemin de fichier en tant que nom de package à un fichier YAML d'environnement de base. Voir l'exemple. | Sélectionnez Chemin du fichier/S3 comme source. | Veuillez ajouter un nouvel objet |
S3 | Utilisez | Ajoutez une URL pré-signée comme nom de package à un fichier YAML d'environnement de base. Les chemins avec le protocole S3 | Sélectionnez Chemin du fichier/S3 comme source. | Ajoutez un nouvel objet |
Priorité des bibliothèques Python
Vous pourriez rencontrer une situation où vous devez remplacer la version d'une bibliothèque intégrée, ou avoir une bibliothèque personnalisée dont le nom est en conflit avec une autre bibliothèque installée sur la ressource de compute. Lorsque vous exécutez import <library>, la bibliothèque avec la précédence élevée est importée.
Les bibliothèques stockées dans les fichiers de workspace ont une précédence différente selon la façon dont elles sont ajoutées au sys.path Python. Un dossier Git Databricks ajoute le répertoire de travail actuel au chemin avant toutes les autres bibliothèques, tandis que les notebooks en dehors des dossiers Git ajoutent le répertoire de travail actuel après l'installation d'autres bibliothèques. Si vous ajoutez manuellement des répertoires de workspace à votre chemin, ceux-ci ont toujours la priorité la plus basse.
La liste suivante classe la priorité de la plus élevée à la plus basse. Dans cette liste, un nombre inférieur signifie une priorité plus élevée.
-
Bibliothèques dans le répertoire de travail actuel (Dossiers Git uniquement).
-
Bibliothèques dans le répertoire racine du dossier Git (dossiers Git uniquement).
-
Bibliothèques étendues au Notebook (
%pip installdans les Notebooks). -
Bibliothèques à l'échelle du compute (à l'aide de l'interface utilisateur, de la CLI ou de l'API).
-
Bibliothèques incluses dans Databricks Runtime.
- Les bibliothèques installées avec des scripts d'initialisation peuvent être résolues avant ou après les bibliothèques intégrées, selon la manière dont elles sont installées. Databricks ne recommande pas d'installer des bibliothèques avec des scripts d'initialisation.
-
Bibliothèques dans le répertoire de travail actuel (pas dans les dossiers Git).
-
Fichiers Workspace ajoutés au
sys.path.