Feladat fejlesztése deklaratív automation-csomagokkal

A deklaratív Automation-csomagok (korábbi nevén Databricks-eszközcsomagok) tartalmazzák az üzembe helyezni kívánt összetevőket és az Azure Databricks-erőforrások beállításait, például a futtatni kívánt feladatokat, és lehetővé teszik azok programozott érvényesítését, üzembe helyezését és futtatását. Lásd : Mik azok a deklaratív automatizálási csomagok?.

Ez a lap bemutatja, hogyan hozhat létre csomagokat a feladatok programozott kezeléséhez. Lásd Lakeflow Jobs. A csomag a Python Deklaratív Automation Bundles alapértelmezett csomagsablonjának használatával jön létre, amely egy jegyzetfüzetből és egy feladat futtatásához használt definícióból áll. Ezután érvényesítheti, üzembe helyezheti és futtathatja az üzembe helyezett feladatot az Azure Databricks-munkaterületen.

Tipp.

Ha olyan meglévő feladatokkal rendelkezik, amelyeket a Lakeflow Jobs felhasználói felületén vagy API-jában hoztak létre, amelyeket csomagba 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 ellenőrizze, hogy a csomag működik-e. Ezután további feladatdefiníciókat, jegyzetfüzeteket és egyéb forrásokat is hozzáadhat a csomaghoz. Lásd : Meglévő feladatdefiníció lekérése a felhasználói felületen.

Ha teljesen új csomagot szeretne létrehozni, olvassa el a Csomag létrehozása manuálisan című témakört.

Követelmények

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> 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 meg a Enter gombot a javasolt profilnév elfogadásához, vagy adja meg egy új vagy meglévő profil nevét. 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 Databricks parancssori felületét a parancs databricks auth profilesfuttatásához. 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, előfordulhat, hogy együtt kell megadnia a --host és a -p beállításokat, hogy a Databricks parancssori felülete megtalálja a megfelelő OAuth-jogkivonat-információkat.

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

Csomag inicializálása az alapértelmezett Python-csomag projektsablonnal.

  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 bundle init :

    databricks bundle init
    
  3. Az Template to use esetén hagyja meg az default-python alapértelmezett értékét a Enter lenyomásával.

  4. Ehhez Unique name for this projecthagyja meg az alapértelmezett értéket my_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 jön létre.

  5. Válassza ki a Include a job that runs a notebook, nyomja meg a yes majd a Enter.

  6. Válassza ki a Include an ETL pipeline, nyomja meg a no majd a Enter.

  7. Válassza ki a Include a stub (sample) Python package, nyomja meg a no majd a Enter.

  8. Válassza ki a Use serverless, nyomja meg a yes majd a Enter. Ez arra utasítja a Databricks parancssori felületét, hogy konfigurálja a csomagot úgy, hogy kiszolgáló nélküli számításon fusson.

  9. Adja Default catalog for any tables created by this project [hive_metastore]meg egy meglévő Unity Catalog-katalógus nevét.

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

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

A sablon által létrehozott fájlok megtekintéséhez lépjen az újonnan létrehozott csomag gyökérkönyvtárára. 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: Ez a fájl megadja a feladat beállításait, beleértve egy alapértelmezett jegyzetfüzet-feladatot is. A feladatbeállításokról további információt a feladatban talál.
  • src/: Ez a mappa tartalmazza a feladat forrásfájljait.
  • src/sample_notebook.ipynb: Ez a jegyzetfüzet egy mintatáblát olvas be.
  • tests/: Ez a mappa mintaegység-teszteket tartalmaz.
  • README.md: Ez a fájl további információkat tartalmaz a csomagsablon első lépéseiről és használatáról.

Tipp.

Az új feladatfürtök beállításait kötegekben definiálhatja, kombinálhatja és felülbírálhatja a Felülbírálás célbeállításokkal című cikkben ismertetett technikákkal.

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 csomag üzembe helyezése a távoli munkaterületen

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

  1. A csomag gyökeréből a Databricks parancssori felületével futtassa a bundle deploy következő parancsot:

    databricks bundle deploy --target dev
    
  2. Győződjön meg arról, hogy a jegyzetfüzet készen áll:

    1. Az Azure Databricks-munkaterület oldalsávján kattintson a Munkaterület elemre.
    2. Kattintson a Users ><your-username>> .bundle ><project-name>> dev > files > src mappába. A jegyzetfüzetnek ebben a mappában kell lennie.
  3. Ellenőrizze, hogy a feladat 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 Feladatok és a Saját tulajdonú szűrőket.
    3. Kattintson a [dev <your-username>] sample_job.
    4. Kattintson a Feladatok fülre. Egy notebook_task kell lennie.

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 feladat futtatása

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

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

    databricks bundle run --target dev sample_job
    
  2. Másolja ki a terminálban megjelenő értéket Run URL , és illessze be ezt az értéket a webböngészőbe az Azure Databricks-munkaterület megnyitásához. Deklaratív automation-csomagok használatával létrehozott feladat megtekintése és futtatása

  3. Az Azure Databricks-munkaterületen, miután a feladat sikeresen befejeződött, és zöld címsort jelenít meg, kattintson a feladat tevékenységére az eredmények 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: Tesztek futtatása

Végül használja a pytest paranccsal a tesztek futtatására helyileg.

uv run pytest

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

Ebben a lépésben törli az üzembe helyezett jegyzetfüzetet és a feladatot a munkaterületről.

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

    databricks bundle destroy --target dev
    
  2. Amikor a rendszer kéri a munkaterület összes fájljának és könyvtárának végleges törlését, írja be a parancsot y, majd 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.