Megosztás a következőn keresztül:


A Databricks Asset Bundles fejlesztése

Ez a cikk egy Databricks-eszközcsomag fejlesztését és életciklusát ismerteti. A Databricks-eszközcsomagokkal kapcsolatos általános információkért lásd : Mik azok a Databricks-eszközcsomagok?.

Csomag életciklusa

A csomagok hatékony használatának megértéséhez ismernie kell a csomagok alapvető életciklusát:

  1. A csomagváz egy projekt alapján jön létre .
  2. A csomagprojekt helyi fejlesztésű . A csomag olyan konfigurációs fájlokat tartalmaz, amelyek meghatározzák az infrastruktúrát és a munkaterület beállításait, például az üzembehelyezési célokat, a Databricks-erőforrások beállításait, például a feladatokat és a folyamatokat, valamint a forrásfájlokat és egyéb összetevőket.
  3. A csomagprojekt érvényesítve van. Az ellenőrzés ellenőrzi a csomagkonfiguráció beállításait és erőforrásdefinícióit a megfelelő objektumsémákon, hogy a csomag üzembe helyezhető legyen a Databricksben.
  4. A csomag egy cél-munkaterületen van üzembe helyezve . A csomagokat leggyakrabban először egy felhasználó személyes fejlesztői munkaterületén helyezik üzembe tesztelés céljából. A csomag tesztelésének befejezése után a csomag üzembe helyezhető az előkészítésre, majd az éles célokra.
  5. Az üzembe helyezett csomagban definiált munkafolyamat-erőforrások futtathatók. Futtathat például egy feladatot.
  6. Ha a csomagot már nem használják, véglegesen megsemmisíthető.

A Databricks CLI-csomagparancsokkal kötegeket hozhat létre, érvényesíthet, helyezhet üzembe, futtathat és megsemmisíthet a következő szakaszokban leírtak szerint.

1. lépés: Csomag létrehozása

A csomag létrehozásának három módja van:

  1. Használja az alapértelmezett csomagsablont.
  2. Használjon egyéni csomagsablont.
  3. Hozzon létre manuálisan egy csomagot.

Alapértelmezett csomagsablon használata

Ha az Azure Databricks alapértelmezett csomagsablonját szeretné használni egy olyan kezdőcsomag létrehozásához, amelyet később testre szabhat, használja Databricks CLI 0.218.0-s vagy újabb verzióját a bundle init parancs futtatásához, amely lehetővé teszi az elérhető sablonok list közül való választást. Lásd: Csomag létrehozása projektsablonból.

databricks bundle init

Az alapértelmezett csomagsablonok forrását a databricks/cli és a databricks/mlops-stacks Github nyilvános adattáraiban tekintheti meg.

Ugorjon a 2. lépésre : Töltse ki a csomagkonfigurációs fájlokat.

Egyéni csomagsablon használata

Az Alapértelmezett Azure Databricks-sablontól eltérő csomagsablon használatához ismernie kell a távoli csomagsablon helyének helyi elérési útját vagy URL-címét. A Databricks CLI 0.218.0-s vagy újabb verziójával futtassa a parancsot az bundle init alábbiak szerint:

databricks bundle init <project-template-local-path-or-url>

A parancsról további információt a Databricks Asset Bundle projektsablonjaiban talál. Egy adott csomagsablonról a csomagsablon-szolgáltató dokumentációjában talál további információt.

Ugorjon a 2. lépésre : Töltse ki a csomagkonfigurációs fájlokat.

Csomag manuális létrehozása

Ha kötegsablon helyett manuálisan szeretne létrehozni egy csomagot, hozzon létre egy projektkönyvtárat a helyi gépen, vagy egy üres adattárat egy külső Git-szolgáltatóval.

A címtárban vagy az adattárban hozzon létre egy vagy több csomagkonfigurációs fájlt bemenetként. Ezek a fájlok YAML formátumban vannak kifejezve. Legalább egy (és csak egy) csomagkonfigurációs fájlnak kell lennie.databricks.yml A fájl leképezésében includedatabricks.yml további csomagkonfigurációs fájlokra kell hivatkozni.

