Delen via


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:

  1. Gebruik de opdracht %pip install om pakketten te installeren voor alle bronbestanden in een pijplijn.
  2. 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.