Configurer des versions d’environnement pour les pipelines

Important

Les versions d’environnement pour SDP sont en version bêta.

Une version d’environnement fixe la version du langage Python et l’ensemble des bibliothèques Python préinstallées mises à la disposition du code Python de votre pipeline. Toutes les dépendances externes que vous ajoutez au pipeline sont superposées au-dessus de cette base.

Les versions d'environnement dissocient le runtime Python de votre pipeline à partir de la version databricks Runtime sur laquelle votre pipeline s'exécute. Pendant qu'une version d'environnement est définie, les mises à niveau de Databricks Runtime ne modifient pas votre version de langue Python ou les versions de bibliothèque préinstallées. Le runtime Python est également cohérent avec les travaux serverless et les notebooks qui utilisent la même version d’environnement. Pour connaître la version actuelle de Databricks Runtime pour Lakeflow Spark Declarative Pipelines, consultez les notes de version de Lakeflow Spark Declarative Pipelines et le processus de mise à niveau de la version.

Important

Les pipelines avec une version d’environnement exécutent Python code via Spark Connect. Spark Connect modifie le comportement du code de pipeline. Avant d’activer une version d’environnement sur un pipeline existant, consultez la compatibilité des versions de l’environnement pour les limitations, les modifications de comportement, l’analyse de compatibilité et le flux de travail de migration.

Requirements

Les versions d’environnement ont les exigences suivantes :

  • Le pipeline doit utiliser Unity Catalog. Les pipelines du metastore Hive ne sont pas pris en charge.

Versions d’environnement prises en charge

SDP prend en charge les versions d’environnement 3 et 4 sur le calcul serverless et classique. Pour connaître la version du langage Python et la liste complète des bibliothèques de Python préinstallées disponibles dans chaque version, consultez la référence de version environment.

Activer une version d’environnement sur un pipeline

Vous pouvez configurer une version d’environnement via l’interface utilisateur de l’éditeur de pipeline, l’API REST Pipelines ou les bundles d’automatisation déclaratifs.

N’oubliez pas de vérifier la compatibilité avec Spark Connect avant d’activer une version d’environnement sur un pipeline.

Activer via l’interface utilisateur

  1. Dans l’éditeur de pipeline, cliquez sur Paramètres.
  2. Sous Environnement de pipeline, sélectionnez l’icône Crayon.Modifier l’environnement.
  3. Sélectionnez une version d’environnement dans la liste déroulante.
  4. Enregistrez les paramètres du pipeline.

Les dépendances externes ajoutées dans la section Environnement de pipeline sont superposées aux bibliothèques incluses dans la version d’environnement sélectionnée. Consultez Gestion des dépendances Python pour les pipelines.

Activer via l’API

L’API REST Pipelines accepte un environment bloc sur la création et la mise à jour du pipeline. L’authentification par jeton d’accès personnel doit être activée pour l’espace de travail.

Pour créer un pipeline avec une version d’environnement :

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

Pour définir la version de l’environnement sur un pipeline existant, envoyez le même environment bloc avec PUT /api/2.0/pipelines/<pipeline-id>.

Activer à l’aide de Bundles d’automatisation déclarative

Lorsque vous créez un pipeline à l’aide de bundles Automation déclaratifs, vous pouvez définir une version d’environnement dans la définition YAML du pipeline.

  1. Vérifiez que votre interface CLI Databricks est à la version v0.294.0 ou ultérieure. Si ce n’est pas le cas, effectuez une mise à niveau en suivant le guide d’installation.
  2. Configurez un bundle en suivant le tutoriel sur les bundles de pipelines.
  3. Recherchez le YAML du pipeline dans votre package, généralement <bundle-folder>/resources/<pipeline_name>_pipeline.yml.
  4. Définissez les champs environment_version et dependencies dans le pipeline YAML :
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}

Vérifier la version de l’environnement sur un pipeline

Pour vérifier si une version d’environnement est configurée sur un pipeline :

  • Interface utilisateur : ouvrez les paramètres du pipeline et vérifiez la section Environnement de pipeline , ou inspectez le panneau JSON du environment.environment_version champ.
  • API : Appeler GET /api/2.0/pipelines/<pipeline-id> et rechercher environment.environment_version dans la réponse.
  • Journal des événements : inspectez l’événement create_update pour le environment_version champ.

Désactiver la version de l’environnement sur un pipeline

Supprimez la version de l’environnement dans la section Pipeline Environment des paramètres du pipeline, ou supprimez le champ environment_version du bloc environment dans l’API ou la définition du bundle.

Lorsque la version de l’environnement est supprimée, le pipeline retourne à sa configuration précédente Python runtime.

Voir également :