A Databricks Asset Bundle konfigurációs szintaxisának megfelelő YAML-fájlok egyszerűbb és gyorsabb létrehozásához használhat olyan eszközt, mint például Visual Studio Code, PyCharm Professionalvagy IntelliJ IDEA Ultimate, amely támogatja a YAML-fájlokat és a JSON-schema fájlokat, az alábbiak szerint:

Visual Studio Code

  1. A YAML nyelvi kiszolgáló támogatásának hozzáadása a Visual Studio Code-hoz, például a YAML-bővítmény a Visual Studio Code Marketplace-ről való telepítésével.

  2. Generate Databricks Asset Bundle konfigurációs JSON schema fájlt Databricks CLI 0.218.0-s vagy újabb verziójával a bundle schemaparancs futtatásához és a kimenet JSON-fájlba való átirányításához. Például generate egy bundle_config_schema.json nevű fájlt az aktuális könyvtárban az alábbiak szerint:

    databricks bundle schema > bundle_config_schema.json
    
  3. A Visual Studio Code használatával hozzon létre vagy nyisson meg egy csomagkonfigurációs fájlt az aktuális könyvtárban. Ezt a fájlt el kell nevezni databricks.yml.

  4. Adja hozzá a következő megjegyzést a csomagkonfigurációs fájl elejéhez:

    # yaml-language-server: $schema=bundle_config_schema.json
    

    Feljegyzés

    Az előző megjegyzésben, ha a Databricks Asset Bundle konfigurációs JSON-schema fájlja egy másik elérési úton található, cserélje le az bundle_config_schema.json-et a schema fájl teljes elérési útjára.

  5. Használja a korábban hozzáadott YAML nyelvi kiszolgálói funkciókat. További információkért tekintse meg a YAML nyelvi kiszolgáló dokumentációját.

PyCharm Professional

  1. Generate Databricks Asset Bundle konfigurációs JSON-schema fájlt a Databricks CLI 0.218.0-s vagy újabb verziójával a bundle schemaparancs futtatásához és a kimenet JSON-fájlba való átirányításához. Például generate egy bundle_config_schema.json nevű fájlt az aktuális könyvtárban az alábbiak szerint:

    databricks bundle schema > bundle_config_schema.json
    
  2. Konfigurálja a PyCharmot a csomagkonfiguráció JSON-schema fájljának felismeréséhez, majd végezze el a JSON-schema leképezést a Egyéni JSON-schemakonfigurálásának utasításait követve.

  3. Csomagkonfigurációs fájl létrehozása vagy megnyitása a PyCharm használatával. Ezt a fájlt el kell nevezni databricks.yml. Gépelés közben a PyCharm ellenőrzi a JSON-schema szintaxist és formázást, és kódkiegészítési tippeket ad.

IntelliJ IDEA Ultimate

  1. Generate Databricks Asset Bundle konfigurációs JSON-schema fájlt a Databricks CLI 0.218.0-s vagy újabb verziójával a bundle schemaparancs futtatásához és a kimenet JSON-fájlba való átirányításához. Például generate egy bundle_config_schema.json nevű fájlt az aktuális könyvtárban az alábbiak szerint:

    databricks bundle schema > bundle_config_schema.json
    
  2. Konfigurálja az IntelliJ IDEA-t a csomagkonfiguráció JSON- fájljának felismeréséhez, majd végezze el a JSON- leképezést az egyéni JSON-konfigurálása utasításait követve.

  3. Csomagkonfigurációs fájl létrehozásához vagy megnyitásához használja az IntelliJ IDEA-t. Ezt a fájlt el kell nevezni databricks.yml. Gépelés közben az IntelliJ IDEA ellenőrzi a JSON schema szintaxisát és formázását, és kódkiegészítési tippeket ad.

2. lépés: A csomagkonfigurációs fájlok feltöltése

A csomagkonfigurációs fájlok olyan beállítások megadásával határozzák meg az Azure Databricks-munkafolyamatokat, mint a munkaterület részletei, az összetevők nevei, a fájlhelyek, a feladatok részletei és a folyamat részletei. A csomagkonfiguráció általában fejlesztési, előkészítési és éles üzembe helyezési célokat is tartalmaz. A csomagkonfigurációs fájlokról további információt a Databricks Asset Bundle konfigurációja című témakörben talál.

