Python-afhankelijkheden voor Delta Live Tables-pijplijnen beheren
Delta Live Tables ondersteunt externe afhankelijkheden in uw pijplijnen. Databricks raadt aan om een van de twee patronen te gebruiken om Python-pakketten te installeren:
- Gebruik de
%pip install
opdracht 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.
Delta Live Tables biedt ook ondersteuning voor het gebruik van init-scripts met globale en clusterbereiken. 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 Delta Live Tables-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
Gebruik de %pip install
magic-opdracht om externe Python-bibliotheken op te geven. Wanneer een update wordt gestart, worden in Delta Live Tables alle cellen met een %pip install
opdracht uitgevoerd 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 boven aan uw Delta Live Tables-pijplijnnotebook bevinden. Neem geen andere code op in cellen die opdrachten bevatten%pip install
.- 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 %pip install
opdracht. 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
uit de DBFS-map /dbfs/dlt/
geïnstalleerd:
%pip install /dbfs/dlt/dltfns-1.0-py3-none-any.whl
Zie Een Python-wielpakket installeren met %pip.
Kan ik Scala- of Java-bibliotheken gebruiken in een Delta Live Tables-pijplijn?
Nee, Delta Live Tables 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 releases van Delta Live Tables. Als uw pijplijn een init-script gebruikt, moet u er ook voor zorgen dat JVM-bibliotheken niet door het script worden geïnstalleerd.