Konfigurieren von Umgebungsversionen für Pipelines

Important

Umgebungsversionen für SDP befinden sich in der Betaversion.

Eine Umgebungsversion legt die Python-Version und die Menge der vorinstallierten Python-Bibliotheken fest, die dem Python-Code Ihrer Pipeline zur Verfügung stehen. Alle externen Abhängigkeiten, die Sie der Pipeline hinzufügen, werden über dieser Basis überschichtet.

Umgebungsversionen entkoppeln die Python-Laufzeit Ihrer Pipeline von der Databricks-Runtime-Version, auf der Ihre Pipeline ausgeführt wird. Während eine Umgebungsversion festgelegt ist, ändern Databricks-Runtime-Upgrades ihre Python Sprachversion oder vorinstallierte Bibliotheksversionen nicht. Die Python Laufzeit ist auch mit serverlosen Aufträgen und Notizbüchern konsistent, die dieselbe Umgebungsversion verwenden. Informationen zur aktuellen Databricks-Runtime-Version für Lakeflow Spark Declarative Pipelines finden Sie in den Versionshinweisen zu Lakeflow Spark Declarative Pipelines und zum Releaseupgradeprozess.

Important

Pipelines mit einer Umgebungsversion führen Python-Code über Spark Connect aus. Spark Connect ändert das Verhalten von Pipelinecode. Bevor Sie eine Umgebungsversion für eine vorhandene Pipeline aktivieren, lesen Sie die Kompatibilität der Umgebungsversion für Einschränkungen, Verhaltensänderungen, die Kompatibilitätsüberprüfung und den Migrationsworkflow.

Requirements

Umgebungsversionen haben die folgenden Anforderungen:

  • Die Pipeline muss Unity Catalog nutzen. Hive-Metastore-Pipelines werden nicht unterstützt.

Unterstützte Umgebungsversionen

SDP unterstützt die Umgebungsversionen 3 und 4 für serverlose und klassische Compute. Die Python Sprachversion und die vollständige Liste der vorinstallierten Python Bibliotheken, die in jeder Version verfügbar sind, finden Sie in der environment-Versionsreferenz.

Aktivieren einer Umgebungsversion in einer Pipeline

Sie können eine Umgebungsversion über die Pipeline-Editor-Benutzeroberfläche, die Pipelines-REST-API oder deklarative Automatisierungsbündel konfigurieren.

Denken Sie daran, die Kompatibilität mit Spark Connect zu überprüfen , bevor Sie eine Umgebungsversion in einer Pipeline aktivieren.

Aktivieren über die Benutzeroberfläche

  1. Klicken Sie im Pipeline-Editor auf "Einstellungen".
  2. Wählen Sie unter Pipelineumgebungdas Bleistiftsymbol aus.Bearbeiten sie die Umgebung.
  3. Wählen Sie eine Umgebungsversion aus der Dropdownliste aus.
  4. Speichern Sie die Pipelineeinstellungen.

Externe Abhängigkeiten, die im Abschnitt Pipeline-Umgebung hinzugefügt werden, bauen auf den Bibliotheken auf, die in der ausgewählten Version der Umgebung enthalten sind. Siehe Verwalten von Abhängigkeiten für Python-Pipelines.

Aktivieren über die API

Die Pipelines-REST-API akzeptiert einen environment Block beim Erstellen und Aktualisieren der Pipeline. Die Authentifizierung des persönlichen Zugriffstokens muss für den Arbeitsbereich aktiviert sein.

So erstellen Sie eine Pipeline mit einer Umgebungsversion:

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.*"
      ]
    }
  }'

Um die Umgebungsversion für eine vorhandene Pipeline festzulegen, senden Sie denselben environment Block mit PUT /api/2.0/pipelines/<pipeline-id>.

Aktivieren über deklarative Automatisierungspakete

Wenn Sie eine Pipeline mit deklarativen Automatisierungspaketen erstellen, können Sie eine Umgebungsversion in der YAML-Definition der Pipeline festlegen.

  1. Stellen Sie sicher, dass Ihre Databricks CLI version v0.294.0 oder höher ist. Wenn nicht, führen Sie ein Upgrade aus, indem Sie dem Installationshandbuch folgen.
  2. Richten Sie ein Bundle ein, indem Sie dem Tutorial zum Pipeline-Bundle folgen.
  3. Suchen Sie die YAML-Datei der Pipeline in Ihrem Bundle, in der Regel <bundle-folder>/resources/<pipeline_name>_pipeline.yml.
  4. Legen Sie die Felder environment_version und dependencies in der YAML-Datei der Pipeline fest:
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}

Umgebungsversion in einer Pipeline überprüfen

So überprüfen Sie, ob eine Umgebungsversion in einer Pipeline konfiguriert ist:

  • Benutzeroberfläche: Öffnen Sie die Pipelineeinstellungen, und überprüfen Sie den Abschnitt "Pipelineumgebung ", oder prüfen Sie den JSON-Bereich für das environment.environment_version Feld.
  • API: Rufen Sie GET /api/2.0/pipelines/<pipeline-id> auf und suchen Sie in der Antwort nach environment.environment_version.
  • Ereignisprotokoll: Überprüfen Sie das create_update Ereignis für das environment_version Feld.

Deaktivieren der Umgebungsversion in einer Pipeline

Entfernen Sie die Umgebungsversion über den Abschnitt "Pipelineumgebung " in den Pipelineeinstellungen, oder entfernen Sie das environment_version Feld aus dem environment Block in der API- oder Bundledefinition.

Wenn die Umgebungsversion entfernt wird, kehrt die Pipeline zur vorherigen Python Laufzeitkonfiguration zurück.

Siehe auch