Aller au contenu principal

Configurer les versions d'environnement pour les pipelines

info

Bêta

Les versions de l’environnement pour Lakeflow Pipelines sont en Bêta.

Une version d'environnement pin la version du langage Python et l'ensemble des bibliothèques Python préinstallées disponibles pour le code Python de votre pipeline. Toutes les dépendances externes que vous ajoutez au pipeline sont superposées à cette base.

Les versions d'environnement dissocient le runtime Python de votre pipeline de la version de Databricks Runtime sur laquelle votre pipeline s'exécute. Lorsqu'une version d'environnement est définie, les mises à niveau de Databricks Runtime ne modifient pas votre version du langage Python ou les versions des bibliothèques préinstallées. Le runtime Python est également cohérent avec les Jobs serverless et les notebooks qui utilisent la même version d'environnement. Pour trouver la version actuelle de Databricks Runtime pour les Lakeflow Pipelines, consultez les notes de publication de Lakeflow Pipelines et le processus de mise à niveau de la version.

important

Les pipelines avec une version d'environnement exécutent du code Python via Spark Connect. Spark Connect modifie le comportement du code de pipeline. Avant d'activer une version d'environnement sur un pipeline existant, consultez Compatibilité de la version de l'environnement pour connaître les limitations, les changements de comportement, l'analyse de compatibilité et le workflow de migration.

Exigences

Les versions d'environnement ont les exigences suivantes :

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

Versions d'environnement prises en charge

Les LakeFlow Pipelines prennent en charge les versions d'environnement **3** et **4** sur les compute Serverless et classiques. Pour la version du langage Python et la liste complète des bibliothèques Python préinstallées disponibles dans chaque version, consultez la référence de la version de l'environnement.

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 des pipelines ou Declarative Automation Bundles.

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 Icône de crayon. du pipeline**, sélectionnez **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 du Pipeline sont superposées aux bibliothèques incluses avec la version d'environnement sélectionnée. Voir Gérer les dépendances Python pour les pipelines.

Activer via l'API

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

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

Shell
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 bloc environment avec PUT /api/2.0/pipelines/<pipeline-id>.

Activer via les Declarative Automation Bundles

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

  1. Assurez-vous que votre Databricks CLI est à la version **v0.294.0** ou ultérieure. Si ce n'est pas le cas, mettez à niveau en suivant le guide d'installation.
  2. Configurez un bundle en suivant le tutoriel du bundle de pipelines.
  3. Localisez le pipeline YAML dans votre bundle, généralement <bundle-folder>/resources/<pipeline_name>_pipeline.yml.
  4. Définir les champs environment_version et dependencies dans le fichier YAML du 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érifiez la version de l'environnement sur un pipeline

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

  • UI : ouvrez les paramètres du pipeline et vérifiez la section Environnement de pipeline , ou inspectez le volet JSON pour le champ environment.environment_version.
  • API : Appelez GET /api/2.0/pipelines/<pipeline-id> et recherchez environment.environment_version dans la réponse.
  • Event log : inspectez l'événement create_update pour le champ environment_version.

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

Supprimez la version de l'environnement via la section Environnement de pipeline dans les paramètres du pipeline, ou supprimez le champ environment_version du bloc environment dans la définition de l'API ou du bundle.

Lorsque la version de l'environnement est supprimée, le pipeline revient à sa précédente configuration d'exécution Python.

Ressources supplémentaires