Configurer les dépendances de tâche
Le champ Dépendances d'exécution conditionnelle vous permet d'ajouter une logique de contrôle de flux 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 représentées visuellement dans le DAG du Job sous forme de lignes entre les tâches.
Databricks exécute les tâches en amont avant d'exécuter les tâches en aval, en exécutant le plus grand nombre possible d'entre elles en parallèle.
**Dépend de** n'est visible que si le job est composé de plusieurs tâches.
Databricks dispose également des fonctionnalités suivantes pour le flux de contrôle et la conditionnalisation :
- La tâche Condition If/else est utilisée pour exécuter une partie d'un DAG de Job basée sur les résultats d'une expression booléenne. La tâche
If/else conditionvous permet d'ajouter une logique de branchement à votre job. Par exemple, exécutez les tâches de transformations uniquement si la tâche d'ingestion en amont ajoute de nouvelles données. Consultez Ajouter une logique de branchement à un job avec la tâche If/else. - La tâche de condition Pour chaque ajoute une logique de boucle à une autre tâche basée sur un tableau d'entrée. Les tableaux d'entrée peuvent être spécifiés manuellement ou générés dynamiquement. Consultez Utiliser une tâche
For eachpour exécuter une autre tâche en boucle. - La tâche Exécuter un Job vous permet de Trigger un autre Job dans votre Workspace. Consultez Exécuter une tâche Job pour les Jobs.
Ajoutez une condition d'exécution si à une tâche
Si vous avez sélectionné une tâche dans votre DAG lorsque vous créez une nouvelle tâche, votre nouvelle tâche a une dépendance configurée sur cette tâche par default.
Pour modifier ou ajouter des conditions, veuillez procéder comme suit :
- Sélectionnez une tâche.
- Dans le champ Dépend de , cliquez sur la X pour supprimer une tâche ou sélectionnez les tâches à ajouter dans le menu déroulant.
- Sélectionnez l'une des options conditionnelles dans le champ **Exécuter si dépendances**.
- Cliquez sur Enregistrer la tâche .
Run if options de condition
Vous pouvez ajouter les Run if conditions suivantes à une tâche :
- Tous ont réussi : Toutes les dépendances ont été exécutées et ont réussi. Ceci est le paramètre default. La tâche est marquée comme
Upstream failedsi la condition n'est pas remplie. - Au moins une dépendance a réussi : Au moins une dépendance a réussi. La tâche est marquée
Upstream failedsi la condition n’est pas remplie. - **Aucune n'a échoué** : Aucune des dépendances n'a échoué, et au moins une dépendance a été exécutée. La tâche est marquée
Upstream failedsi la condition n’est pas remplie. - Terminé : 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 qui est 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 est marquée
Excludedsi la condition n’est pas remplie. - Tout a échoué : toutes les dépendances ont échoué. La tâche est marquée
Excludedsi la condition n’est pas remplie.
- Les tâches en amont avec l’état de résultat
Excludedsont considérées comme réussies lors de l’évaluation des conditionsRun if. Les tâches en amont marquéesUpstream failedouUpstream canceledsont traitées comme ayant échoué, et non comme ignorées. - Les tâches configurées pour gérer les échecs sont marquées comme
Excludedsi leur conditionRun ifn'est pas remplie. Une tâche exclue est ignorée. - Si toutes les dépendances d'une tâche sont exclues, la tâche elle-même est également exclue, quelle que soit sa condition
Run if. - Cette exclusion se propage le long d'une chaîne de dépendances linéaire. Par exemple, dans une chaîne A → B → C, si A est exclu, alors B est exclu (toutes ses dépendances sont exclues), ce qui exclut à son tour C, de sorte qu'aucune de ces tâches ne s'exécute.
- Si vous annulez l'exécution d'une tâche, l'annulation se propage aux tâches en aval, et les tâches avec une condition
Run ifqui gère l'échec sont exécutées, par exemple, pour vérifier qu'une tâche de nettoyage s'exécute lorsqu'une exécution de tâche est annulée. - Si une tâche en amont est désactivée, les tâches en aval sont évaluées en fonction de leur condition
Run ifet peuvent également être désactivées pour cette exécution. Pour la liste complète des résultats, consultez Comportement de la tâche en aval.
Exemple de job avec des dépendances de tâche
La configuration des dépendances de tâches crée un Graphe orienté acyclique (DAG) de l'exécution des tâches, une manière courante de représenter l'ordre d'exécution dans les planificateurs de Job. Par exemple, considérez le job suivant composé de quatre 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’achèvement de la Tâche 1.
- Enfin, la tâche 4 dépend des tâches 2 et 3 qui se terminent avec succès.
Le diagramme suivant illustre l'ordre de traitement pour ces tâches :
