Gérer les dépendances Python pour les pipelines Delta Live Tables
Delta Live Tables 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 :
- Utilisez la
%pip install
commande pour installer des packages pour tous les fichiers sources dans un pipeline. - 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.
Delta Live Tables prend également en charge l’utilisation de scripts d’initialisation globaux et étendus au 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 d'initialisation, automatisez les tests de votre pipeline afin de détecter rapidement les problèmes. Si vous utilisez des scripts d’initialisation, Databricks recommande d’augmenter votre fréquence de test.
Important
Étant donné que bibliothèques JVM ne sont pas prises en charge dans les pipelines Delta Live Tables, 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, utilisez la commande magic %pip install
. Lorsqu’une mise à jour démarre, Delta Live Tables exécute toutes les cellules contenant une commande %pip install
avant d’exécuter des définitions de table. Chaque cahier Python inclus dans le pipeline partage un environnement de bibliothèque et a accès à toutes les bibliothèques installées.
Important
- Les commandes
%pip install
doivent se trouver dans une cellule distincte au-dessus du notebook de votre pipeline Delta Live Tables. N’ajoutez aucun autre code dans les cellules contenant des commandes%pip install
. - Étant donné que chaque notebook d’un pipeline partage un environnement de bibliothèque, vous ne pouvez pas définir différentes versions de bibliothèque dans un seul pipeline. Si votre traitement nécessite différentes versions de bibliothèque, vous devez les définir dans différents pipelines.
L’exemple suivant installe la bibliothèque numpy
et la rend accessible globalement à tout notebook Python dans le pipeline :
%pip install simplejson
Pour installer un paquet Wheel Python, ajoutez le chemin d’accès du Wheel Python à la commande %pip install
. Les packages de roue Python installés sont disponibles pour toutes les tables du pipeline. L’exemple suivant installe un fichier de roue Python nommé dltfns-1.0-py3-none-any.whl
depuis le répertoire DBFS /dbfs/dlt/
:
%pip install /dbfs/dlt/dltfns-1.0-py3-none-any.whl
Consultez Installer un paquet Wheel de Python avec %pip.
Puis-je utiliser des bibliothèques Scala ou Java dans un pipeline Delta Live Tables ?
Non, Delta Live Tables prend 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îne un comportement imprévisible et peut s’interrompre avec les futures versions des tables dynamiques Delta. 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.