Gérer les dépendances Python pour les pipelines

Lakeflow Spark Declarative Pipelines prend en charge les dépendances externes dans vos pipelines. Databricks recommande d’utiliser l’un des deux modèles pour installer des packages Python :

  1. Utilisez les paramètres d’environnement pour ajouter des packages à l’environnement de pipeline pour tous les fichiers sources d’un pipeline.
  2. Importez des modules ou des bibliothèques à partir du code source stocké dans des fichiers d’espace de travail. Consultez Importer des modules Python à partir de dossiers Git ou de fichiers d’espace de travail.

Les pipelines prennent également en charge l’utilisation des scripts d’initialisation à l’échelle du cluster. Toutefois, ces dépendances externes, en particulier les scripts d’initialisation, augmentent le risque de problèmes liés aux mises à niveau du runtime. Pour atténuer ces risques, réduisez l’utilisation de scripts d’initialisation dans vos pipelines. Si votre traitement nécessite des scripts init, automatisez le test de votre pipeline pour détecter les problèmes au début. Si vous utilisez des scripts d’initialisation, Databricks recommande d’augmenter votre fréquence de test.

Important

Étant donné que les bibliothèques JVM ne sont pas prises en charge dans les pipelines, n’utilisez pas de script init pour installer des bibliothèques JVM. Toutefois, vous pouvez installer d’autres types de bibliothèques, tels que des bibliothèques Python, avec un script init.

Bibliothèques Python

Pour spécifier des bibliothèques Python externes, modifiez l’environnement de votre pipeline.

  1. Dans l’éditeur de pipeline, cliquez sur Paramètres.
  2. Sous Environnement de pipeline, sélectionnez l’icône Crayon.Modifier l’environnement.
  3. Cliquez sur l’icône Plus.Ajouter une dépendance.
  4. Tapez le nom de la dépendance. Databricks recommande de verrouiller la version de la bibliothèque. Par exemple, pour ajouter une dépendance à la simplejson version 3.19, tapez simplejson==3.19.*.

Vous pouvez également installer un package de roue Python à partir d’un volume de catalogue Unity, en spécifiant son chemin, tel que /Volumes/my_catalog/my_schema/my_ldp_volume/ldpfns-1.0-py3-none-any.whl.

Version de l’environnement

Par défaut, la version du langage Python et le jeu de bibliothèques préinstallés disponibles pour votre pipeline proviennent de la version actuelle du canal Databricks Runtime. Consultez les notes de publication des pipelines déclaratifs Spark Lakeflow et la procédure de mise à niveau de version pour connaître les versions actuelles et les listes de packages pour chaque environnement d’exécution.

Important

Cette fonctionnalité est en version bêta. Les administrateurs d’espace de travail peuvent contrôler l’accès à cette fonctionnalité à partir de la page Aperçus . Consultez Gérer les préversions d’Azure Databricks.

Pour fixer la version du langage Python et l’ensemble des bibliothèques préinstallées indépendamment des mises à niveau de Databricks Runtime, configurez une version d’environnement pour le pipeline. Bien qu'une version d'environnement soit définie, les mises à niveau de Databricks Runtime ne modifient pas votre version de langage Python ou les versions de bibliothèque préinstallées, et toutes les dépendances externes que vous ajoutez via les paramètres Environment sont superposés sur cette base. Consultez Configurer les versions d’environnement pour les pipelines.

Puis-je utiliser des bibliothèques Scala ou Java dans des pipelines ?

Non, les pipelines prennent uniquement en charge SQL et Python. Vous ne pouvez pas utiliser les bibliothèques JVM dans un pipeline. L’installation de bibliothèques JVM entraîne un comportement imprévisible et risque de ne plus fonctionner avec les futures versions de Lakeflow Spark Declarative Pipelines. Si votre pipeline utilise un script init, vous devez également vous assurer que les bibliothèques JVM ne sont pas installées par le script.