Définissez la logique de branchement et orientez les tâches vers différentes branches en aval selon des conditions spécifiées.
Présentation
Un nœud de branchement évalue les paramètres de sortie des nœuds en amont à l'aide d'opérateurs de comparaison Python. Il crée plusieurs branches conditionnelles qui exécutent différents nœuds en aval en fonction des résultats obtenus.
Prérequis
-
L'utilisateur RAM que vous souhaitez utiliser a été ajouté à votre espace de travail.
Pour développer des tâches avec un utilisateur RAM, ajoutez-le en tant que membre à votre espace de travail et attribuez-lui le rôle Develop ou Workspace Administrator. Le rôle Workspace Administrator offre plus d'autorisations que nécessaire ; attribuez-le avec prudence. Pour savoir comment ajouter un membre et lui assigner des rôles, consultez la rubrique Ajouter des membres à un espace de travail.
Un groupe de ressources serverless est associé à votre espace de travail. Pour en savoir plus, reportez-vous aux rubriques du répertoire Utiliser des groupes de ressources serverless.
Avant de configurer un nœud de branchement, créez-le. Pour plus d'informations, voir Créer un nœud de workflow de planification.
Notes d'utilisation
Les nœuds de branchement sont disponibles uniquement dans l'édition DataWorks Standard ou ultérieure. Pour connaître les éditions DataWorks et les modalités d'achat, consultez la rubrique Éditions DataWorks.
Un seul nœud de branchement prend en charge un maximum de 50 branches.
Les nœuds de branchement sont généralement utilisés conjointement avec des nœuds d'assignation. Pour en savoir plus, voir Nœud d'assignation.
Si les conditions d'une branche en aval ne sont pas remplies, les tâches de cette branche passent en état de simulation (dry run). Les journaux enregistrent alors un message semblable à :
It's set condition-skip by task.Les conditions de branchement ne permettent pas d'utiliser une chaîne vide (
'') pour l'évaluation. Par exemple, si la condition de branchement est'${tp_code}' != ''et que la valeur du paramètre est un espace, cet espace est considéré comme « ayant une valeur » (un espace n'est pas égal à une chaîne vide), ce qui entraîne la sélection de la branche. Nous vous recommandons d'utiliser un marqueur spécial pour représenter une valeur vide. Par exemple, définissez la valeur par défaut du paramètre surtp_code='NONE'et configurez la condition de branchement comme suit :'${tp_code}' != 'NONE'.
Étape 1 : Développer le nœud de branchement
-
Accédez à la page de configuration du nœud de branchement pour définir la logique de branchement.
Sur la page Definition, cliquez sur Add Branch.
-
Dans la boîte de dialogue Branch Definition, configurez les paramètres.
Paramètre
Description
Condition
-
Les conditions de branchement sont définies à l'aide d'opérateurs de comparaison Python.
-
Si une expression est évaluée à
truelors de l'exécution, la condition de branchement est remplie. -
Si une expression ne peut pas être analysée lors de l'exécution, l'instance entière du nœud de branchement échoue.
-
Vous pouvez utiliser les variables globales et les paramètres définis dans le contexte du nœud au sein de la condition. Par exemple,
${input}peut être un paramètre d'entrée du nœud de branchement.
Associated Node Output
-
La sortie du nœud crée des dépendances pour les nœuds en aval.
-
Si la condition de branchement est remplie, le nœud en aval dépendant de la sortie liée s'exécute. Son exécution dépend également de l'état de ses autres nœuds en amont.
-
Si la condition de branchement n'est pas remplie, le nœud en aval dépendant de la sortie liée ne s'exécute pas. L'état du nœud est défini sur
Not run because branch condition not met.
Description
Brève description de la définition de la branche. Par exemple, vous pouvez définir deux branches avec les conditions ${input}==1 et ${input}>2.
-
-
Configurez les nœuds en aval.
Vous pouvez configurer divers types de nœuds en aval d'un nœud de branchement. Cet exemple utilise des nœuds MySQL.
Créez deux nœuds MySQL nommés
branch_1etbranch_2, puis accédez à la page de développement de chaque nœud.-
Sur la droite de la page de développement du nœud MySQL, choisissez , cliquez sur Add Dependency, sélectionnez le nœud de branchement en amont et sa sortie correspondante, puis enregistrez la configuration.
Une fois le développement du nœud de branchement et de ses nœuds en aval terminé, configurez leurs propriétés de planification pour permettre une exécution périodique. Pour en savoir plus, voir Configurer les propriétés de planification des nœuds.
Étape 2 : Déployer et gérer les nœuds
Après avoir configuré la planification, déployez les nœuds dans l'environnement de production. Pour plus d'informations, consultez la rubrique Déployer des nœuds et des workflows.
Une fois les tâches déployées, elles s'exécutent périodiquement selon la planification configurée. Accédez à pour afficher les tâches planifiées déployées et effectuer des opérations de maintenance. Pour en savoir plus, voir Présentation d'Operation Center.
Annexe : Opérateurs de comparaison Python
Supposons que la variable a vaut 10 et que la variable b vaut 20.
|
Opérateur |
Description |
Exemple |
|
== |
Vérifie si deux objets sont égaux. |
|
|
!= |
Vérifie si deux objets ne sont pas égaux. |
|
|
<> |
Vérifie si deux objets ne sont pas égaux. |
|
|
> |
Vérifie si x est supérieur à y. |
|
|
< |
Vérifie si x est inférieur à y. Tous les opérateurs de comparaison renvoient |
|
|
>= |
Vérifie si x est supérieur ou égal à y. |
|
|
<= |
Vérifie si x est inférieur ou égal à y. |
|