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


Delta Live Tables-folyamatok fejlesztése Databricks-eszközcsomagokkal

A Databricks-eszközcsomagok, más néven csomagok lehetővé teszik az Azure Databricks-erőforrások, például a Delta Live Tables-folyamatok programozott érvényesítését, üzembe helyezését és futtatását. Lásd: Mik azok a Databricks-eszközcsomagok?.

Ez a cikk azt ismerteti, hogyan hozhat létre csomagot egy folyamat programozott kezeléséhez. Lásd : Mi az a Delta Live Tables?. A csomag a Python Databricks Asset Bundles alapértelmezett csomagsablonjával jön létre, amely egy folyamat definíciójával és a futtatáshoz szükséges feladattal párosított jegyzetfüzetből áll. Ezután érvényesítheti, üzembe helyezheti és futtathatja az üzembe helyezett folyamatot az Azure Databricks-munkaterületen.

Tipp.

Ha olyan meglévő folyamatokkal rendelkezik, amelyeket az Azure Databricks felhasználói felületével vagy API-jával hoztak létre, amelyeket csomagokba szeretne áthelyezni, meg kell határoznia őket egy csomag konfigurációs fájljaiban. A Databricks azt javasolja, hogy először hozzon létre egy csomagot az alábbi lépésekkel, majd ellenőrizze, hogy a csomag működik-e. Ezután további definíciókat, jegyzetfüzeteket és egyéb forrásokat is hozzáadhat a csomaghoz. Lásd: Meglévő folyamatdefiníció hozzáadása egy csomaghoz.

Követelmények

  • A Databricks CLI 0.218.0-s vagy újabb verziója. A Databricks parancssori felület telepített verziójának ellenőrzéséhez futtassa a parancsot databricks -v. 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 távoli munkaterületen engedélyezni kell a munkaterület fájljait. Lásd: Mik azok a munkaterületfájlok?.

(Nem kötelező) Python-modul telepítése a helyi folyamatok fejlesztésének támogatásához

A Databricks egy Python-modult biztosít a Delta Live Tables folyamatkódjának helyi fejlesztéséhez szintaxis-ellenőrzéssel, automatikus kiegészítéssel és adattípus-ellenőrzéssel, amikor kódot ír az IDE-ben.

A helyi fejlesztéshez használható Python-modul a PyPi-on érhető el. A modul telepítéséhez tekintse meg a Python-csonkot a Delta Live Tableshez.

Csomag létrehozása projektsablon használatával

Hozza létre a csomagot a Python azure Databricks alapértelmezett csomagsablonjának használatával. Ez a sablon egy olyan jegyzetfüzetből áll, amely egy Delta Live Tables-folyamatot definiál, amely az eredeti adatkészletből szűri az adatokat. A csomagsablonokról további információt a Databricks Asset Bundle projektsablonjaiban talál.

Ha teljesen új csomagot szeretne létrehozni, olvassa el a Csomag létrehozása manuálisan című témakört.

1. lépés: Hitelesítés beállítása

Ebben a lépésben beállítja a hitelesítést a fejlesztői gépen található Databricks parancssori felület és az Azure Databricks-munkaterület között. Ez a cikk feltételezi, hogy OAuth felhasználó–gép (U2M) hitelesítést és egy hitelesítéshez elnevezett DEFAULT Azure Databricks-konfigurációs profilt szeretne használni.

Feljegyzés

A U2M-hitelesítés megfelelő ezeknek a lépéseknek a valós idejű kipróbálásához. A teljes mértékben automatizált munkafolyamatok esetében a Databricks azt javasolja, hogy inkább OAuth machine-to-machine (M2M) hitelesítést használjon. Tekintse meg az M2M-hitelesítés beállítási utasításait a hitelesítésben.

  1. 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>
    
  2. 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 profilesa Databricks parancssori felületével. Egy adott profil meglévő beállításainak megtekintéséhez futtassa a parancsot databricks auth env --profile <profile-name>.

  3. A webböngészőben végezze el a képernyőn megjelenő utasításokat az Azure Databricks-munkaterületre való bejelentkezéshez.

  4. 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.

2. lépés: A csomag létrehozása

