Installer des bibliothèques à partir d’un référentiel de packages

Azure Databricks fournit des outils pour installer des bibliothèques à partir de référentiels de packages PyPI, Maven et CRAN. Pour obtenir des détails complets sur la compatibilité des bibliothèques, consultez Bibliothèques à l’échelle d’un cluster.

Important

Vous pouvez également installer les bibliothèques à partir de DBFS lors de l’utilisation de Databricks Runtime 14.3 LTS et versions antérieures. Toutefois, tout utilisateur de l’espace de travail peut modifier les bibliothèques de codes stockées dans DBFS. Pour améliorer la sécurité des bibliothèques dans un espace de travail Azure Databricks, le stockage des bibliothèques de codes dans la racine DBFS est déconseillé et désactivé par défaut dans Databricks Runtime 15.0 et versions ultérieures. Consultez Le stockage des bibliothèques dans la racine DBFS est déconseillé et désactivé par défaut.

Au lieu de cela, Databricks recommande de charger toutes les bibliothèques, notamment les bibliothèques Python, les fichiers JAR et les connecteurs Spark, dans des fichiers d’espace de travail ou des volumes de catalogue Unity, ou à l’aide de référentiels de package de bibliothèque. 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 d’objets cloud.

Package Pypi

  1. Dans la liste du bouton Source de la bibliothèque, sélectionnez PyPI.

  2. Entrez un nom de package PyPI. Pour installer une version spécifique d’une bibliothèque, utilisez ce format pour la bibliothèque : <library>==<version>. Par exemple : scikit-learn==0.19.1.

    Notes

    Pour les travaux, Databricks vous recommande de spécifier une version de bibliothèque pour garantir un environnement reproductible. Si la version de la bibliothèque n’est pas entièrement spécifiée, Databricks utilise la dernière version correspondante. Cela signifie que différentes exécutions d’un même travail peuvent utiliser des versions de bibliothèque différentes à mesure que de nouvelles versions sont publiées. La spécification de la version de la bibliothèque empêche les modifications nouvelles et cassantes dans les bibliothèques de briser vos travaux.

  3. Dans le champ URL d’index, entrez une URL d’index PyPI (Facultatif).

  4. Cliquez sur Installer.

Package Maven ou Spark

Important

Pour installer des bibliothèques Maven sur le calcul configuré avec le mode d’accès partagé, vous devez ajouter les coordonnées à la liste d'autorisation. Consultez Bibliothèques de listes d’autorisation et scripts d’initialisation sur le calcul partagé.

Important

Pour DBR 14.3 LTS et antérieur, Databricks utilise Apache Ivy 2.4.0 pour résoudre les packages Maven. Pour DBR 15.0 et ultérieur, Databricks utilise Ivy 2.5.1 ou ultérieur, et la version Ivy spécifique est listée dans Notes de publication de Databricks Runtime – Versions et compatibilité.

L’ordre d’installation des packages Maven peut affecter l’arborescence des dépendances finale, ce qui peut avoir un impact sur l’ordre dans lequel les bibliothèques sont chargées.

  1. Dans la liste de boutons Source de la bibliothèque, sélectionnez Maven.

  2. Spécifiez une coordonnée Maven. Effectuez l’une des opérations suivantes :

    • Dans le champ Coordonnée, entrez la coordonnée Maven de la bibliothèque à installer. Les coordonnées Maven se présentent sous la forme groupId:artifactId:version ; par exemple, com.databricks:spark-avro_2.10:1.0.0.
    • Si vous ne connaissez pas la coordonnée exacte, entrez le nom de la bibliothèque et cliquez sur Rechercher des packages. Une liste des packages correspondants s’affiche. Pour afficher les détails d’un package, cliquez sur son nom. Vous pouvez trier les packages par nom, organisation et évaluation. Vous pouvez également filtrer les résultats en écrivant une requête dans la barre de recherche. Les résultats s’actualisent automatiquement.
      1. Sélectionnez Maven Central ou Packages Spark dans la liste déroulante en haut à gauche.
      2. Si vous le souhaitez, sélectionnez la version du package dans la colonne Versions.
      3. Cliquez sur + Sélectionner à côté d’un package. Le champ Coordonnée est renseigné avec le package et la version sélectionnés.
  3. (Facultatif) Dans le champ Référentiel, entrez une URL de référentiel Maven.

    Remarque

    Les référentiels Maven internes ne sont pas pris en charge.

  4. Dans le champ Exclusions, fournissez en option le groupId et le artifactId des dépendances que vous souhaitez exclure (par exemple, log4j:log4j).

    Remarque

    Maven fonctionne à l’aide de la version la plus proche de la racine, et dans le cas de deux packages recherchant des versions avec différentes dépendances, l’ordre importe, de sorte qu’il peut échouer lorsque le package avec une dépendance plus ancienne est chargé en premier.

    Pour contourner ce problème, excluez la bibliothèque en conflit. Par exemple, lors de l’installation du package avec la coordonnée com.microsoft.azure:azure-eventhubs-spark_2.12:2.3.22, définissez le champ Exclusions sur com.nimbusds:oauth2-oidc-sdk:RELEASE pour que la dernière version de eventhubs de MSAL4J soit chargée et que la dépendance eventhubs soit satisfaite.

  5. Cliquez sur Installer.

Package CRAN

  1. Dans la liste de boutons Source de la bibliothèque, sélectionnez CRAN.
  2. Dans le champ Package, entrez le nom du package.
  3. (Facultatif) Dans le champ Référentiel, entrez une URL de référentiel CRAN.
  4. Cliquez sur Installer.

Remarque

Les miroirs CRAN proposent la version la plus récente d’une bibliothèque. Par conséquent, vous pouvez vous retrouver avec différentes versions d’un package R si vous attachez la bibliothèque à différents clusters à différents moments. Pour savoir comment gérer et corriger les versions de packages R sur Databricks, consultez la base de connaissances.