Python-függőségek kezelése DLT-folyamatokhoz
A DLT támogatja a folyamatok külső függőségeit. A Databricks két minta egyikét javasolja a Python-csomagok telepítéséhez:
- A
%pip install
paranccsal telepíthet csomagokat a folyamat összes forrásfájlja számára. - Modulok vagy kódtárak importálása a munkaterület fájljaiban tárolt forráskódból. Lásd: Python-modulok importálása Git-mappákból vagy munkaterületfájlokból.
A DLT támogatja a globális és fürt hatókörű indító szkriptekhasználatát is. Ezek a külső függőségek, különösen az init szkriptek azonban növelik a futtatókörnyezet frissítésével kapcsolatos problémák kockázatát. A kockázatok csökkentése érdekében minimalizálja az init-szkriptek használatát a folyamatokban. Ha a feldolgozás init szkripteket igényel, automatizálja a folyamat tesztelését a problémák korai észleléséhez. Init-szkriptek használata esetén a Databricks javasolja a tesztelés gyakoriságának növelését.
Fontos
Mivel JVM-kódtárak nem támogatottak a DLT-folyamatokban, ne használjon init-szkriptet a JVM-kódtárak telepítéséhez. Azonban más kódtártípusokat, például Python-kódtárakat is telepíthet init-szkripttel.
Python-könyvtárak
Külső Python-kódtárak megadásához használja a %pip install
magic parancsot. A frissítés indításakor a DLT a tábladefiníciók futtatása előtt futtatja a %pip install
parancsot tartalmazó összes cellát. A folyamat minden Python-jegyzetfüzete közös könyvtárkörnyezetet használ, és hozzáfér minden telepített könyvtárhoz.
Fontos
-
%pip install
parancsnak egy külön cellában kell lennie a DLT-folyamatjegyzetfüzet tetején. Ne tartalmazzon más kódot%pip install
parancsokat tartalmazó cellákban. - Mivel minden jegyzetfüzet egy pipeline-on belül osztozik a könyvtári környezeten, nem határozhat meg különböző könyvtárverziókat egyetlen pipeline-on belül. Ha a feldolgozáshoz eltérő kódtárverziókra van szükség, különböző folyamatokban kell definiálnia őket.
Az alábbi példa telepíti a numpy
kódtárat, és globálisan elérhetővé teszi a folyamat bármely Python-jegyzetfüzete számára:
%pip install simplejson
Python-kerékcsomag telepítéséhez adja hozzá a Python-kerék elérési útját a %pip install
parancshoz. A telepített Python wheel csomagok a pipeline összes táblája számára elérhetők. Az alábbi példa egy dltfns-1.0-py3-none-any.whl
nevű Python-kerekes fájlt telepít egy Unity Catalog-kötetből:
%pip install /Volumes/my_catalog/my_schema/my_dlt_volume/dltfns-1.0-py3-none-any.whl
Lásd: Python-kerékcsomag telepítése %pip
.
Használhatok Scala- vagy Java-kódtárakat egy DLT-folyamatban?
Nem, a DLT csak az SQL-t és a Pythont támogatja. A JVM-könyvtárak nem használhatók egy folyamatban. A JVM-kódtárak telepítése kiszámíthatatlan viselkedést okoz, és szakíthat a jövőbeli DLT-kiadásokkal. Ha a csővezeték init szkriptet használ, arról is gondoskodnia kell, hogy a JVM könyvtárak nincsenek telepítve a szkripttel.