Megosztás a következőn keresztül:


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:

  1. A %pip install paranccsal telepíthet csomagokat a folyamat összes forrásfájlja számára.
  2. 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.