Megosztás:


Lakeflow Spark deklaratív folyamatok fejlesztése Databricks-eszközcsomagokkal

A Databricks-eszközcsomagok, más néven csomagok lehetővé teszik az Azure Databricks-erőforrások, például a Lakeflow Spark Deklaratív folyamatok programozott érvényesítését, üzembe helyezését és futtatását. Lásd : Mik azok a Databricks-eszközcsomagok?.

Ez a lap bemutatja, hogyan hozhat létre csomagot a folyamatok programozott kezeléséhez. Lásd Lakeflow Spark deklaratív csővezetékek. A csomag a Databricks CLI-paranccsalpipelines init jön létre, amely egy ETL-folyamatot és feladatot határoz meg a futtatásához. Ezután érvényesítheti, üzembe helyezheti és futtathatja az üzembe helyezett folyamatot az Azure Databricks-munkaterületen kiszolgáló nélküli számításon.

Tipp.

Ha olyan meglévő folyamatokkal rendelkezik, amelyeket az Azure Databricks felhasználói felületével vagy API-jával hoztak létre, amelyeket csomagokba szeretne áthelyezni, meg kell határoznia őket egy csomag konfigurációs fájljaiban. A Databricks azt javasolja, hogy először hozzon létre egy csomagot az alábbi lépésekkel, majd adja hozzá a konfigurációt és más forrásokat a csomaghoz. Lásd : Meglévő folyamatdefiníció lekérése a felhasználói felületen.

Követelmények

(Nem kötelező) Python-modul telepítése a helyi folyamatok fejlesztésének támogatásához

A Databricks egy Python-modult biztosít a Lakeflow Spark Deklaratív folyamatok kódjának helyi fejlesztéséhez szintaxis-ellenőrzéssel, automatikus kiegészítéssel és adattípus-ellenőrzéssel, miközben kódot ír az IDE-ben.

A helyi fejlesztéshez használható Python-modul a PyPi-on érhető el. A modul telepítéséhez tekintse meg a Python-stub for DLT-t.

1. lépés: Hitelesítés beállítása

Először állítsa be a hitelesítést a databricks parancssori felület és az Azure Databricks-munkaterület között. Ez a lap feltételezi, hogy OAuth felhasználó–gép (U2M) hitelesítést és a hitelesítéshez elnevezett DEFAULT Azure Databricks-konfigurációs profilt szeretne használni.

Feljegyzés

A U2M-hitelesítés megfelelő ezeknek a lépéseknek a valós idejű kipróbálásához. A teljes mértékben automatizált munkafolyamatok esetében a Databricks azt javasolja, hogy inkább OAuth machine-to-machine (M2M) hitelesítést használjon. Tekintse meg az M2M-hitelesítés beállítási utasításait az Azure Databricks szolgáltatásnévhez való hozzáférésének engedélyezése az OAuthtal című cikkben.

  1. Az OAuth-jogkivonatok helyi felügyeletének elindításához használja a Databricks parancssori felületét az alábbi parancs futtatásával minden cél-munkaterületen.

    Az alábbi parancsban cserélje le a <workspace-url> elemet az Azure Databricks munkaterületenkénti URL-címére, például https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. A Databricks parancssori felülete kéri, hogy mentse az Azure Databricks konfigurációs profiljaként megadott adatokat. Nyomja le Enter, hogy elfogadja a javasolt profilnevet, vagy adjon meg egy új vagy meglévő profilnevet. Az azonos nevű meglévő profilokat felülírja a megadott adatokkal. Profilok használatával gyorsan válthat a hitelesítési környezetre több munkaterületen.

    A meglévő profilok listájának lekéréséhez egy külön terminálban vagy parancssorban futtassa a Parancsot databricks auth profilesa Databricks parancssori felületével. Egy adott profil meglévő beállításainak megtekintéséhez futtassa a parancsot databricks auth env --profile <profile-name>.

  3. A webböngészőben végezze el a képernyőn megjelenő utasításokat az Azure Databricks-munkaterületre való bejelentkezéshez.

  4. A profil aktuális OAuth-tokenértékének és a jogkivonat közelgő lejárati időbélyegének megtekintéséhez futtassa az alábbi parancsok egyikét:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Ha több azonos --host értékű profillal rendelkezik, lehet, hogy együtt kell megadnia a --host és a -p beállításokat, hogy a Databricks CLI megkeresse a megfelelő OAuth token információkat.

2. lépés: A csomag létrehozása

Csomag inicializálása egy folyamattal rendelkező módon:

  1. A terminál vagy a parancssor használatával váltson egy könyvtárra a helyi fejlesztőgépen, amely tartalmazza a sablon által létrehozott csomagot.

  2. A Parancs futtatásához használja a Databricks parancssori felületét pipelines init :

    databricks pipelines init
    
  3. Ehhez Unique name for this projecthagyja meg az alapértelmezett értéket my_pipeline_project, vagy írjon be egy másik értéket, majd nyomja le a billentyűt Enter. Ez határozza meg a csomag gyökérkönyvtárának nevét. Ez a gyökérkönyvtár az aktuális munkakönyvtárban van létrehozva.

  4. Adja Initial catalogmeg egy meglévő Unity Catalog-katalógus nevét.

  5. Válassza Use a personal schema for each user working on this project? a yes számára.

  6. Válassza Initial language for this project a python számára.

3. lépés: A csomag felfedezése

Azoknak a fájloknak a megtekintéséhez, amelyeket a sablon létrehozott, lépjen az újonnan létrehozott csomag gyökérkönyvtárába. Alapértelmezés szerint a következő struktúra jön létre:

