Ajoutez une logique de branchement à un Job avec la tâche If/else.
Utilisez la tâche If/else condition pour ajouter une logique conditionnelle booléenne aux graphes de tâches. Ces tâches se composent d'un opérateur booléen et d'une paire d'opérandes, où les opérandes peuvent faire référence à l'état du job ou de la tâche en utilisant des paramètres configurés ou dynamiques ou des valeurs de tâche. Consultez Paramétrer les Jobs.
Par exemple, supposez que vous avez une tâche nommée process_records qui maintient un nombre d'enregistrements non valides dans une valeur nommée bad_records, et que vous souhaitez Branch le traitement lorsque vous rencontrez de mauvais enregistrements. Pour ajouter cette logique à votre workflow, vous pouvez créer une tâche If/else condition avec une expression comme {{tasks.process_records.values.bad_records}} > 0. Vous pouvez ensuite ajouter des tâches dépendantes en fonction des résultats de la condition.
Après l'exécution d'un Job contenant une tâche If/else condition, vous pouvez consulter le résultat et les détails de l'évaluation de l'expression lorsque vous consultez les détails de l'exécution du Job dans l'interface utilisateur. Consultez Afficher les détails de l'exécution du Job.
- Les valeurs numériques et non numériques sont gérées différemment selon l'opérateur booléen :
- Les opérateurs
==et!=effectuent la comparaison de chaînes de leurs opérandes. Par exemple,12.0 == 12a la valeur false. - Les opérateurs
>,>=,<et<=effectuent des comparaisons numériques de leurs opérandes. Par exemple,12.0 >= 12est évalué comme vrai, et10.0 >= 12est évalué comme faux. - Seules les valeurs numériques, de chaîne et booléennes sont autorisées lors de la référence à des valeurs de tâche dans un opérande. Tout autre type entraîne l'échec de l'expression de condition. Les types de valeurs non numériques sont sérialisés en chaînes et sont traités comme des chaînes dans les expressions
If/else condition. Par exemple, si une valeur de tâche est définie sur une valeur booléenne, elle est sérialisée en"true"ou"false".
- Les opérateurs
Configurer une tâche If/else
Ajoutez une tâche If/else condition à partir de l’onglet tab dans l’interface utilisateur Jobs en procédant comme suit :
-
Cliquez sur
Ajouter une tâche .
-
Saisissez un nom dans le champ Nom de la tâche .
-
Dans le menu déroulant Type , sélectionnez
If/else condition. -
Saisissez l'opérande à évaluer dans la première zone de texte **Condition**. L'opérande peut référencer l'un des éléments suivants :
- Une variable de paramètre de Job, par exemple
{{job.parameters.<name>}}. - Une variable de parameter de tâche.
- Une valeur de tâche, par exemple
{{tasks.<task_name>.values.<value_name>}}.
- Une variable de paramètre de Job, par exemple
-
Sélectionnez un opérateur booléen dans le menu déroulant.
-
Dans la deuxième zone de texte **Condition**, saisissez la valeur pour évaluer la condition.
-
(Facultatif) Pour configurer les nouvelles tentatives, les threshold de durée d'exécution ou de backlog de streaming, ou les notifications, consultez Paramètres de tâches avancés.
-
Cliquez sur Enregistrer la tâche .
Pour modifier, cloner, désactiver ou supprimer cette tâche, consultez Configurer et modifier les tâches dans Lakeflow Jobs.
Configurer les dépendances sur une Condition If/else
Configurez les dépendances de la tâche If/else condition à partir du Graphe des tâches dans l'onglet tab en procédant comme suit :
- Sélectionnez la tâche
If/else conditiondans le graphe des tâches et cliquez surAjouter une tâche .
- Saisissez les détails de la tâche. Le champ Dépend de est par default sur
<task-name> (true)où<task-name>est le nom de la tâcheIf/else condition.- Sélectionnez
<task-name> (false)pour configurer une tâche qui s’exécute lors de l’évaluation d’une condition fausse.
- Sélectionnez
Vous pouvez configurer plusieurs tâches pour qu'elles s'exécutent en série ou en parallèle en fonction du résultat d'un If/else condition. Envisagez de configurer Run if dependencies si vous avez besoin d'exécutions conditionnelles basées sur les échecs de tâches en amont. Voir Configurer les dépendances de tâche.
Une tâche If/else condition échoue si la tâche en amont qui fournit sa valeur de condition est désactivée. Consultez les Limitations.