Aller au contenu principal

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.

remarque
  • 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 == 12 a la valeur false.
    • Les opérateurs >, >=, < et <= effectuent des comparaisons numériques de leurs opérandes. Par exemple, 12.0 >= 12 est évalué comme vrai, et 10.0 >= 12 est é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".

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 :

  1. Cliquez sur Icône Plus. Ajouter une tâche .

  2. Saisissez un nom dans le champ Nom de la tâche .

  3. Dans le menu déroulant Type , sélectionnez If/else condition.

  4. 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>}}.
  5. Sélectionnez un opérateur booléen dans le menu déroulant.

  6. Dans la deuxième zone de texte **Condition**, saisissez la valeur pour évaluer la condition.

  7. (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.

  8. 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 :

  1. Sélectionnez la tâche If/else condition dans le graphe des tâches et cliquez sur Icône Plus. Ajouter une tâche .
  2. Saisissez les détails de la tâche. Le champ Dépend de est par default sur <task-name> (true)<task-name> est le nom de la tâche If/else condition.
    • Sélectionnez <task-name> (false) pour configurer une tâche qui s’exécute lors de l’évaluation d’une condition fausse.

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.

remarque

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.