Omgevingsversies configureren voor pijplijnen

Important

Omgevingsversies voor SDP staan in bèta.

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 Spark-declaratieve pijplijnen wilt vinden, raadpleegt u de releaseopmerkingen van Lakeflow Spark Declarative Pipelines en het release-upgradeproces.

Important

Pijplijnen met een omgevingsversie voeren Python code uit via Spark Connect. Spark Connect wijzigt het gedrag van pijplijncode. Voordat u een omgevingsversie inschakelt voor een bestaande pijplijn, raadpleegt u de compatibiliteit met omgevingsversies voor beperkingen, gedragswijzigingen, de compatibiliteitsscan en de migratiewerkstroom.

Requirements

Omgevingsversies hebben de volgende vereisten:

  • De pijplijn moet Unity Catalog gebruiken. Hive-metastore-pijplijnen worden niet ondersteund.

Ondersteunde omgevingsversies

SDP ondersteunt 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.

Een omgevingsversie inschakelen in een pijplijn

U kunt een omgevingsversie configureren via de gebruikersinterface van de pipeline-editor, de Pipelines REST API of declaratieve automatiseringsbundels.

Vergeet niet om de compatibiliteit met Spark Connect te controleren voordat u een omgevingsversie op een pijplijn inschakelt.

Inschakelen via de gebruikersinterface

  1. Klik in de pijplijneditor op Instellingen.
  2. Selecteer onder Pijplijnomgevinghet potloodpictogram.Omgeving bewerken.
  3. Selecteer een omgevingsversie in de vervolgkeuzelijst.
  4. 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-defintion van de pijplijn.

  1. 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.
  2. Stel een bundel in door de zelfstudie pijplijnenbundel te volgen.
  3. Zoek de YAML van de pijplijn in uw bundel, meestal <bundle-folder>/resources/<pipeline_name>_pipeline.yml.
  4. Stel de environment_version en dependencies velden 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

Controleren of een omgevingsversie is geconfigureerd voor een pijplijn:

  • UI: Open de pijplijninstellingen en controleer de sectie Pijplijnomgeving of inspecteer het JSON-deelvenster voor het environment.environment_version veld.
  • API: Aanroepen GET /api/2.0/pipelines/<pipeline-id> en zoeken naar environment.environment_version in het antwoord.
  • Gebeurtenislogboek: Inspecteer de create_update gebeurtenis voor het environment_version veld.

De omgevingsversie op een pijplijn uitschakelen

Verwijder de omgevingsversie via de sectie Pijplijnomgeving in de pijplijninstellingen of verwijder het environment_version veld uit het environment blok in de API- of bundeldefinitie.

Wanneer de omgevingsversie wordt verwijderd, keert de pijplijn terug naar de vorige Python runtimeconfiguratie.

Zie ook