Aller au contenu principal

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 :

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.

important

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.

important

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.

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.

remarque

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

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.

remarque

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

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

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é.

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.

remarque

Les fichiers JAR ne peuvent pas être installés au niveau du Notebook.

important

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 propres au notebook avec %pip

Bibliothèques limitées au Notebook avec fichier YAML d'environnement de base

Bibliothèques limitées au compute

bibliothèques de tâches avec API Jobs

PyPI

Utilisez %pip install. Voir l'exemple.

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 pypi aux bibliothèques de Job et spécifiez le champ package.

Miroir PyPI privé, tel que Nexus ou Artifactory

Utilisez %pip install avec l'option --index-url. La gestion des secrets est disponible. Voir l'exemple.

Ajoutez le -–index-url à un fichier YAML d'environnement de base. La gestion des secrets est disponible. Voir l'exemple.

Non pris en charge.

Non pris en charge.

VCS, tel que GitHub, avec la source brute

Utilisez %pip install et spécifiez l'URL du repository comme nom du package. Voir l'exemple.

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 pypi aux bibliothèques de Job et spécifiez l'URL du repository comme champ package.

VCS privé avec source brute

Utilisez %pip install et spécifiez l'URL du repository avec l'authentification de base comme nom du package. La gestion des secrets est disponible. Voir l'exemple.

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 %pip install. Voir l'exemple.

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 egg ou whl aux bibliothèques de jobs et spécifiez le chemin d'accès au fichier comme champ package.

S3

Utilisez %pip install conjointement avec une URL pré-signée. Les chemins avec le protocole S3 s3:// ne sont pas pris en charge.

Ajoutez une URL pré-signée comme nom de package à un fichier YAML d'environnement de base. Les chemins avec le protocole S3 s3:// ne sont pas pris en charge.

Sélectionnez Chemin du fichier/S3 comme source.

Ajoutez un nouvel objet egg ou whl aux bibliothèques de Job et spécifiez le chemin S3 comme champ package.

Source du package Python

Bibliothèques propres au notebook avec %pip

Bibliothèques limitées au Notebook avec fichier YAML d'environnement de base

Bibliothèques limitées au compute

bibliothèques de tâches avec API Jobs

PyPI

Utilisez %pip install. Voir l'exemple.

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 pypi aux bibliothèques de Job et spécifiez le champ package.

Miroir PyPI privé, tel que Nexus ou Artifactory

Utilisez %pip install avec l'option --index-url. La gestion des secrets est disponible. Voir l'exemple.

Ajoutez le -–index-url à un fichier YAML d'environnement de base. La gestion des secrets est disponible. Voir l'exemple.

Non pris en charge.

Non pris en charge.

VCS, tel que GitHub, avec la source brute

Utilisez %pip install et spécifiez l'URL du repository comme nom du package. Voir l'exemple.

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 pypi aux bibliothèques de Job et spécifiez l'URL du repository comme champ package.

VCS privé avec source brute

Utilisez %pip install et spécifiez l'URL du repository avec l'authentification de base comme nom du package. La gestion des secrets est disponible. Voir l'exemple.

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 %pip install. Voir l'exemple.

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 egg ou whl aux bibliothèques de jobs et spécifiez le chemin d'accès au fichier comme champ package.

S3

Utilisez %pip install conjointement avec une URL pré-signée. Les chemins avec le protocole S3 s3:// ne sont pas pris en charge.

Ajoutez une URL pré-signée comme nom de package à un fichier YAML d'environnement de base. Les chemins avec le protocole S3 s3:// ne sont pas pris en charge.

Sélectionnez Chemin du fichier/S3 comme source.

Ajoutez un nouvel objet egg ou whl aux bibliothèques de Job et spécifiez le chemin S3 comme champ package.

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.

important

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.

  1. Bibliothèques dans le répertoire de travail actuel (Dossiers Git uniquement).

  2. Bibliothèques dans le répertoire racine du dossier Git (dossiers Git uniquement).

  3. Bibliothèques étendues au Notebook (%pip install dans les Notebooks).

  4. Bibliothèques à l'échelle du compute (à l'aide de l'interface utilisateur, de la CLI ou de l'API).

  5. 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.
  6. Bibliothèques dans le répertoire de travail actuel (pas dans les dossiers Git).

  7. Fichiers Workspace ajoutés au sys.path.