Környezeti verziók konfigurálása a folyamatok számára

Important

A Lakeflow pipelines környezeti verziói nyilvános előzetesben érhetők el.

A környezeti verzió rögzíti a Python nyelvi verziót és a folyamat Python kódjához elérhető előre telepített Python kódtárakat. A folyamathoz hozzáadott külső függőségek ennek a bázisnak a tetejére vannak rétegzve.

A környezeti verziók leválasztják a folyamat Python futtatókörnyezetét attól a Databricks Runtime-verziótól, amelyen a folyamat fut. Amíg a környezeti verzió be van állítva, a Databricks Futtatókörnyezet frissítései nem módosítják Python nyelvi vagy előre telepített kódtárverziókat. A Python futtatókörnyezet azonos környezeti verziót használó kiszolgáló nélküli feladatokkal és jegyzetfüzetekkel is konzisztens. A Lakeflow-folyamatok jelenlegi Databricks Runtime-verziójának megkereséséhez tekintse meg a Lakeflow-folyamatok kibocsátási megjegyzéseit és a kiadásfrissítési folyamatot.

A Databricks automatikusan áthelyezi a jogosult pipeline-eket egy környezeti verzióra. Lásd: Automatikus migráció.

Important

A környezeti verzióval rendelkező pipelinek Python kódot futtatnak a Spark Connecten keresztül, ami megváltoztathatja egyes csővezeték-kódok viselkedését. A korlátozások és viselkedésváltozások teljes listájáért lásd: Környezeti verziókompatibilitás.

Requirements

A környezeti verziókra a következő követelmények vonatkoznak:

  • A folyamatnak a Unity Catalogot kell használnia. A Hive metaadattár folyamatai nem támogatottak.

Támogatott környezetverziók

A Lakeflow-folyamatok támogatják a 3 . és a 4 . környezeti verziót kiszolgáló nélküli és klasszikus számításon is. A Python nyelvi verzióról és az egyes verziókban elérhető előre telepített Python kódtárak teljes listájáról lásd a környezet verzióreferenciáját.

Automatikus migráció

A Databricks automatikusan áthelyezi a jogosult pipeline-eket egy környezeti verzióra. A migráció a csővezeték következő frissítésén történik, nem igényel kézi lépéseket, és ezeket a védelmi intézkedéseket tartalmazza:

  • A viselkedést a migráció előtt ellenőrizzük. A Databricks átvizsgálja a pipeline-t olyan kódminták után, amelyek másképp viselkednének a Spark Connect alatt, és összehasonlítja a csővezeték kimeneti tervét a migráció előtt és után. Lásd : Környezeti verziókompatibilitás.
  • Egy sikertelen migráció automatikusan visszafordul. Ha egy áttelepített frissítés bármilyen okból meghibásodik, az adatírás előtt megáll, és a csővezeték automatikusan visszatér korábbi futási idejére a következő frissítésnél. Nincs szükség semmilyen műveletre.
  • A explicit beállításaidat mindig tiszteletben tartják. Ha te állítod be a environment_version értéket, a Databricks soha nem írja felül.

Amint egy csővezeték sikeresen migrál, a környezeti verzión fut tovább. A pipeline beállításaiban megtekintheted a kiválasztott verziót, az GetPipeline API választ és az runtime_details eseménynaplót.

Mi nem migrál automatikusan

Egy csővezetéket nem migrálnak automatikusan, ha az alábbiak közül bármelyik érvényes:

Azok a csővezetékek, amelyeket nem migrálnak, automatikusan működnek a korábbi Python futásidőjükön, változás nélkül. A környezeti verziót te magad is engedélyezheted, amint a pipeline jogosult lesz rá.

Engedélyezzen manuálisan egy környezetverziót

Az automatikus migráció a legtöbb vezetéket lefedi. Környezeti verziót kifejezetten konfigurálhatsz, például hogy hamarabb migrálj vagy rögzítsd egy adott verziót, a pipeline editor UI-n, a Pipelines REST API-n vagy a Declarative Automation Bundles-on keresztül.

