Partager via


Configurer les dépendances entre tâches

Le champ Dépendances Exécuter si vous permet d’ajouter une logique de flux de contrôle aux tâches en fonction de la réussite, de l’échec ou de l’achèvement d’autres tâches.

Les dépendances sont visuellement représentées dans le DAG de travail sous forme de lignes entre les tâches.

Azure Databricks exécute des tâches en amont avant d’exécuter des tâches en aval, en exécutant autant d’entre elles en parallèle que possible.

Remarque

Dépend de est uniquement visible si le travail consiste en plusieurs tâches.

Databricks dispose également des fonctionnalités suivantes pour le flux de contrôle et la conditionnalité :

Ajouter une condition Exécuer si à une tâche

Si vous avez une tâche sélectionnée dans votre DAG lorsque vous créez une tâche, votre nouvelle tâche a une dépendance configurée sur cette tâche par défaut.

Pour modifier ou ajouter des conditions, procédez comme suit :

  1. Sélectionnez une tâche.
  2. Dans le champ Dépend de, cliquez sur le X pour supprimer une tâche ou sélectionnez des tâches à ajouter depuis le menu déroulant.
  3. Sélectionnez l’une des options conditionnelles dans le champ Dépendances Exécuter si.
  4. Cliquez sur Enregistrer la tâche.

Options de condition Run if

Vous pouvez ajouter les conditions Run if suivantes à une tâche :

  • Réussite totale : toutes les dépendances ont été exécutées et ont réussi. Il s’agit du paramètre par défaut. La tâche porte la marque Upstream failed si la condition n’est pas remplie.
  • Au moins une réussite : au moins une dépendance a réussi. La tâche porte la marque Upstream failed si la condition n’est pas remplie.
  • Aucun échec : aucune des dépendances n’a échoué et au moins une dépendance a été exécutée. La tâche porte la marque Upstream failed si la condition n’est pas remplie.
  • Terminés : la tâche est exécutée après l’exécution de toutes ses dépendances, quel que soit l’état des exécutions dépendantes. Cette condition vous permet de définir une tâche exécutée sans dépendre du résultat de ses tâches dépendantes.
  • Au moins un échec : au moins une dépendance a échoué. La tâche porte la marque Excluded si la condition n’est pas remplie.
  • Échec total : toutes les dépendances ont échoué. La tâche porte la marque Excluded si la condition n’est pas remplie.

Remarque

  • Les tâches configurées pour gérer les échecs portent la marque Excluded si leur condition Run if n’est pas remplie. Les tâches exclues sont ignorées et sont traitées comme réussies.
  • Si toutes les dépendances de tâche sont exclues, la tâche est également exclue, quelle que soit sa condition Run if.
  • Si vous annulez une exécution de tâche, l’annulation se propage aux tâches en aval, et les tâches ayant une condition Run if qui gère l’échec sont exécutées, par exemple pour vérifier qu’une tâche de nettoyage s’exécute quand une exécution de tâche est annulée.

Exemple de travail avec dépendances entre tâches

La configuration des dépendances de tâche crée une graphe orienté acyclique (DAG) d’exécution des tâches, une méthode courante de représentation de l’ordre d’exécution dans les planificateurs de travaux. Par exemple, imaginez le travail suivant constitué de quatre tâches :

Exemple de diagramme de dépendances de tâches

  • La tâche 1 est la tâche racine et ne dépend d’aucune autre tâche.
  • La tâche 2 et la tâche 3 dépendent de l’exécution préalable de la tâche 1.
  • Enfin, la tâche 4 dépend de l’exécution réussie de la tâche 2 et de la tâche 3.

Le diagramme suivant illustre l’ordre de traitement de ces tâches :

Exemple de flux de dépendances de tâches