Aller au contenu principal

Gérer les dépendances Python pour les pipelines

Les Lakeflow pipelines prennent 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 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 de code source stocké dans les fichiers du workspace. Consultez Importer des modules Python à partir de dossiers Git ou de fichiers Workspace.

Les pipelines qui utilisent le compute classique prennent également en charge les scripts d'initialisation à l'échelle du cluster. Les LakeFlow Pipelines Serverless ne prennent pas en charge les scripts d’initialisation. Dans tous les cas, Databricks vous recommande d’utiliser les paramètres d’ Environnement plutôt que les scripts d’initialisation, car les dépendances externes, en particulier les scripts d’initialisation, augmentent le risque de problèmes liés aux mises à niveau du runtime. Si votre traitement nécessite des scripts d'initialisation, automatisez le test de votre pipeline pour détecter les problèmes rapidement, et 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 d'initialisation pour installer les bibliothèques JVM. Cependant, vous pouvez installer d’autres types de bibliothèques, tels que des bibliothèques Python, avec un script d’initialisation.

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 Pipeline environment , sélectionnez Icône de crayon. Modifier l'environnement .
  3. Cliquez sur Icône Plus. Ajouter une dépendance .
  4. Saisissez le nom de la dépendance. Databricks recommande d’épingler la version de la bibliothèque. Par exemple, pour ajouter une dépendance à simplejson version 3.19, tapez simplejson==3.19.*.

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

remarque

Les pipelines ne prennent pas en charge le redémarrage manuel du processus Python avec dbutils.library.restartPython(). Déclarez toutes les dépendances Python via les paramètres Environnement plutôt que de les installer ou de les recharger à l'exécution. L'utilisation des paramètres Environnement permet également aux pipelines de réutiliser les bibliothèques mises en cache entre les exécutions au lieu de les réinstaller à chaque exécution.

Version de l'environnement

Par défaut, la version du langage Python et l'ensemble de bibliothèques préinstallées disponibles pour votre pipeline proviennent de la version actuelle du Canal de distribution Databricks Runtime. Consultez les notes de version des LakeFlow Pipelines et le processus de mise à niveau de la version pour les versions actuelles et les listes de packages par runtime.

info

Bêta

Cette fonctionnalité est en Bêta. Les administrateurs du Workspace peuvent contrôler l'accès à cette fonctionnalité à partir de la page Previews . Consultez Gérer les aperçus Databricks.

Pour pin la version du langage Python et l'ensemble de bibliothèques préinstallées indépendamment des mises à niveau de Databricks Runtime, configurez une version d'environnement sur le pipeline. Lorsqu'une version d'environnement est définie, les mises à niveau de Databricks Runtime ne modifient pas votre version du langage Python ni les versions des bibliothèques préinstallées, et toutes les dépendances externes que vous ajoutez via les paramètres de l'**Environnement** se superposent à cette base. Consultez Configurer les versions d'environnement pour les pipelines.

Prise en charge des bibliothèques Scala et Java

Non, les pipelines prennent en charge uniquement SQL et Python. Vous ne pouvez pas utiliser de bibliothèques JVM dans un pipeline. L'installation des bibliothèques JVM entraîne un comportement imprévisible et pourrait entraîner des dysfonctionnements avec les futures versions des Lakeflow pipelines. Si votre pipeline utilise un script d'initialisation, vous devez également vous assurer que les bibliothèques JVM ne sont pas installées par le script.