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
- Databricks-erőforrások definíciói és beállításai, például Azure Databricks-feladatok, DLT-folyamatok, modellkiszolgáló végpontok, MLflow-kísérletek és MLflow-regisztrált 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 egy infrastruktúra-kénti kód (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.
- Gyorsabban iteráljon az ML problémákon. Az ML-pipelineok erőforrásait (például a betanítási és kötegelt következtetési feladatokat) kezelje olyan ML projektek használatával, amelyek a kezdetektől fogva követik a gyártási bevált gyakorlatokat.
- 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. Futtathat csomagprojekteket IDE-kről, terminálokról vagy közvetlenül a Databricks környezetében. 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 kötegeket helyezhet üzembe a parancssorból. A Databricks parancssori felületének telepítéséhez lásd: A Databricks parancssori felületének telepítése vagy frissítése.
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ötegek használatához engedélyezni kell a munkaterületi fájlok funkciót. 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:
- Ha részt vett hitelesítési forgatókönyvekben, például olyan manuális munkafolyamatokban, 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ási fiókok használatát igényli, és ideális a Databricks Asset Bundles CI/CD rendszerekkel, mint például a GitHub.
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 a
<workspace-url>
elemet az Azure Databricks munkaterületenkénti URL-címére, például ahttps://adb-1234567890123456.7.azuredatabricks.net
címre.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 meg a
Enter
gombot a javasolt profilnév elfogadásához, 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 Databricks parancssori felületét a parancs
databricks auth profiles
futtatásához. 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
--host
értékű profillal rendelkezik, előfordulhat, hogy együtt kell megadnia a--host
és-p
beállításokat, hogy a Databricks CLI megkereshesse 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
-p <profile-name>
parancssori beállítással, amit adatabricks bundle validate
,databricks bundle deploy
,databricks bundle run
vagydatabricks bundle destroy
parancsokhoz fűzünk. Lásd a Databricks Asset Bundles fejlesztését. - A csomagkonfigurációs fájl legfelső szintű
workspace
-leképezésén belül aprofile
-leképezés értékeként szerepel. A Databricks azonban azt javasolja, hogy ahost
-leképezési csoportot állítsa be az Azure Databricks munkaterület URL-címére aprofile
-leképezés helyett, mert így a csomagkonfigurációs fájlok hordozhatóbbá válnak. 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: Felügyelet nélküli hozzáférés engedélyezése az Azure Databricks-erőforrásokhoz szolgáltatásfőazonosító használatával OAuth segítségével.
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 CLI valós idejű, manuális telepítéséhez a számítási erőforráson, tekintse meg a Databricks CLI telepítése vagy frissítésecímű témakört.
- 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-rendszereket szeretne használni a Databricks parancssori felületének automatikus telepítéséhez egy virtuális gépre, tekintse meg a CI/CD-rendszerszolgáltató dokumentációját, és Telepítse vagy frissítse a Databricks CLI.
Á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ás az Azure Databricks munkaterületenkénti URL-je, példáulhttps://adb-1234567890123456.7.azuredatabricks.net
. -
DATABRICKS_CLIENT_ID
, az Azure Databricks szolgáltatásnév főfelhasználójának alkalmazásazonosítója értékére állítva. -
DATABRICKS_CLIENT_SECRET
állítsa be az Azure Databricks szolgáltatásfelelős OAuth Titkos értékére.
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 csomagot, amely üzembe helyez egy jegyzetfüzetet egy Azure Databricks-munkaterületen, majd az üzembe helyezett jegyzetfüzetet DLT-folyamatként futtatja. Lásd: DLT-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: A dbx csomagokra történő migrálása.
- Fedezze fel a Databricks Asset Bundles legújabb fő új funkcióit. Lásd a Databricks Asset Bundles funkció kibocsátási megjegyzéseit.