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


DLT-folyamat átalakítása Databricks-eszközcsomag-projektté

Ez a cikk bemutatja, hogyan konvertálhat egy meglévő DLT-folyamatot Databricks-eszközcsomagok projektté. A csomagok lehetővé teszik az Azure Databricks adatfeldolgozási konfigurációjának meghatározását és kezelését egyetlen, forrás által szabályozott YAML-fájlban, amely egyszerűbb karbantartást tesz lehetővé, és lehetővé teszi az automatizált üzembe helyezést a célkörnyezetek számára.

A konvertálási folyamat áttekintése

Meglévő folyamat köteggé alakításának konkrét lépéseit bemutató diagram

A meglévő folyamat csomaggá alakításához a következő lépéseket kell elvégeznie:

  1. Győződjön meg arról, hogy rendelkezik hozzáféréssel egy korábban konfigurált folyamathoz, amelyet csomaggá szeretne alakítani.
  2. Hozzon létre vagy készítsen elő egy mappát (lehetőleg forrásvezérelt hierarchiában) a csomag tárolásához.
  3. Hozzon létre egy konfigurációt a csomaghoz a meglévő folyamatból az Azure Databricks parancssori felületével.
  4. Tekintse át a létrehozott csomagkonfigurációt, és győződjön meg arról, hogy az elkészült.
  5. Csatolja a csomagot az eredeti csővezetékhez.
  6. Helyezze üzembe a folyamatot egy cél-munkaterületen a csomagkonfiguráció használatával.

Követelmények

Mielőtt hozzákezd, a következőt kell tennie:

1. lépés: Mappa beállítása a csomagprojekthez

Hozzá kell férnie egy Git-adattárhoz, amely az Azure Databricksben Git-mappaként van konfigurálva. Ebben az adattárban fogja létrehozni a csomagprojektet, amely a forráskövetést alkalmazza, és elérhetővé teszi a többi közreműködő számára a megfelelő Azure Databricks-munkaterület Git-mappájában. További részletekért a Git mappákról lásd: Databricks Git-mappák integrációja.

  1. Menjen a klónozott Git-repozitórium gyökeréhez a helyi számítógépen.

  2. A mappahierarchia megfelelő helyén hozzon létre egy mappát, amely kifejezetten a csomagprojekthez tartozik. Például:

    mkdir - p ~/source/my-pipelines/ingestion/events/my-bundle
    
  3. Módosítsa az aktuális munkakönyvtárat erre az új mappára. Például:

    cd ~/source/my-pipelines/ingestion/events/my-bundle
    
  4. Inicializáljon egy új csomagot a databricks bundle init futtatásával és a kérdések megválaszolásával. A befejezés után egy databricks.yml nevű projektkonfigurációs fájl jelenik meg a projekt új kezdőlapmappájában. Ez a fájl szükséges a folyamat parancssorból való üzembe helyezéséhez. A konfigurációs fájl további részleteiért lásd Databricks Asset Bundle konfigurációs.

2. lépés: A folyamatkonfiguráció létrehozása

Ebből az új könyvtárból a klónozott Git-adattár mappafája alatt futtassa az Azure Databricks CLI-csomag generálási parancsát, és adja meg a DLT-folyamat azonosítóját <pipeline-id>:

databricks bundle generate pipeline --existing-pipeline-id <pipeline-id> --profile <profile-name>

A generate parancs futtatásakor létrehoz egy csomagkonfigurációs fájlt a folyamathoz a csomag resources mappájában, és letölti a hivatkozott összetevőket a src mappába. A --profile (vagy -p jelző) megadása nem kötelező, de ha rendelkezik egy adott Databricks-konfigurációs profillal (amely az Azure Databricks parancssori felület telepítésekor létrehozott .databrickscfg-fájlban van definiálva), amelyet inkább az alapértelmezett profil helyett használ, adja meg ebben a parancsban. A Databricks konfigurációs profiljaival kapcsolatos információkért lásd Azure Databricks konfigurációs profilokat.

