Megosztás:


CI/CD az Azure Databricksben

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ő:

  1. 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.
  2. Kód: Kód- és egységtesztek fejlesztése egy Azure Databricks-jegyzetfüzetben a munkaterületen vagy helyileg egy IDE használatával.
  3. Build: A Databricks Asset Bundles beállításaival automatikusan létrehozhat bizonyos összetevőket az üzembe helyezés során.
  4. Ü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.
  5. 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 .
  6. 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.
  7. 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.