Python-afhankelijkheden voor DLT-pijplijnen beheren
DLT ondersteunt externe afhankelijkheden in uw pijplijnen. Databricks raadt aan om een van de twee patronen te gebruiken om Python-pakketten te installeren:
- Gebruik de opdracht
%pip install
om pakketten te installeren voor alle bronbestanden in een pijplijn. - Importeer modules of bibliotheken uit broncode die is opgeslagen in werkruimtebestanden. Zie Python-modules importeren uit Git-mappen of werkruimtebestanden.
DLT biedt ook ondersteuning voor het gebruik van globale en clustergerichte init-scripts. Deze externe afhankelijkheden, met name init-scripts, verhogen echter het risico op problemen met runtime-upgrades. Om deze risico's te beperken, minimaliseert u het gebruik van init-scripts in uw pijplijnen. Als uw verwerking init-scripts vereist, automatiseert u het testen van uw pijplijn om problemen vroeg te detecteren. Als u init-scripts gebruikt, raadt Databricks u aan uw testfrequentie te verhogen.
Belangrijk
Omdat JVM-bibliotheken niet worden ondersteund in DLT-pijplijnen, gebruikt u geen init-script om JVM-bibliotheken te installeren. U kunt echter andere bibliotheektypen, zoals Python-bibliotheken, installeren met een init-script.
Python-bibliotheken
Als u externe Python-bibliotheken wilt opgeven, gebruikt u de %pip install
magic-opdracht. Wanneer een update wordt gestart, voert DLT alle cellen met een %pip install
opdracht uit voordat u tabeldefinities uitvoert. Elk Python-notebook dat in de pijplijn is opgenomen, deelt een bibliotheekomgeving en heeft toegang tot alle geïnstalleerde bibliotheken.
Belangrijk
-
%pip install
opdrachten moeten zich in een afzonderlijke cel bovenaan het DLT-pijplijnnotitieboek bevinden. Neem geen andere code op in cellen met%pip install
opdrachten. - Omdat elk notebook in een pijplijn een bibliotheekomgeving deelt, kunt u geen verschillende bibliotheekversies definiëren in één pijplijn. Als voor uw verwerking verschillende bibliotheekversies zijn vereist, moet u deze definiëren in verschillende pijplijnen.
In het volgende voorbeeld wordt de numpy
-bibliotheek geïnstalleerd en wereldwijd beschikbaar gesteld voor elk Python-notebook in de pijplijn:
%pip install simplejson
Als u een Python-wielpakket wilt installeren, voegt u het Python-wielpad toe aan de opdracht %pip install
. Geïnstalleerde Python-wielpakketten zijn beschikbaar voor alle tabellen in de pijplijn. In het volgende voorbeeld wordt een Python-wielbestand met de naam dltfns-1.0-py3-none-any.whl
van een Unity Catalog-volume geïnstalleerd:
%pip install /Volumes/my_catalog/my_schema/my_dlt_volume/dltfns-1.0-py3-none-any.whl
Zie Een Python-wielpakket installeren met %pip
.
Kan ik Scala- of Java-bibliotheken gebruiken in een DLT-pijplijn?
Nee, DLT ondersteunt alleen SQL en Python. U kunt geen JVM-bibliotheken in een pijplijn gebruiken. Het installeren van JVM-bibliotheken veroorzaakt onvoorspelbaar gedrag en kan worden verbroken met toekomstige DLT-releases. Als uw pijplijn een init-script gebruikt, moet u er ook voor zorgen dat JVM-bibliotheken niet door het script worden geïnstalleerd.