Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Létrehozhat Python folyamat forráskódját az előnyben részesített integrált fejlesztési környezetben (IDE), futtathatja helyileg tesztelésre, majd ellenőrizheti, üzembe helyezheti és futtathatja a frissítéseket a Azure Databricks munkaterületen anélkül, hogy elhagyná a helyi környezetet.
A Lakeflow-folyamatok az Apache Spark™ deklaratív folyamatainak szuperhalmazai. A csak Apache Spark Deklaratív folyamatok API-kat használó kód helyileg és Azure Databricks is fut, de a Lakeflow-folyamatokra egyedi funkciókat, például AUTO CDC és elvárásokat használó kód csak Azure Databricks fut. A funkcióbeli különbségekért tekintse meg a Lakeflow-folyamatok Python nyelvi referenciát.
A Azure Databricks munkaterület interaktív fejlesztéséhez és teszteléséhez használja a Lakeflow Pipelines-szerkesztőt. Lásd : ETL-folyamatok fejlesztése és hibakeresése a Lakeflow Pipelines-szerkesztővel.
Folyamatkód írása IDE-támogatással
Írjon pipeline-kódot a pyspark.pipelines modul használatával, amelyet dp néven importált.
from pyspark import pipelines as dp
Mivel a modul az Apache Spark része, az IDE szintaxis-ellenőrzést, automatikus kiegészítést és típusellenőrzést biztosít írás közben. Az Apache Spark Deklaratív folyamatok kódja általában módosítás nélkül fut a Azure Databricks. Ugyanazt az importálási parancsot egy Lakeflow-folyamatban futtatva importálja a Azure Databricks verziójátpipelines. A teljes Lakeflow-folyamatok Python hivatkozásért lásd a Lakeflow-folyamatok Python nyelvi referenciát.
Külön transzformációs logika helyi teszteléshez
A leghatékonyabb módja annak, hogy a pipeline kódot helyben teszteljük, ha a transzformációs logikát egyszerű PySpark függvényekben tartod, külön a dp dekorátoroktól. Egy olyan függvény, amely egy DataFrame-et vesz és visszaad egy DataFrame-t, nem függ a Lakeflow pipelines futási idejétől, így egységtesztelheted pytest vele a helyi gépeden, akárcsak bármely más Apache Spark kód. Tartsák vékonyan a díszített függvényeket, hogy importálják a logikát és így nevezzék:
# transformations/clean.py — pure PySpark, unit-testable on its own
def clean_orders(df):
return df.filter("quantity > 0").withColumn("amount_usd", df.amount.cast("double"))
# pipeline file — a thin dp wrapper that imports and calls the logic
from pyspark import pipelines as dp
from transformations.clean import clean_orders
@dp.table(name="orders_silver")
def orders_silver():
return clean_orders(spark.readStream.table("orders_bronze"))
A megosztott logikát csomagolhatod kerékként, hogy újrahasznosítsd a pipeline-ok között. Az egységtesztek írásának és futtatásának teljes áttekintéséért lásd: Unit testing for pipelines.
Folyamatok helyben történő futtatása teszteléshez
A folyamatokat helyben is futtathatja a kód fejlesztéséhez és teszteléséhez, mielőtt azokat az Azure Databricksben futtatná. A parancssori spark-pipelines felületen inicializálhat, érvényesíthet és futtathat egy folyamatot a helyi Apache Spark használatával. Tekintse meg a Spark Deklaratív folyamatok programozási útmutatóját az Apache Spark dokumentációjában.
Egy teljes csővezeték három kiegészítő tesztelési réteget használ, amelyek közül kettőt helyben is alkalmazhatsz:
-
Egységtesztek az átalakítási logikához,
pytesthasználatával, a fent leírt egyszerű PySpark-függvényeken futtatva. Ezek nem igényelnek vezeték-futásidőt. Lásd a adatfeldolgozási folyamatok egységtesztelését. -
A pipeline gráf, a forráskód és az adatkészlet-hivatkozások ellenőrzése (próbafuttatás) a(z)
spark-pipelineshelyi, illetve a(z)databricks pipelines dry-runa munkaterület ellen történő használatával — adatírás nélkül. - Várakozások, amelyek minden futás minden sorában értékelik az adatminőségi szabályokat. Mivel ezek a Lakeflow pipelines futási idejű funkciói, csak Azure Databricks-en futnak, nem helyben. Lásd Az adatminőség kezelése folyamatelvárásokkal.
Nem futtathat és nem tesztelhet olyan funkciókat, amelyek helyileg a Lakeflow-folyamatokra vonatkoznak. Ez magában foglalja az elvárásokat és a AUTO CDC funkciókat.
Folyamatok futtatása az Azure Databricksben a helyi környezetéből
A parancscsoport használatával közvetlenül a databricks pipelines terminálból ellenőrizheti, helyezheti üzembe és futtathatja a folyamatfrissítéseket a munkaterületen:
databricks pipelines init # scaffold a pipeline project
databricks pipelines dry-run # validate the pipeline graph without publishing data
databricks pipelines deploy # deploy the project to your workspace
databricks pipelines run # run an update
A folyamatfrissítések a Azure Databricks munkaterületen futnak, nem a helyi gépen, a folyamathoz konfigurált számítással. Ezek a parancsok együttműködnek a Deklaratív Automation Bundles bundle parancsokkal, így egy egyszerű projekttel kezdhet, és a növekedés közben csomagkonfigurációt és CI/CD-eljárásokat alkalmazhat. A parancssori felület telepítéséhez és konfigurálásához lásd : A Databricks parancssori felület telepítése vagy frissítése. A teljes parancshivatkozásért tekintse meg pipelines a parancscsoportot. Részletes útmutató: Folyamatok fejlesztése deklaratív automation-kötegekkel.
Folyamatkód szinkronizálása az IDE-ből egy munkaterületre
Az alábbi táblázat összefoglalja a folyamat forráskódjának a helyi IDE és egy Azure Databricks munkaterület közötti szinkronizálásának lehetőségeit:
| Eszköz vagy minta | Részletek |
|---|---|
Databricks CLI (pipelines parancscsoport) |
databricks pipelines A parancsokkal üzembe helyezhet és futtathat egy folyamatprojektet a helyi környezetből. Lásd apipelines parancscsoportot. |
| Deklaratív automatizálási csomagok | A Deklaratív Automation-csomagok használatával összetett folyamategységeket helyezhet üzembe egyetlen forráskódfájltól kezdve több folyamat, feladat és forráskódfájl konfigurációiig. Lásd : Folyamat átalakítása csomagprojektté. |
| Databricks IDE kiterjesztés | Azure Databricks integrációt biztosít a Visual Studio Code, amely magában foglalja a helyi IDE és a munkaterület fájljai közötti egyszerű szinkronizálást. Ez a bővítmény eszközöket is biztosít a deklaratív automatizálási csomagok használatához a folyamat-eszközök üzembe helyezésére. Lásd Databricks IDE kiterjesztést. |
| Munkaterület fájljai | A Databricks-munkaterület fájljaival feltöltheti a folyamat forráskódját a Databricks-munkaterületre, majd importálhatja a kódot egy folyamatba. Lásd: Mik azok a munkaterületfájlok?. |
| Git-mappák | A Git-mappák lehetővé teszik a kód szinkronizálását a helyi környezet és Azure Databricks munkaterület között egy Git-adattár használatával közvetítőként. Lásd: Azure Databricks Git-mappák. |