3. lépés: A csomag projektfájljainak áttekintése

Amikor a bundle generate parancs befejeződik, két új mappát fog létrehozni:

  • resources a projekt alkönyvtára, amely projektkonfigurációs fájlokat tartalmaz.
  • src az a projektmappa, amelyben a forrásfájlok, például a lekérdezések és a jegyzetfüzetek tárolódnak.

A parancs további fájlokat is létrehoz:

  • *.pipeline.yml az resources alkönyvtár alatt. Ez a fájl a DLT-folyamat adott konfigurációját és beállításait tartalmazza.
  • A meglévő DLT-folyamatból másolt forrásfájlok, például az SQL-lekérdezések a src alkönyvtárban.
├── databricks.yml                            # Project configuration file created with the bundle init command
├── resources/
│   └── {your-pipeline-name.pipeline}.yml     # Pipeline configuration
└── src/
    └── {SQl-query-retrieved-from-your-existing-pipeline}.sql # Your pipeline's declarative query

4. lépés: A kötegfolyamat kötése a meglévő folyamathoz

A módosítások során naprakészen kell tartania a csomag folyamatdefinícióját, vagy kötést kell. Ehhez futtassa az Azure Databricks cli-csomag üzembehelyezési kötési parancsát:

databricks bundle deployment bind <pipeline-name> <pipeline-ID> --profile <profile-name>

<pipeline-name> az adatfolyam neve. Ennek a névnek meg kell egyeznie az új resources könyvtár folyamatkonfigurációjához tartozó fájlnév előtagú sztringértékével. Ha például egy ingestion_data_pipeline.pipeline.yml nevű folyamatkonfigurációs fájl szerepel a resources mappában, akkor a folyamatnévként meg kell adnia ingestion_data_pipeline.

<pipeline-ID> az ön csővezetékének azonosítója. Ugyanaz, mint amit az ezen utasításokra vonatkozó követelmények részeként másoltál.

5. lépés: A folyamat üzembe helyezése az új csomaggal

Most helyezze üzembe a folyamatcsomagot a cél-munkaterületen az Azure Databricks CLI csomag üzembe helyezési parancsával:

databricks bundle deploy --target <target-name> --profile <profile-name>

A --target jelző megadása kötelező, és olyan sztringre kell állítani, amely megfelel a konfigurált cél-munkaterület nevének, például development vagy production.

Ha ez a parancs sikeres, a DLT-folyamat konfigurációja egy külső projektben van, amely betölthető más munkaterületekre, futtatható, és könnyen megosztható a fiókjában lévő többi Azure Databricks-felhasználóval.

Hibaelhárítás

Kérdés Megoldás
"databricks.yml nem található" hiba bundle generate futtatásakor A bundle generate parancs jelenleg nem hozza létre automatikusan a csomagkonfigurációs fájlt (databricks.yml). A fájlt databricks bundle init használatával vagy manuálisan kell létrehozni.
A meglévő folyamatbeállítások nem felelnek meg a létrehozott folyamat YAML-konfigurációjának értékeinek A folyamatazonosító nem jelenik meg a csomagkonfigurációs YML-fájlban. Ha egyéb hiányzó beállításokat észlel, manuálisan alkalmazhatja őket.

Tippek a sikerhez

  • Mindig használjon verziókövetést. Ha nem Databricks Git-mappákat használ, a projekt alkönyvtárait és fájljait egy Git- vagy más verzióvezérelt adattárban vagy fájlrendszerben tárolja.
  • A folyamat tesztelése nem éles környezetben (például "fejlesztési" vagy "tesztelési" környezetben) az éles környezetben való üzembe helyezés előtt. Könnyű véletlenül helytelen konfigurációt bevezetni.

További erőforrások

Az adatfeldolgozás definiálásához és kezeléséhez kötegek használatával kapcsolatos további információkért lásd: