Mi az a CI/CD az Azure Databricksben?
Ez a cikk bemutatja a CI/CD-t a Databricksen. 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éges az adatelemzéshez és az adatelemzéshez. 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 tudnak nyújtani, mint az adatmérnöki és adatelemzési csapatok számára még mindig gyakori manuális folyamatokkal.
Az Azure Databricks a Databricks Asset Bundles ci/CD-hez való használatát javasolja, amely lehetővé teszi összetett adat-, elemzési és ml-projektek fejlesztését és üzembe helyezését az Azure Databricks platformon. A csomagok segítségével egyszerűen kezelheti számos egyéni konfigurációt, és automatizálhatja a projektek buildjeit, tesztjeit és üzembe helyezését az Azure Databricks fejlesztési, előkészítési és éles munkaterületeken.
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?.
Mi található az Azure Databricks ci/CD-folyamatában?
A Databricks Asset Bundles használatával definiálhatja és programozott módon kezelheti az Azure Databricks CI/CD-implementációját, amely általában a következőket foglalja magában:
- Jegyzetfüzetek: Az Azure Databricks-jegyzetfüzetek gyakran kulcsfontosságú részét képezik az adatelemzési és adatelemzési munkafolyamatoknak. A jegyzetfüzetek verziókövetését használhatja, és a CI/CD-folyamat részeként is ellenőrizheti és tesztelheti őket. A jegyzetfüzeteken automatizált teszteket futtathat annak ellenőrzésére, hogy azok a várt módon működnek-e.
- Tárak: Az üzembe helyezett kód futtatásához szükséges kódtár-függőségek kezelése. Használja a verziókövetést a kódtárakon, és vegye fel őket az automatizált tesztelésbe és ellenőrzésbe.
- Munkafolyamatok: A Databricks-feladatok olyan feladatokból állnak, amelyek lehetővé teszik automatizált feladatok ütemezését és futtatását jegyzetfüzetek vagy Spark-feladatok használatával.
- Adatfolyamok: Az adatfolyamokat a CI/CD-automatizálásba is belefoglalhatja a Delta Live Tables használatával, amely a Databricks adatfolyamatok deklarálására szolgáló keretrendszere.
- Infrastruktúra: Az infrastruktúra-konfiguráció definíciókat és kiépítési információkat tartalmaz a fürtök, munkaterületek és tárolók számára a célkörnyezetekhez. Az infrastruktúra-módosítások érvényesíthetők és tesztelhetők egy CI/CD-folyamat részeként, biztosítva, hogy azok konzisztensek és hibamentesek legyenek.
A CI/CD lépései az Azure Databricksben
Az Azure Databricks CI/CD-folyamatok tipikus folyamata a következő lépéseket tartalmazza:
- Tárolás: 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. A Git és a Databricks Git-mappák (Adattárak) ci-/CD-technikáit és a Git-beállítások kötegét is megtekintheti.
- Kód: Kód- és egységtesztek fejlesztése egy Azure Databricks-jegyzetfüzetben a munkaterületen vagy helyileg egy külső IDE használatával. Az Azure Databricks egy Visual Studio Code-bővítményt biztosít, amely megkönnyíti az Azure Databricks-munkaterületek módosításainak fejlesztését és üzembe helyezését.
- Build: A Databricks Asset Bundles beállításaival automatikusan létrehozhat bizonyos összetevőket az üzembe helyezés során. Tekintse meg az összetevőket. Emellett a Pylint a Databricks Labs pylint beépülő modullal bővítette a kódolási szabványok érvényesítését, valamint a Databricks-jegyzetfüzetekben és alkalmazáskódokban található hibák észlelését.
- Ü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 együtt, mint az Azure DevOps, a Jenkins vagy a GitHub Actions. Lásd a Databricks Asset Bundle üzembehelyezési módjait.
- Teszt: Automatizált tesztek fejlesztése és futtatása a kódmódosítások ellenőrzéséhez olyan eszközökkel, mint a pytest. A Munkaterület API-kkal való integráció teszteléséhez a Databricks Labs pytest beépülő modul lehetővé teszi munkaterület-objektumok létrehozását és törlését a tesztek befejezése után.
- Futtatás: A Databricks parancssori felület és a Databricks Asset Bundles együttes használatával automatizálhatja a futtatásokat az Azure Databricks-munkaterületeken. Lásd: Csomag futtatása.
- Monitorozás: A kód és a munkafolyamatok teljesítményének monitorozása az Azure Databricksben olyan eszközökkel, mint az Azure Monitor vagy a Datadog. Ez segít azonosítani és megoldani az éles környezetben felmerülő problémákat.
- Iteráció: Kis méretű, gyakori iterációk készítése az adatmérnöki vagy adatelemzési projekt fejlesztéséhez és frissítéséhez. A kisebb módosításokat könnyebb visszagörgetni, mint a nagyobbakat.
Kapcsolódó hivatkozások
Az Azure Databricks-eszközök és -adatok életciklusának kezelésével kapcsolatos további információkért tekintse meg a CI/CD és az adatfolyam-eszközök alábbi dokumentációját.
Terület | Ezeket az eszközöket akkor használja, ha... |
---|---|
Databricks-eszközcsomagok | Az Azure Databricks-feladatok, a Delta Live Tables-folyamatok és az MLOps Stacks programozott definiálása, üzembe helyezése és futtatása CI/CD ajánlott eljárások és munkafolyamatok használatával. |
Databricks Terraform-szolgáltató | Databricks-infrastruktúra és -erőforrások kiépítése és kezelése a Terraform használatával. |
CI/CD-munkafolyamatok Git- és Databricks Git-mappákkal | A GitHub és a Databricks Git-mappák használata a forrásvezérléshez és a CI/CD-munkafolyamatokhoz. |
Hitelesítés az Azure DevOps on Databricks használatával | Hitelesítés az Azure DevOpsszal. |
Microsoft Entra szolgáltatásnév használata az Azure Databricks Git-mappákhoz való hozzáférés hitelesítéséhez | Az MS Entra szolgáltatásnévvel hitelesítheti a Databricks Git-mappákhoz való hozzáférést. |
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. |
Folyamatos integráció és teljesítés a GitHub Actions használatával | Ci/CD-munkafolyamat fejlesztése a GitHubon, amely az Azure Databrickshez kifejlesztett GitHub Actionst használja. |
CI/CD és Jenkins az Azure Databricksen | Ci/CD-folyamat fejlesztése a Jenkinst használó Azure Databrickshez. |
Azure Databricks-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 egyszerű szolgáltatásneveket a felhasználók helyett CI/CD-rendszerekkel. |