Folyamatos integráció és kiszállítás az Azure Databricks platformon

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:

Magas szintű áramlás

Egy Azure Databricks CI/CD-folyamat gyakori menete a következő:

  1. 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.
  2. Code: Kódot és egységteszteket fejleszt egy Azure Databricks jegyzetfüzetben a munkaterületen vagy helyileg, egy IDE használatával.
  3. Build: A Deklaratív Automation-csomagok beállításaival automatikusan létrehozhat bizonyos összetevőket az üzembe helyezés során.
  4. 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.
  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. 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.
  7. 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.