Hantera Python-beroenden för DLT-pipelines
DLT stöder externa beroenden i dina pipelines. Databricks rekommenderar att du använder ett av två mönster för att installera Python-paket:
- Använd kommandot
%pip install
för att installera paket för alla källfiler i en pipeline. - Importera moduler eller bibliotek från källkod som lagras i arbetsytefiler. Se Importera Python-moduler från Git-mappar eller arbetsytefiler.
DLT stöder också användning av globala och klusteromfattande init-skript. Dessa externa beroenden, särskilt init-skript, ökar dock risken för problem med körningsuppgraderingar. Minimera användningen av init-skript i dina pipelines för att minimera dessa risker. Om bearbetningen kräver init-skript kan du automatisera testningen av din pipeline för att upptäcka problem tidigt. Om du använder init-skript rekommenderar Databricks att du ökar testfrekvensen.
Viktig
Eftersom JVM-bibliotek inte stöds i DLT-pipelines ska du inte använda ett init-skript för att installera JVM-bibliotek. Du kan dock installera andra bibliotekstyper, till exempel Python-bibliotek, med ett init-skript.
Python-bibliotek
Om du vill ange externa Python-bibliotek använder du kommandot %pip install
magic. När en uppdatering startar kör DLT alla celler som innehåller ett %pip install
kommando innan du kör tabelldefinitioner. Varje Python-notebook-fil som ingår i pipelinen delar en biblioteksmiljö och har åtkomst till alla installerade bibliotek.
Viktig
-
%pip install
-kommandon måste finnas i en separat cell högst upp i din DLT-pipeline-anteckningsbok. Ta inte med någon annan kod i celler som innehåller%pip install
kommandon. - Eftersom varje notebook-fil i en pipeline delar en biblioteksmiljö kan du inte definiera olika biblioteksversioner i en enda pipeline. Om bearbetningen kräver olika biblioteksversioner måste du definiera dem i olika pipelines.
I följande exempel installeras numpy
-biblioteket och gör det tillgängligt globalt för alla Python-anteckningsböcker i pipelinen.
%pip install simplejson
Om du vill installera ett Python-hjulpaket lägger du till Python-hjulsökvägen i kommandot %pip install
. Installerade Python-hjulpaket är tillgängliga för alla tabeller i pipelinen. I följande exempel installeras en Python-hjulfil med namnet dltfns-1.0-py3-none-any.whl
från en Unity Catalog-volym:
%pip install /Volumes/my_catalog/my_schema/my_dlt_volume/dltfns-1.0-py3-none-any.whl
Se Installera ett Python-hjulpaket med %pip
.
Kan jag använda Scala- eller Java-bibliotek i en DLT-pipeline?
Nej, DLT stöder endast SQL och Python. Du kan inte använda JVM-bibliotek i en pipeline. Installation av JVM-bibliotek orsakar oförutsägbart beteende och kan brytas med framtida DLT-versioner. Om din pipeline använder ett init-skript måste du också se till att JVM-bibliotek inte installeras av skriptet.