my_pipeline_project
├── databricks.yml
├── pyproject.toml
├── README.md
├── resources
│   ├── my_pipeline_project_etl.pipeline.yml
│   └── sample_job.job.yml
└── src
    └── my_pipeline_project_etl
        ├── explorations
        │   └── sample_exploration.ipynb
        ├── README.md
        └── transformations
            ├── sample_trips_my_pipeline_project.py
            └── sample_zones_my_pipeline_project.py

A különösen fontos fájlok közé tartoznak a következők:

  • databricks.yml: Ez a fájl megadja a csomag programozott nevét, hivatkozik a csomag fájljaira, meghatározza a katalógus- és sémaváltozókat, valamint megadja a cél-munkaterületek beállításait.

  • resources/sample_job.job.yml és resources/<project-name>_etl_pipeline.yml: Ezek a fájlok határozzák meg a folyamatfrissítési feladatot tartalmazó feladatot és a folyamat beállításait. A pipeline beállításokról további információt a pipeline-ban talál.

  • src/: Ez a mappa a mintafolyamat forrásfájljait, feltárásait és átalakításait tartalmazza.

    Tipp.

    Ha teszteket ad hozzá, helyileg pytest futtathatja őket:

    uv run pytest
    
  • README.md: Ez a fájl további információkat tartalmaz a csomagsablon első lépéseiről és használatáról.

4. lépés: A csomagkonfiguráció ellenőrzése

Most ellenőrizze, hogy a csomagkonfiguráció érvényes-e.

  1. A gyökérkönyvtárból a Databricks parancssori felületével futtassa a bundle validate következő parancsot:

    databricks bundle validate
    
  2. Ha a csomagkonfiguráció összegzését adja vissza, az ellenőrzés sikeres volt. Ha bármilyen hibát ad vissza, javítsa ki a hibákat, majd ismételje meg ezt a lépést.

5. lépés: A folyamat üzembe helyezése a távoli munkaterületen

Ezután helyezze üzembe a csomagot a távoli Azure Databricks-munkaterületen, és ellenőrizze a folyamatot a munkaterületen.

  1. A csomag gyökeréből használja a Databricks CLI parancsot deploy.

    databricks bundle deploy --target dev
    

    Vagy:

    databricks pipelines deploy --target dev
    

    Feljegyzés

    Az alapértelmezett sablon tartalmaz egy feladatot, amely naponta futtatja a folyamatot, de ez a cél dev üzembe helyezési mód esetén szünetel. Lásd a Databricks Asset Bundle üzembehelyezési módjait.

  2. Győződjön meg arról, hogy a csomag üzembe lett helyezve:

    1. Az Azure Databricks-munkaterület oldalsávján kattintson a Munkaterület elemre.
    2. Kattintson a Felhasználók ><your-username>>.bundle mappába, és keresse meg a csomagprojektet.
  3. Ellenőrizze, hogy a feladatcsatorna létrejött-e:

    1. Az Azure Databricks-munkaterület oldalsávján kattintson a Feladatok > Folyamatok elemre.
    2. Ha szeretné, válassza ki a Folyamatok és a Saját tulajdonú szűrőket.
    3. Kattintson a [dev <your-username>] <project-name>_etl.

Ha a lépés után módosítja a csomagot, ismételje meg a 4–5. lépést annak ellenőrzéséhez, hogy a csomagkonfiguráció továbbra is érvényes-e, majd telepítse újra a projektet.

6. lépés: Az üzembe helyezett folyamat futtatása

Most indítsa el a munkafolyamat futtatását a munkaterületen a parancssorból.

  1. A gyökérkönyvtárból használja a Databricks CLI pipelines run parancsot. Ha a projektben csak egy folyamat található, nem kell megadnia a folyamat nevét.

    databricks pipelines run my_pipeline_project_etl --target dev
    
  2. Másolja ki a terminálban megjelenő értéket Update URL , és illessze be ezt az értéket a webböngészőbe az Azure Databricks-munkaterület megnyitásához.

  3. Az Azure Databricks-munkaterületen a folyamat sikeres futtatása után kattintson a materializált nézetekre az egyes nézetek részleteinek megtekintéséhez.

Ha a lépés után módosítja a csomagot, ismételje meg a 4–6. lépést annak ellenőrzéséhez, hogy a csomagkonfiguráció továbbra is érvényes-e, telepítse újra a projektet, és futtassa az újra üzembe helyezési projektet.

7. lépés: Kimeneti előzmények és eseménynaplók

A pipelines history és pipelines logs parancsok által megadott információk segíthetnek a hibák diagnosztizálásában.

A folyamat korábbi futtatásainak lekérése:

databricks pipelines history my_pipeline_project_etl
Updates Summary for pipeline my_pipeline_project_etl:
Update ID: a62293ec-8a63-43b7-8629-b218d56dac7c
   State: COMPLETED
   Cause: API_CALL
   Creation Time: 2026-01-29T23:16:14Z
   Full Refresh: false
   Validate Only: false

A folyamat legutóbbi frissítésének eseményeinek kimenete (JSON-ban):

databricks pipelines logs my_pipeline_project_etl

Az eredmények szűrésére használható jq . Lásd: JSON-kimenet szűrése a következővel jq: .

8. lépés: Törlés

Ebben a lépésben törli az üzembe helyezett csomagot és a pipeline-t a munkaterületéről.

  1. A gyökérkönyvtárból a Databricks parancssori felületével futtassa a pipelines destroy következő parancsot:

    databricks pipelines destroy --target dev
    
  2. Amikor a rendszer arra kéri, hogy véglegesen megsemmisítse az erőforrásokat, a folyamatot, valamint a folyamat által felügyelt táblákat és nézeteket, írja be y és nyomja le Enter.

  3. Ha a csomagot a fejlesztői gépről is törölni szeretné, törölheti a helyi projektkönyvtárat.