A bundle generate paranccsal automatikusan létrehozhat csomagkonfigurációt egy meglévő erőforráshoz a munkaterületen, majd a bundle deployment bind használatával összekapcsolhatja a csomagkonfigurációt a munkaterület erőforrásával, hogy az syncmaradjon. Lásd: Generate csomagkonfigurációs fájl és Köteg-erőforrások kötése.

3. lépés: A csomagkonfigurációs fájlok ellenőrzése

Mielőtt telepítené az összetevőket, vagy futtatna egy feladatot vagy folyamatot, ellenőrizze, hogy a csomagkonfigurációs fájlok definíciói érvényesek-e. Ehhez futtassa a parancsot a bundle validate csomagprojekt gyökérkönyvtárából. Lásd: Csomag érvényesítése.

databricks bundle validate

Ha az érvényesítés sikeres, a csomag identitásának összegzése és egy megerősítést kérő üzenet lesz visszaadva. A schemakimenetéhez használja a databricks bundle schema parancsot. Lásd: A csomag konfiguráció schemamegjelenítése.

4. lépés: A csomag üzembe helyezése

A csomag üzembe helyezése előtt győződjön meg arról, hogy a távoli munkaterületen engedélyezve vannak a munkaterületfájlok. Lásd: Mik azok a munkaterületfájlok?.

Ha egy csomagot távoli munkaterületen szeretne üzembe helyezni, futtassa a parancsot a bundle deploy csomag gyökérkönyvtárából a csomag üzembe helyezése című szakaszban leírtak szerint. A Databricks parancssori felület a csomagkonfigurációs fájlokban deklarált cél-munkaterületen lesz üzembe helyezve. Lásd a célokat.

databricks bundle deploy

A csomag egyedi identitását a telepítő neve, célja és identitása határozza meg. Ha ezek az attribútumok különböző csomagokban azonosak, a csomagok üzembe helyezése zavarja egymást. További részletekért tekintse meg a csomag üzembe helyezését ismertető cikket.

Tipp.

A környezeti változó beállításával databricks bundle a csomag gyökerén kívül is futtathat BUNDLE_ROOT parancsokat. Ha ez a környezeti változó nem set, databricks bundle parancsok az aktuális munkakönyvtárban való kereséssel próbálják megtalálni a csomag gyökerét.

5. lépés: A csomag futtatása

Egy adott feladat vagy folyamat futtatásához futtassa a parancsot a bundle run csomag gyökérkönyvtárából, és adja meg a csomagkonfigurációs fájlokban deklarált feladatot vagy folyamatkulcsot a Feladat vagy folyamat futtatása című szakaszban leírtak szerint. Az erőforráskulcs az erőforrás YAML-blokkjának legfelső szintű eleme. Ha nem ad meg feladat- vagy folyamatkulcsot, a rendszer kérni fogja, hogy select egy erőforrást, hogy az elérhető erőforrások list fusson. Ha a -t beállítás nincs megadva, a csomagkonfigurációs fájlokban deklarált alapértelmezett cél lesz használva. Például egy feladat futtatásához a kulccsal hello_job az alapértelmezett cél kontextusában:

databricks bundle run hello_job

Feladat futtatása kulccsal hello_job egy cél kontextusában a következő néven devdeklarált célhoz:

databricks bundle run -t dev hello_job

6. lépés: A csomag megsemmisítése

Figyelmeztetés

A csomagok megsemmisítése véglegesen törli a csomag korábban üzembe helyezett feladatait, folyamatait és összetevőit. Ez a művelet nem vonható vissza.

Ha végzett a csomaggal, és törölni szeretné a korábban üzembe helyezett feladatokat, folyamatokat és összetevőket, futtassa a parancsot a bundle destroy csomag gyökérkönyvtárából. Ez a parancs törli a csomagkonfigurációs fájlokban definiált összes korábban üzembe helyezett feladatot, folyamatot és összetevőt. Lásd: Csomag megsemmisítése.

databricks bundle destroy

Alapértelmezés szerint a rendszer kérni fogja a korábban üzembe helyezett feladatok, folyamatok és összetevők végleges törlésének megerősítését. Ha ki szeretné hagyni ezeket a kéréseket, és automatikus végleges törlést szeretne végrehajtani, adja hozzá a --auto-approvebundle destroy parancsot.