Mielőtt kifejezetten engedélyeznél egy környezeti verziót, ellenőrizd, hogy a pipeline kompatibilis-e a Spark Connect-tel. Ha a Databricks azt észleli, hogy a verzió engedélyezése megváltoztatná a folyamat működését, a frissítés még azelőtt meghiúsul, hogy bármilyen adat írására sor kerülne, és egy hibaüzenet azonosítja a feloldandó eltérést.

Engedélyezés a felhasználói felületen keresztül

  1. A folyamatszerkesztőben kattintson a Beállítások gombra.
  2. A Folyamatkörnyezet területen válassza a Ceruza ikont.Környezet szerkesztése.
  3. Válasszon ki egy környezeti verziót a legördülő listából.
  4. Mentse a folyamat beállításait.

A Folyamatkörnyezet szakaszban hozzáadott külső függőségek a kiválasztott környezeti verzióhoz tartozó kódtárak fölé vannak rétegelve. Lásd: Folyamatok Python-függőségeinek kezelése.

Engedélyezés az API-val

A Pipelines REST API egy blokkot environment fogad el a folyamat létrehozása és frissítése során. A személyes hozzáférési jogkivonat hitelesítését engedélyezni kell a munkaterületen.

Folyamat létrehozása környezeti verzióval:

curl --request POST \
  --url 'https://<workspace-host>/api/2.0/pipelines' \
  --header 'Authorization: Bearer <personal-access-token>' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "name": "<pipeline-name>",
    "catalog": "<catalog>",
    "schema": "<schema>",
    "channel": "CURRENT",
    "environment": {
      "environment_version": "4",
      "dependencies": [
        "simplejson==3.19.*"
      ]
    }
  }'

Ha egy meglévő pipeline-on szeretné beállítani a környezeti verziót, küldje el ugyanazt a environment blokkot a PUT /api/2.0/pipelines/<pipeline-id> elemmel együtt.

Engedélyezés deklaratív automation-csomagokon keresztül

Amikor egy folyamatot a Declarative Automation Bundles használatával hoz létre, a folyamat YAML-definíciójában beállíthat egy környezeti verziót.

  1. Győződjön meg arról, hogy a Databricks CLI a 0.294.0-s vagy újabb verziójú. Ha nem, frissítsen a telepítési útmutatót követve.
  2. Állítson be egy csomagot a pipelines bundle oktatóanyag lépéseit követve.
  3. Keresse meg a folyamat YAML-fájlját a csomagjában, általában <bundle-folder>/resources/<pipeline_name>_pipeline.yml.
  4. Állítsa be a(z) environment_version és dependencies mezőket a folyamat YAML-fájljában:
resources:
  pipelines:
    my_pipeline:
      name: my_pipeline
      catalog: ${var.catalog}
      schema: ${var.schema}
      root_path: '../src/my_pipeline'
      libraries:
        - glob:
            include: ../src/my_pipeline/transformations/**
      environment:
        environment_version: 4
        dependencies:
          - --editable ${workspace.file_path}

Folyamat környezeti verziójának ellenőrzése

Annak ellenőrzéséhez, hogy melyik környezeti verziót fut egy csővezeték, hogy kifejezetten beállítottad-e, vagy a Databricks választotta ki az automatikus migráció során:

  • Felhasználói felület: Nyissa meg a folyamatbeállításokat, és ellenőrizze a Folyamatkörnyezet szakaszt, vagy vizsgálja meg a mező JSON panelét environment.environment_version .
  • API: Hívja meg a(z) GET /api/2.0/pipelines/<pipeline-id> elemet, és keresse a(z) environment.environment_version elemet a válaszban. Ez egy kifejezetten beállított verziót mutat; Az automatikus migrációval kiválasztott verzió megtekintéséhez használja az alábbi eseménynaplót.
  • Eseménynapló: Vizsgáld meg az runtime_details eseményt, amely a frissítéshez használt környezeti verziót jelenti. Lásd runtime_details esemény részleteit.

Kapcsold ki vagy fordítsd vissza egy környezeti verziót

Nem kell manuálisan visszafordítanod az automatikus migrációt. A sikertelen migrációt a következő frissítéskor automatikusan visszaállítják. A környezeti verzió eltávolításakor a folyamat visszatér az előző Python futtatókörnyezeti konfigurációjához. Ha valami váratlan történik, vedd fel a kapcsolatot az Azure Databricks ügyfélszolgálatával.

További források