Csomag inicializálása az alapértelmezett Python-csomag projektsablonnal.

  1. A terminál vagy a parancssor használatával váltson egy könyvtárra a helyi fejlesztőgépen, amely tartalmazza a sablon által létrehozott csomagot.

  2. A Parancs futtatásához használja a Databricks parancssori felületét bundle init :

    databricks bundle init
    
  3. A beállításnál Template to usehagyja meg az alapértelmezett értéket default-python a billentyű lenyomásával Enter.

  4. Ehhez Unique name for this projecthagyja meg az alapértelmezett értéket my_project, vagy írjon be egy másik értéket, majd nyomja le a billentyűt Enter. Ez határozza meg a csomag gyökérkönyvtárának nevét. Ez a gyökérkönyvtár az aktuális munkakönyvtárban jön létre.

  5. Válassza ki no és nyomja le Entera következőtInclude a stub (sample) notebook: Ez arra utasítja a Databricks parancssori felületét, hogy jelenleg ne adjon hozzá mintajegyzetfüzetet, mivel a beállításhoz társított mintajegyzetfüzetben nincs Delta Live Tables-kód.

  6. A beállításnál Include a stub (sample) DLT pipelinehagyja meg az alapértelmezett értéket yes a billentyű lenyomásával Enter. Ez arra utasítja a Databricks parancssori felületét, hogy vegyen fel egy delta live tables kódot tartalmazó mintajegyzetfüzetet.

  7. Válassza ki no és nyomja le Entera következőtInclude a stub (sample) Python package: Ez arra utasítja a Databricks parancssori felületét, hogy ne adjon hozzá Python-mintacsomagfájlokat vagy kapcsolódó buildelési utasításokat a csomaghoz.

3. lépés: A csomag felfedezése

A sablon által létrehozott fájlok megtekintéséhez váltson az újonnan létrehozott csomag gyökérkönyvtárára. A különösen fontos fájlok közé tartoznak a következők:

  • databricks.yml: Ez a fájl megadja a csomag programozott nevét, hivatkozik a folyamatdefinícióra, és megadja a cél-munkaterület beállításait.
  • resources/<project-name>_job.yml és resources/<project-name>_pipeline.yml: Ezek a fájlok határozzák meg a folyamatfrissítési feladatot tartalmazó feladatot és a folyamat beállításait.
  • src/dlt_pipeline.ipynb: Ez a fájl egy jegyzetfüzet, amely futtatáskor végrehajtja a folyamatot.

A folyamatok testreszabásához a folyamatdeklaráción belüli leképezések megfelelnek a FOLYAMAT-művelet kérelem hasznos adatainak a REST API-referencia POST /api/2.0/folyamataiban meghatározott hasznos adatainak, YAML formátumban kifejezve.

4. lépés: A projekt csomagkonfigurációs fájljának ellenőrzése

Ebben a lépésben ellenőrzi, hogy a csomagkonfiguráció érvényes-e.

  1. A gyökérkönyvtárból a Databricks parancssori felületével futtassa a parancsot az bundle validate alábbiak szerint:

    databricks bundle validate
    
  2. Ha a csomagkonfiguráció összegzését adja vissza, az ellenőrzés sikeres volt. Ha bármilyen hibát ad vissza, javítsa ki a hibákat, majd ismételje meg ezt a lépést.

Ha a lépés után módosítja a csomagot, ismételje meg ezt a lépést annak ellenőrzéséhez, hogy a csomagkonfiguráció továbbra is érvényes-e.

5. lépés: A helyi projekt üzembe helyezése a távoli munkaterületen

Ebben a lépésben üzembe helyezi a helyi jegyzetfüzetet a távoli Azure Databricks-munkaterületen, és létrehozza a Delta Live Tables-folyamatot a munkaterületen belül.

  1. A csomag gyökérkönyvtárában a Databricks parancssori felületével futtassa a parancsot az bundle deploy alábbiak szerint:

    databricks bundle deploy -t dev
    
  2. Ellenőrizze, hogy a helyi jegyzetfüzet üzembe lett-e helyezve: Az Azure Databricks-munkaterület oldalsávján kattintson a Munkaterület gombra.

  3. Kattintson a Users><your-username>> .bundle ><project-name>> dev > files > src mappába. A jegyzetfüzetnek ebben a mappában kell lennie.

  4. Ellenőrizze, hogy a folyamat létrejött-e: Az Azure Databricks-munkaterület oldalsávján kattintson a Delta Live Tables elemre.

  5. A Delta Live Tables lapon kattintson a [dev <your-username>] <project-name>_pipeline elemre.

Ha a lépés után módosítja a csomagot, ismételje meg a 4–5. lépést annak ellenőrzéséhez, hogy a csomagkonfiguráció továbbra is érvényes-e, majd telepítse újra a projektet.

6. lépés: Az üzembe helyezett projekt futtatása

Ebben a lépésben elindítja a Delta Live Tables folyamat futtatását a munkaterületen a parancssorból.

  1. A gyökérkönyvtárból a Databricks parancssori felülettel futtassa a bundle run parancsot az alábbiak szerint, a 2. lépésben a projekt nevére cserélve <project-name> :

    databricks bundle run -t dev <project-name>_pipeline
    
  2. Másolja ki a terminálban megjelenő értéket Update URL , és illessze be ezt az értéket a webböngészőbe az Azure Databricks-munkaterület megnyitásához.

  3. Az Azure Databricks-munkaterületen a folyamat sikeres befejezése után kattintson a taxi_raw nézetre és a filtered_taxis materializált nézetre a részletek megtekintéséhez.

Ha a lépés után módosítja a csomagot, ismételje meg a 4–6. lépést annak ellenőrzéséhez, hogy a csomagkonfiguráció továbbra is érvényes-e, telepítse újra a projektet, és futtassa az újra üzembe helyezési projektet.

7. lépés: Törlés

Ebben a lépésben törli az üzembe helyezett jegyzetfüzetet és a folyamatot a munkaterületről.

  1. A gyökérkönyvtárból a Databricks parancssori felületével futtassa a parancsot az bundle destroy alábbiak szerint:

    databricks bundle destroy -t dev
    
  2. Erősítse meg a folyamat törlésére vonatkozó kérést: Amikor a rendszer arra kéri, hogy véglegesen pusztítsa el az erőforrásokat, írja be y és nyomja le a következőt Enter:

  3. Erősítse meg a jegyzetfüzet törlésére vonatkozó kérést: Amikor a rendszer arra kéri, hogy véglegesen megsemmisítse a korábban üzembe helyezett mappát és annak összes fájlját, írja be y és nyomja le Enter.

  4. Ha a csomagot a fejlesztői gépről is törölni szeretné, a 2. lépésben törölheti a helyi könyvtárat.

Meglévő folyamatdefiníció hozzáadása egy csomaghoz

Egy meglévő Delta Live Tables-folyamatdefiníció alapján definiálhat egy új folyamatot egy csomagkonfigurációs fájlban. Meglévő folyamatdefiníció lekéréséhez manuálisan is lekérheti a felhasználói felületen, vagy programozott módon is létrehozhatja a Databricks parancssori felületével.

Meglévő folyamatdefiníció lekérése a felhasználói felületen

Meglévő folyamatdefiníció YAML-ábrázolásának lekérése az Azure Databricks-munkaterület felhasználói felületéről:

  1. Az Azure Databricks-munkaterület oldalsávján kattintson a Munkafolyamatok elemre.

  2. A Delta Live Tables lapon kattintson a folyamat Név hivatkozására.

  3. A Fejlesztés gomb mellett kattintson a kebabra, majd a Beállítások megtekintése YAML parancsra.

  4. Másolja a folyamatdefiníció YAML-jét a Folyamatbeállítások YAML párbeszédpanelén a helyi vágólapra a másolás ikonra kattintva.

  5. Adja hozzá a csomag fájljába databricks.yml másolt YAML-et, vagy hozzon létre egy konfigurációs fájlt a folyamathoz a resources kötegprojekt mappájában, és hivatkozzon rá a databricks.yml fájlból. Tekintse meg az erőforrásokat.

  6. Töltse le és adja hozzá a csomag projektforrására hivatkozott Python-fájlokat és jegyzetfüzeteket. A kötegösszetevők általában egy src csomag könyvtárában találhatók.

    Tipp.

    Az Azure Databricks-munkaterületről exportálhat egy meglévő jegyzetfüzetet a formátumba, .ipynb ha az Azure Databricks-jegyzetfüzet felhasználói felületéről a Fájlexportálás > > IPython-jegyzetfüzetre kattint.

    Miután hozzáadta a jegyzetfüzeteket, Python-fájlokat és egyéb összetevőket a csomaghoz, győződjön meg arról, hogy a folyamatdefiníció megfelelően hivatkozik rájuk. Például a köteg könyvtárában található src/ jegyzetfüzet hello.ipynb esetében:

    resources:
      pipelines:
        hello-pipeline:
          name: hello-pipeline
          libraries:
            - notebook:
                path: ../src/hello.ipynb
    

Meglévő folyamatdefiníció létrehozása a Databricks parancssori felületével

Egy meglévő folyamat csomagkonfigurációjának programozott létrehozása:

  1. Kérje le a meglévő folyamat azonosítóját a folyamat folyamatadatok oldalpaneljéről a felhasználói felületen, vagy használja a Databricks CLI databricks pipelines list-pipelines parancsot.

  2. Futtassa a bundle generate pipeline Databricks parancssori felületének parancsát, és állítsa be a folyamatazonosítót:

    databricks bundle generate pipeline --existing-pipeline-id 6565621249
    

    Ez a parancs létrehoz egy csomagkonfigurációs fájlt a folyamathoz a csomag mappájában resources , és letölti a hivatkozott összetevőket a src mappába.

    Tipp.

    Ha először egy kötegben lévő erőforrást a munkaterület egyikéhez köt bundle deployment bind , a munkaterületen lévő erőforrás a következő bundle deployután kötött csomagban meghatározott konfiguráció alapján frissül. További információ: bundle deployment bindKötegerőforrások kötése.