Partager via


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 de scripts init globaux et définis au niveau 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.

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 des bibliothèques JVM entraînera un comportement imprévisible et pourra cesser de fonctionner avec les futures versions des pipelines déclaratifs Lakeflow Spark. 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.