Mik azok a Databricks-eszközcsomagok?
A Databricks Asset Bundles (DAB-k) olyan eszközök, amelyek megkönnyítik a szoftverfejlesztés ajánlott eljárásainak bevezetését, beleértve a forráskövetést, a kódvizsgálatot, a tesztelést, valamint a folyamatos integrációt és teljesítést (CI/CD) az adatokhoz és az AI-projektekhez. A csomagok lehetővé teszik a Databricks-erőforrások, például a feladatok, a folyamatok és a jegyzetfüzetek forrásfájlokként való leírását. Ezek a forrásfájlok a projektek teljes körű definícióját biztosítják, beleértve a strukturálás, tesztelés és üzembe helyezés módját, ami megkönnyíti a projekteken való együttműködést az aktív fejlesztés során.
A csomagok lehetővé teszik a metaadatoknak a projekt forrásfájljai melletti hozzáadását. Ha csomagokkal helyez üzembe egy projektet, a rendszer ezt a metaadatokat használja az infrastruktúra és más erőforrások kiépítéséhez. A projekt forrásfájlok és metaadatok gyűjteménye ezután egyetlen csomagként lesz üzembe helyezve a célkörnyezetben. A csomag a következő részeket tartalmazza:
- Szükséges felhőinfrastruktúra és munkaterület-konfigurációk
- Az üzleti logikát tartalmazó forrásfájlok, például jegyzetfüzetek és Python-fájlok
- A Databricks-erőforrások definíciói és beállításai, például az Azure Databricks-feladatok, a Delta Live Tables-folyamatok, a modellkiszolgáló végpontok, az MLflow-kísérletek és a regisztrált MLflow-modellek
- Egységtesztek és integrációs tesztek
Az alábbi ábra egy fejlesztési és CI/CD-folyamat magas szintű nézetét mutatja be kötegekkel:
Mikor érdemes a Databricks-eszközcsomagokat használni?
A Databricks Assets Bundles a Databricks-projektek kezelésének infrastrukturális (IaC) megközelítése. Ezeket akkor használja, ha összetett projekteket szeretne kezelni, ahol több közreműködő és automatizálás elengedhetetlen, és a folyamatos integráció és üzembe helyezés (CI/CD) követelmény. Mivel a csomagok a forráskóddal együtt létrehozott és karbantartott YAML-sablonokon és fájlokon keresztül vannak definiálva és felügyelve, jól megfeleltetik azokat az eseteket, ahol az IaC megfelelő megközelítés.
A csomagokhoz ideális forgatókönyvek közé tartoznak a következők:
- Adat-, elemzési és gépi tanulási projektek fejlesztése csapatalapú környezetben. A csomagok segíthetnek a különböző forrásfájlok hatékony rendszerezésében és kezelésében. Ez biztosítja a zökkenőmentes együttműködést és az egyszerűsített folyamatokat.
- Iterálja gyorsabban az ml-problémákat. Az ML-folyamatok erőforrásainak (például a betanítási és kötegelt következtetési feladatoknak) kezelése olyan ML-projektek használatával, amelyek a kezdetektől fogva követik az éles környezetben ajánlott eljárásokat.
- Az új projektekre vonatkozó szervezeti szabványokat az alapértelmezett engedélyeket, szolgáltatásneveket és CI/CD-konfigurációkat tartalmazó egyéni csomagsablonok készítésével állíthatja be.
- Jogszabályi megfelelőség: Azokban az iparágakban, ahol a jogszabályi megfelelőség jelentős problémát jelent, a csomagok segíthetnek fenntartani a kód- és infrastruktúra-munka verziószámozott előzményeit. Ez segít az irányításban, és biztosítja a szükséges megfelelőségi szabványok betartását.
Hogyan működnek a Databricks-eszközcsomagok?
A csomag metaadatai yaML-fájlokkal definiálhatók, amelyek megadják a Databricks-projekt összetevőit, erőforrásait és konfigurációját. Ezt a YAML-fájlt manuálisan is létrehozhatja, vagy létrehozhat egyet egy kötegsablon használatával. A Databricks parancssori felület ezután használható a csomagok ellenőrzésére, üzembe helyezésére és futtatására ezekkel a yaML-fájlokkal. Csomagprojekteket futtathat azonosítókról, terminálokról vagy közvetlenül a Databricksben. Ez a cikk a Databricks parancssori felületét használja.
A kötegek manuálisan vagy sablon alapján hozhatók létre. A Databricks cli alapértelmezett sablonokat biztosít az egyszerű használati esetekhez, de konkrétabb vagy összetettebb feladatokhoz létrehozhat egyéni csomagsablonokat a csapat ajánlott eljárásainak implementálásához és a gyakori konfigurációk konzisztens állapotának megőrzéséhez.
A Databricks-eszközcsomagok expresszításához használt YAML konfigurációval kapcsolatos további részletekért lásd a Databricks Eszközcsomag konfigurációját.
A környezet konfigurálása csomagok használatára
A Databricks parancssori felületével egyszerűen üzembe helyezhet csomagokat a parancssorból. A Databricks parancssori felületének telepítéséhez lásd a Databricks parancssori felület telepítését vagy frissítését.
A Databricks Asset Bundles a Databricks CLI 0.218.0-s vagy újabb verziójában érhető el. A telepített Databricks parancssori felület verziójának megkereséséhez futtassa a következő parancsot:
databricks --version
A Databricks parancssori felület telepítése után ellenőrizze, hogy a távoli Databricks-munkaterületek megfelelően vannak-e konfigurálva. A kötegekhez engedélyezni kell a munkaterület fájlok funkcióját, mivel ez a funkció a Databricks-jegyzetfüzeteken kívül más fájlokkal, például .py
fájlokkal is .yml
használható. Ha a Databricks Runtime 11.3 LTS-es vagy újabb verzióját használja, ez a funkció alapértelmezés szerint engedélyezve van.
Hitelesítés
Az Azure Databricks számos hitelesítési módszert kínál:
- A részt vett hitelesítési forgatókönyvek, például a manuális munkafolyamatok esetében, ahol a webböngésző használatával jelentkezik be a cél Azure Databricks-munkaterületre (amikor a Databricks parancssori felület kéri), használja az OAuth felhasználó–gép (U2M) hitelesítést. Ez a módszer ideális a Databricks Asset Bundles első lépéseinek kipróbálásához vagy a csomagok gyors fejlesztéséhez.
- Felügyelet nélküli hitelesítési forgatókönyvek, például teljes mértékben automatizált munkafolyamatok esetén, amelyekben nincs lehetőség arra, hogy webböngészője segítségével jelentkezzen be a cél Azure Databricks-munkaterületre abban az időben, használja az OAuth gépről gépre (M2M) történő hitelesítést. Ez a módszer az Azure Databricks szolgáltatásnevek használatát igényli, és ideális a Databricks Asset Bundles ci/CD-rendszerek, például a GitHub használatához.
OAuth U2M-hitelesítés esetén tegye a következőket:
Az OAuth-jogkivonatok helyi felügyeletének elindításához használja a Databricks parancssori felületét az alábbi parancs futtatásával minden cél-munkaterületen.
Az alábbi parancsban cserélje le
<workspace-url>
például az Azure Databricks munkaterületenkénti URL-címéthttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
A Databricks parancssori felülete kéri, hogy mentse az Azure Databricks konfigurációs profiljaként megadott adatokat. Nyomja le
Enter
a javasolt profilnevet, vagy adja meg egy új vagy meglévő profil nevét. Az azonos nevű meglévő profilokat felülírja a megadott adatokkal. Profilok használatával gyorsan válthat a hitelesítési környezetre több munkaterületen.A meglévő profilok listájának lekéréséhez egy külön terminálban vagy parancssorban futtassa a Parancsot
databricks auth profiles
a Databricks parancssori felületével. Egy adott profil meglévő beállításainak megtekintéséhez futtassa a parancsotdatabricks auth env --profile <profile-name>
.A webböngészőben végezze el a képernyőn megjelenő utasításokat az Azure Databricks-munkaterületre való bejelentkezéshez.
A profil aktuális OAuth-tokenértékének és a jogkivonat közelgő lejárati időbélyegének megtekintéséhez futtassa az alábbi parancsok egyikét:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Ha több azonos értékű profillal rendelkezik
--host
, előfordulhat, hogy együtt kell megadnia azokat és-p
a--host
beállításokat, hogy a Databricks parancssori felülete megkeresse a megfelelő OAuth-jogkivonat-információkat.
A konfigurációs profil nevét az alábbi módokon használhatja a csomagok ellenőrzése, üzembe helyezése, futtatása vagy megsemmisítése során:
- A parancshoz
databricks bundle run
databricks bundle validate
databricks bundle deploy
fűzött parancssori beállítással-p <profile-name>
, vagy .databricks bundle destroy
Lásd a Databricks Asset Bundles fejlesztését. - A leképezés értékeként a
profile
csomagkonfigurációs fájl legfelső szintűworkspace
leképezése (bár a Databricks azt javasolja, hogy ahost
leképezés helyettprofile
az Azure Databricks-munkaterület URL-címét használja, mivel ez hordozhatóbbá teszi a csomagkonfigurációs fájlokat). Tekintse meg a munkaterület leképezésénekprofile
lefedettségét. - Ha a konfigurációs profil neve az
DEFAULT
, akkor a rendszer alapértelmezés szerint akkor használja, ha nincs megadva a parancssori beállítás-p <profile-name>
vagy aprofile
(vagyhost
) leképezés.
OAuth M2M-hitelesítés esetén tegye a következőket:
Végezze el az OAuth M2M hitelesítési beállítási utasításait. Lásd: Azure Databricks-hozzáférés hitelesítése szolgáltatásnévvel az OAuth (OAuth M2M) használatával.
Telepítse a Databricks parancssori felületet a cél számítási erőforrásra az alábbi módok egyikével:
- A Databricks parancssori felület valós idejű manuális telepítéséhez lásd a Databricks parancssori felület telepítését vagy frissítését.
- Ha a GitHub Actions használatával szeretné automatikusan telepíteni a Databricks parancssori felületet egy GitHub-virtuális gépre, tekintse meg a GitHub beállítási parancssori felületét .
- Ha más CI/CD-rendszerek használatával szeretné automatikusan telepíteni a Databricks PARANCSSOR-t egy virtuális gépre, tekintse meg a CI/CD-rendszerszolgáltató dokumentációját, valamint a Databricks parancssori felület telepítését vagy frissítését.
Állítsa be a következő környezeti változókat a számítási erőforráson az alábbiak szerint:
DATABRICKS_HOST
beállításnál állítsa be példáulhttps://adb-1234567890123456.7.azuredatabricks.net
az Azure Databricks munkaterületenkénti URL-címét.DATABRICKS_CLIENT_ID
elemet, állítsa be az Azure Databricks szolgáltatásnév alkalmazásazonosítójának értékét.DATABRICKS_CLIENT_SECRET
, állítsa be az Azure Databricks szolgáltatásnév OAuth Secret-értékét .
A környezeti változók beállításához tekintse meg a cél számítási erőforrás operációs rendszerének vagy CI/CD-jének dokumentációját.
Az első Databricks-eszközcsomag fejlesztése
A csomagok fejlesztésének leggyorsabb módja egy csomagprojekt-sablon használata. Hozza létre az első csomagprojektet a Databricks CLI-csomag init parancsával. Ez a parancs a Databricks által biztosított alapértelmezett csomagsablonokat mutatja be, és kérdések sorozatát adja meg a projektváltozók inicializálásához.
databricks bundle init
A csomag létrehozása a csomag életciklusának első lépése. A második lépés a csomag fejlesztése, amelynek kulcsfontosságú eleme a csomagbeállítások és erőforrások meghatározása a és az databricks.yml
erőforrás-konfigurációs fájlokban. A csomagkonfigurációval kapcsolatos információkért lásd a Databricks-eszközcsomag konfigurációját.
Tipp.
A csomagkonfigurációs példák a Csomagkonfigurációs példákban és a Csomagpéldák adattárban találhatók a GitHubon.
Következő lépések
- Hozzon létre egy köteget, amely üzembe helyez egy jegyzetfüzetet egy Azure Databricks-munkaterületen, majd az üzembe helyezett jegyzetfüzetet Azure Databricks-feladatként futtatja. Lásd: Feladat fejlesztése az Azure Databricksben a Databricks Asset Bundles használatával.
- Hozzon létre egy köteget, amely üzembe helyez egy jegyzetfüzetet egy Azure Databricks-munkaterületen, majd az üzembe helyezett jegyzetfüzetet Delta Live Tables-folyamatként futtatja. Lásd: Delta Live Tables-folyamatok fejlesztése Databricks-eszközcsomagokkal.
- Hozzon létre egy csomagot, amely egy MLOps Stacket helyez üzembe és futtat. Lásd: Databricks Asset Bundles for MLOps Stacks.
- Köteg hozzáadása CI/CD-munkafolyamathoz (folyamatos integráció/folyamatos üzembe helyezés) a GitHubon. Lásd: CI/CD-munkafolyamat futtatása Databricks-eszközcsomaggal és GitHub-műveletekkel.
- Hozzon létre egy pythonkerekes fájlt létrehozó, üzembe helyező és meghívó csomagot. Lásd: Python-kerekes fájl fejlesztése a Databricks Asset Bundles használatával.
- Hozzon létre egy egyéni sablont, amellyel Ön és mások létrehozhatnak egy csomagot. Az egyéni sablonok tartalmazhatnak alapértelmezett engedélyeket, szolgáltatásneveket és egyéni CI/CD-konfigurációt. Lásd a Databricks Asset Bundle projektsablonjait.
- Migrálás dbx-ről Databricks-eszközcsomagokra. Lásd: Migrálás dbx-ről csomagokra.
- Fedezze fel a Databricks Asset Bundles legújabb fő új funkcióit. Lásd a Databricks Asset Bundles funkció kibocsátási megjegyzéseit.