Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Important
Omgevingsversies voor Lakeflow-pijpleidingen staan in Public Preview.
Een omgevingsversie legt de Python-taalversie en de verzameling vooraf geïnstalleerde Python-bibliotheken vast die beschikbaar zijn voor de Python-code van uw pijplijn. Alle externe afhankelijkheden die u aan de pijplijn toevoegt, worden boven op deze basis gelaagd.
Omgevingsversies ontkoppelen de Python runtime van uw pijplijn uit de Databricks Runtime-versie waarop uw pijplijn wordt uitgevoerd. Hoewel een omgevingsversie is ingesteld, worden uw Python taalversie of vooraf geïnstalleerde bibliotheekversies niet gewijzigd door Databricks Runtime-upgrades. De Python-runtime komt ook overeen met serverless Jobs en notebooks die dezelfde omgevingsversie gebruiken. Als u de huidige Versie van Databricks Runtime voor Lakeflow-pijplijnen wilt vinden, raadpleegt u opmerkingen bij de release van Lakeflow-pijplijnen en het release-upgradeproces.
Databricks migreert automatisch in aanmerking komende pijplijnen naar een omgevingsversie. Zie Automatische migratie.
Important
Pipelines met een omgevingsversie draaien Python-code via Spark Connect, wat het gedrag van bepaalde pipeline-code kan veranderen. Voor de volledige lijst van beperkingen en gedragswijzigingen, zie Omgevingsversiecompatibiliteit.
Requirements
Omgevingsversies hebben de volgende vereisten:
- De pijplijn moet Unity Catalog gebruiken. Hive-metastore-pijplijnen worden niet ondersteund.
Ondersteunde omgevingsversies
Lakeflow-pijplijnen ondersteunen omgevingsversie 3 en 4 op zowel serverloze als klassieke compute. Zie de referentie voor omgevingsversies voor de versie van de Python-taal en de volledige lijst met vooraf geïnstalleerde Python-bibliotheken die voor elke versie beschikbaar zijn.
Automatische migratie
Databricks migreert automatisch in aanmerking komende pijplijnen naar een omgevingsversie. Migratie vindt plaats bij de volgende update van een pijplijn, vereist geen handmatige stappen en bevat de volgende waarborgen:
- Gedrag wordt gecontroleerd vóór migratie. Databricks scant je pijplijn op codepatronen die zich anders zouden gedragen onder Spark Connect en vergelijkt het uitvoerplan van de pijplijn voor en na migratie. Zie Omgevingsversiecompatibiliteit.
- Een mislukte migratie wordt automatisch teruggedraaid. Als een gemigrerde update om welke reden dan ook faalt, wordt deze gestopt voordat er data is geschreven, en keert de pipeline bij de volgende update automatisch terug naar de vorige runtime. U hoeft geen actie te ondernemen.
- Je expliciete instellingen worden altijd gerespecteerd. Als je
environment_versionzelf instelt, overschrijft Databricks het nooit.
Zodra een pipeline succesvol is gemigreerd, draait deze voortaan op de omgevingsversie. Je kunt de versie zien die is geselecteerd in de pipeline-instellingen, de GetPipeline API-respons en het runtime_details eventlogboek.
Wat wordt niet automatisch geïmporteerd
Een pijplijn wordt niet automatisch gemigreerd als een van de volgende voorwaarden van toepassing is:
- Er zijn onopgeloste Spark Connect-compatibiliteitswaarschuwingen sinds de meest recente update.
- Het is geen Unity Catalog-pijplijn.
- Het gebruikt een functie die automatische migratie nog niet ondersteunt:
foreach_batchsinks, event hooks, AUTO CDC vanuit een snapshotfunctie als bron, of een aangepaste installatiekopie.
Pipelines die niet automatisch worden gemigreerd, blijven draaien op hun vorige Python-runtime zonder verandering. Je kunt zelf een omgevingsversie inschakelen zodra de pipeline geschikt is.
Schakel zelf een omgevingsversie in
Automatische migratie dekt de meeste pijplijnen. Je kunt ook expliciet een omgevingsversie configureren, bijvoorbeeld om eerder te migreren of een specifieke versie vast te pinnen, via de pipeline editor UI, de Pipelines REST API of Declarative Automation Bundles.
Controleer voordat je expliciet een omgevingsversie inschakelt of je pipeline compatibel is met Spark Connect. Als Databricks detecteert dat het inschakelen van de versie het gedrag van je pipeline zou veranderen, faalt de update voordat er data is geschreven, met een foutmelding die het verschil aangeeft dat opgelost moet worden.
Inschakelen via de gebruikersinterface
- Klik in de pijplijneditor op Instellingen.
- Selecteer onder Pijplijnomgeving
Omgeving bewerken.
- Selecteer een omgevingsversie in de vervolgkeuzelijst.
- Sla de pijplijninstellingen op.
Externe afhankelijkheden die zijn toegevoegd in de sectie Pijplijnomgeving , worden gelaagd boven op de bibliotheken die zijn opgenomen in de geselecteerde omgevingsversie. Zie Python-afhankelijkheden voor pijplijnen beheren.
Inschakelen via de API
De REST API voor pijplijnen accepteert een environment blok voor pijplijn maken en bijwerken. Verificatie van persoonlijke toegangstokens moet zijn ingeschakeld voor de werkruimte.
Een pipeline maken met een omgevingsversie:
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.*"
]
}
}'
Als u de omgevingsversie voor een bestaande pijplijn wilt instellen, verzendt u hetzelfde environment blok met PUT /api/2.0/pipelines/<pipeline-id>.
Inschakelen met declaratieve automatiseringsbundels
Wanneer u een pijplijn maakt met behulp van declaratieve Automation-bundels, kunt u een omgevingsversie instellen in de YAML-definitie van de pijplijn.
- Zorg ervoor dat uw Databricks CLI versie v0.294.0 of hoger heeft. Als dat niet het is, voert u een upgrade uit door de installatiehandleiding te volgen.
- Stel een bundel in door de zelfstudie pijplijnenbundel te volgen.
- Zoek de YAML van de pijplijn in uw bundel, meestal
<bundle-folder>/resources/<pipeline_name>_pipeline.yml. - Stel de
environment_versionendependenciesvelden in de YAML-pijplijn in:
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}
De omgevingsversie van een pijplijn controleren
Om te controleren welke omgevingsversie een pipeline draait, of je deze expliciet instelt of Databricks deze selecteert tijdens automatische migratie:
-
UI: Open de pijplijninstellingen en controleer de sectie Pijplijnomgeving of inspecteer het JSON-deelvenster voor het
environment.environment_versionveld. -
API: Aanroepen
GET /api/2.0/pipelines/<pipeline-id>en zoeken naarenvironment.environment_versionin het antwoord. Dit toont een versie die je expliciet hebt ingesteld; Om een versie te zien die door automatische migratie is geselecteerd, gebruik je het onderstaande gebeurtenislogboek. -
Gebeurtenislog: Inspecteer het
runtime_detailsevenement, dat de omgevingsversie rapporteert die voor de update is gebruikt. Zie Details voor de gebeurtenis runtime_details.
Schakel een omgevingsversie uit of rol terug
Je hoeft een automatische migratie niet handmatig terug te draaien. Een migratie die mislukt, wordt automatisch teruggedraaid bij de volgende update. Wanneer de omgevingsversie wordt verwijderd, keert de pijplijn terug naar de vorige Python runtimeconfiguratie. Als er iets onverwachts gebeurt, neem dan contact op met de ondersteuning van Azure Databricks.
Aanvullende bronnen
- Compatibiliteit van omgevingsversies — beperkingen, gedragswijzigingen, de compatibiliteitsscan en automatische migratie.
- Beheer Python afhankelijkheden voor pijplijnen: externe Python afhankelijkheden boven op een omgevingsversie.