Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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 szervezetenként kissé eltérhetnek az egyes szervezetek szoftverfejlesztési életciklusának egyedi aspektusai miatt. Ez a lap a Databricks ci/CD-folyamatainak elérhető eszközeiről nyújt tájékoztatást. A CI/CD-javaslatokról és az ajánlott eljárásokról további információt a Databricks ajánlott eljárásai és ajánlott CI/CD-munkafolyamatai című témakörben talál.
Az Azure Databricksen futó gépi tanulási projektek ci/CD-jének áttekintéséért lásd : Hogyan támogatja a Databricks a CI/CD-t a gépi tanuláshoz?.
Magas szintű áramlás
Az Azure Databricks CI/CD-csatorna szokásos menete a következő:
-
Verzió: Az Azure Databricks-kódot és -jegyzetfüzeteket egy verziókövetési rendszerben, például a Gitben 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.
-
Kód: Kód- és egységtesztek fejlesztése 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 az Azure Databricks-munkaterületeken.
-
Build: A Databricks Asset Bundles 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.
-
Üzembe helyezés: Módosítások üzembe helyezése az Azure Databricks-munkaterületen a Databricks Asset Bundles használatával olyan eszközökkel, mint az Azure DevOps, a GitHub Actions vagy a Jenkins.
- 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 az Azure Databricks folyamatos integrációja és kézbesítése az Azure DevOps használatával című témakörben talál.
- A Databricks GitHub Actions-példákért tekintse meg a GitHub Actionst.
- A Jenkins Pipeline és a Databricks használatához lásd a CI/CD-t és a Jenkinst az Azure Databricksben.
-
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 .
-
Futtatás: A Databricks parancssori felület és a Databricks Asset Bundles használatával automatizálhatja a futtatásokat az Azure Databricks-munkaterületeken.
- Futtassa a csomagerőforrásokat a databricks bundle run használatával.
- Monitorozás: A kód és az éles számítási feladatok teljesítményének monitorozása az Azure Databricksben olyan eszközökkel, mint a feladatok monitorozása. 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... |
|---|---|
| Databricks-eszközcsomagok | Programozott módon definiálhat, telepíthet és futtathat erőforrásokat, beleértve a Lakeflow-feladatokat, a Lakeflow Spark Deklaratív folyamatokat és az MLOps Stackset 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. |
| Folyamatos integráció és teljesítés az Azure Databricksben az Azure DevOpsszal | Ci/CD-folyamat fejlesztése az Azure Databrickshez, amely az Azure DevOpst használja. |
| Hitelesítés az Azure DevOpsszal az Azure Databricksben | Hitelesítés az Azure DevOpsszal. |
| GitHub-műveletek | Az Azure Databrickshez kifejlesztett GitHub-művelet belefoglalása a CI-/CD-folyamatba. |
| CI/CD Jenkins-szel az Azure Databricksben | Ci/CD-folyamat fejlesztése a Jenkinst használó Azure Databrickshez. |
| 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. |
| Az Azure Databrickshez való hozzáférés 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. |
Databricks-eszközcsomagok
A Databricks eszközcsomagjai a CI/CD ajánlott megközelítései a Databricksen. A Databricks-eszközcsomagok 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 az ü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 ajánlott eljárásait és ajánlott CI/CD-munkafolyamatait.
Egyéb eszközök a forrásvezérléshez
A Databricks Eszközcsomagokkal való teljes CI/CD alkalmazásának alternatívaként a Databricks csak a forráskezelé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 a GitHub Actionst 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.