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


Python-függőségek kezelése a Lakeflow deklaratív adatfolyamokhoz

A Lakeflow Deklaratív folyamatok támogatják 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 Lakeflow Deklaratív folyamatok globális és fürt hatókörű init-szkriptek használatát is támogatják. 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 a JVM-kódtárak nem támogatottak a Lakeflow Deklaratív folyamatokban, ne használjon init-szkriptet 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. Frissítés indításakor a Lakeflow Deklaratív Folyamatok a %pip install parancsot tartalmazó összes cellát futtatják, még mielőtt bármilyen tábladefiníciót futtatnának. 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 a jegyzetfüzet tetején egy külön cellában kell lennie. 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 a Lakeflow Deklaratív folyamatokban?

Nem, a Lakeflow Deklaratív folyamatok csak az SQL-t és a Pythont támogatják. A JVM-könyvtárak nem használhatók egy folyamatban. A JVM-könyvtárak telepítése kiszámíthatatlan viselkedést okozhat, és működésképtelenné válhat a jövőbeli Lakeflow Declarative Pipelines 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.