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.
A folyamatos integráció és a folyamatos teljesítés (CI/CD) az automatizálási folyamatok használatával rövid, gyakori ciklusokban történő szoftverfejlesztés és -szállítás folyamatát jelenti. A CI/CD gyakori a szoftverfejlesztésben, és egyre inkább szükségessé válik az adatelemzésben és az adatelemzésben. A kód készítésének, tesztelésének és üzembe helyezésének automatizálásával a fejlesztői csapatok megbízhatóbb kiadásokat biztosítanak, mint manuális folyamatokkal.
A Databricks olyan CI/CD-folyamatok fejlesztéséhez biztosít eszközöket, amelyek támogatják azokat a megközelítéseket, amelyek a szoftverfejlesztési életciklusuk egyedi aspektusai miatt eltérhetnek a szervezetek között. Ez a lap a Databricks ci/CD-folyamatainak elérhető eszközeiről nyújt tájékoztatást.
A fejlesztői és CI/CD-javaslatokról és ajánlott eljárásokról az alábbiakban talál további információt:
- CI-/CD-munkafolyamatok a Databricksen
- A Databricks fejlesztői ajánlott eljárásai
- Hogyan támogatja a Databricks a CI/CD-t a gépi tanuláshoz?
Magas szintű áramlás
Egy Azure Databricks CI/CD-folyamat gyakori menete a következő:
-
Version: A Azure Databricks kódot és jegyzetfüzeteket a Githez hasonló verziókövetési rendszerben tárolhatja. Így nyomon követheti a változásokat, és együttműködhet más csapattagokkal.
- Az egyes felhasználók egy Git-mappát használnak a módosítások létrehozásához és teszteléséhez, mielőtt véglegesítenének egy Git-adattárban. Lásd a CI/CD folyamatot Databricks Git mappákkal.
- Igény szerint konfigurálhatja a csomag Git-beállításait.
-
Code: Kódot és egységteszteket fejleszt egy Azure Databricks jegyzetfüzetben a munkaterületen vagy helyileg, egy IDE használatával.
- A Lakeflow Pipelines Editor használatával fejleszthet munkafolyamatokat a munkahelyen.
- A Databricks Visual Studio Code bővítmény használatával helyi módosításokat fejleszthet és helyezhet üzembe Azure Databricks munkaterületeken.
-
Build: A Deklaratív Automation-csomagok beállításaival automatikusan létrehozhat bizonyos összetevőket az üzembe helyezés során.
- Konfigurálja a csomagkonfigurációs összetevők leképezését .
- A Databricks Labs pylint beépülő modullal bővített Pylint segít kikényszeríteni a kódolási szabványokat, és észlelni a Databricks-jegyzetfüzetekben és az alkalmazáskódban található hibákat.
-
Deploy: Módosítások üzembe helyezése a Azure Databricks munkaterületen deklaratív automation-kötegekkel, például Azure DevOps, GitHub Actions vagy Jenkins használatával.
- Az üzembe helyezéseket csomagtelepítési módok használatával konfigurálhatja.
- Az Azure DevOps és a Databricks használatáról további információt a Folyamatos integráció és szállítás az Azure Databricks-en az Azure DevOps használatával című témakörben talál.
- A Databricks GitHub Actions példákért lásd: GitHub Actions.
- A Jenkins Pipeline és a Databricks használatához lásd: CI/CD with Jenkins on Azure Databricks.
-
Teszt: Automatikus tesztek fejlesztése és futtatása a kódmódosítások ellenőrzéséhez.
- Az integráció teszteléséhez használjon olyan eszközöket, mint a pytest .
-
Run: A Databricks parancssori felület és a Deklaratív automation-csomagok használatával automatizálhatja a Azure Databricks-munkaterületeken futó futtatásokat.
- Futtassa a csomagerőforrásokat a databricks bundle run használatával.
- Monitor: Figyelje a kód és a produkciós terhelések teljesítményét az Azure Databricksben olyan eszközökkel, mint a feladatok figyelése. Ez segít azonosítani és megoldani az éles környezetben felmerülő bármilyen problémákat.
A rendelkezésre álló eszközök
A következő eszközök támogatják a CI/CD alapelveit: az összes fájl verziószámozása és az eszközkezelés egységesítése, az infrastruktúra kódként való definiálása, a környezetek elkülönítése, a tesztelés automatizálása, valamint a visszaállítások monitorozása és automatizálása.
| Terület | Ezeket az eszközöket használd, ha szeretnéd... |
|---|---|
| Deklaratív automatizációs csomagok | A Databricks-erőforrások, köztük a Lakeflow-feladatok, a Lakeflow-folyamatok és az MLOps Stacks programozott definiálása, üzembe helyezése és futtatása CI/CD ajánlott eljárások és folyamatok használatával. |
| Databricks Terraform-szolgáltató | Databricks-munkaterületek és -infrastruktúra kiépítése és kezelése a Terraform használatával. A Databricks Terraform-szolgáltató deklaratív automation-csomagok helyett való használatáról további információt Fejlesztői eszközök használati eseteket ismertető cikkben talál. |
| Folyamatos integráció és szállítás az Azure Databricks platformon az Azure DevOps használatával | Az Azure DevOps-t használó CI/CD-folyamat fejlesztése az Azure Databricks számára. |
| Hitelesítés az Azure DevOps segítségével az Azure Databricksben | Hitelesítés az Azure DevOps szolgáltatással. |
| GitHub-műveletek | Vegyen be egy GitHub műveletet, amely az Azure Databrickshez készült, a CI/CD-folyamatba. |
| CI/CD a Jenkins használatával az Azure Databricksben | Ci/CD-folyamat fejlesztése a Jenkinst használó Azure Databricks számára. |
| Lakeflow-feladatok vezénylése az Apache Airflow használatával | Apache Airflow-t használó adatfolyam kezelése és ütemezése. |
| Szolgáltatásnevek a CI/CD-hez | Használjon szolgáltatásalkalmazásokat a felhasználók helyett a CI/CD folyamatok során. |
| A Azure Databricks hozzáférésének hitelesítése OAuth-jogkivonat-összevonással | Használja a számítási feladatok identitás-összevonását a CI/CD-hitelesítéshez, ami szükségtelenné teszi a Databricks-titkos kulcsok használatát, így ez a databricks-hitelesítés legbiztonságosabb módja. |
Deklaratív automatizálási csomagok
A deklaratív automatizációs csomagok az ajánlott megközelítés a CI/CD során a Databricksben. A Deklaratív automation-kötegek segítségével a Databricks-erőforrásokat, például a feladatokat és a folyamatokat forrásfájlokként írják le, és más eszközökkel együtt csomagolva biztosítják a üzembe helyezhető projektek végpontok közötti definícióját. Ezek a fájlcsomagok szabályozhatók forrásként, és külső CI-/CD-automatizálással, például a Github Actions használatával indíthatja el az üzembe helyezéseket.
A csomagok számos funkciót tartalmaznak, például egyéni sablonokat a konzisztencia és az ajánlott eljárások kikényszerítéséhez a szervezetben, valamint átfogó támogatást nyújtanak a kódfájlok üzembe helyezéséhez és számos Databricks-erőforrás konfigurációjához. A csomagok létrehozásához ismerni kell a csomagkonfiguráció szintaxisát.
A csomagok CI/CD-ben való használatára vonatkozó javaslatokért tekintse meg a Databricks ci-/CD-munkafolyamatait és a Databricks fejlesztői ajánlott eljárásait.
Egyéb eszközök a forrásvezérléshez
A teljes CI/CD deklaratív Automation-csomagokkal való alkalmazásának alternatívaként a Databricks csak a forrásvezérlésre és a kódfájlok és jegyzetfüzetek üzembe helyezésére kínál lehetőséget.
Git-mappa: A Git-mappák egy távoli Git-adattár állapotát tükrözik. Létrehozhat egy git könyvtárat az éles környezethez a forráskontrollált forrásfájlok és jegyzetfüzetek kezelésére. Ezután manuálisan húzza le a Git mappát a legújabb állapotba, vagy használjon külső CI-/CD-eszközöket, például GitHub Actions a Git-mappa egyesítéskor történő lekéréséhez. Ezt a módszert akkor használja, ha nincs hozzáférése külső CI-/CD-folyamatokhoz.
Ez a módszer külső vezénylők, például az Airflow esetében működik, de vegye figyelembe, hogy csak a kódfájlok, például a jegyzetfüzetek és az irányítópult-vázlatok vannak a forráskontrollban. A Git-mappában eszközöket futtató feladatok vagy folyamatok konfigurációi és a műszerfalak közzétételi konfigurációi nincsenek forrásvezérlés alatt.
Git feladatokkal: A feladatokkal rendelkező Git lehetővé teszi, hogy bizonyos feladattípusokat úgy konfiguráljon, hogy egy távoli Git-adattárat használjon a kódfájlok forrásaként. Amikor egy feladatfuttatás megkezdődik, a Databricks pillanatképet készít az adattárról, és az összes feladatot az adott verzión futtatja. Ez a megközelítés csak a korlátozott feladatfeladatokat támogatja, és csak a kódfájlok (jegyzetfüzetek és egyéb fájlok) forrásvezéreltek. A feladatkonfigurációk, például a feladatütemezések, a számítási beállítások és az ütemezések nem forrásvezéreltek, így ez a megközelítés kevésbé alkalmas többkörnyezetes, munkaterületek közötti üzemelő példányokra.