Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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:
- A legutóbbi frissítéséből megoldatlan Spark Connect kompatibilitási figyelmeztetések találhatók.
- Ez nem egy Unity Catalog pipeline.
- Olyan funkciót használ, amelyet az automatikus migráció még nem fed le:
foreach_batchelnyelések, eseményhorogok, AUTO CDC egy snapshot funkcióforrásból vagy egyedi kép.
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
- A folyamatszerkesztőben kattintson a Beállítások gombra.
- A Folyamatkörnyezet területen válassza a
Környezet szerkesztése.
- Válasszon ki egy környezeti verziót a legördülő listából.
- 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.
- 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.
- Állítson be egy csomagot a pipelines bundle oktatóanyag lépéseit követve.
- Keresse meg a folyamat YAML-fájlját a csomagjában, általában
<bundle-folder>/resources/<pipeline_name>_pipeline.yml. - Állítsa be a(z)
environment_versionésdependenciesmező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_versionelemet 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_detailsesemé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
- Környezeti verziókompatibilitás — korlátozások, viselkedésváltozások, kompatibilitási vizsgálat és automatikus migráció.
- Python-függőségek kezelése folyamatokhoz — külső Python-függőségek ráépítése egy környezetverzióra.