Cette rubrique présente le nœud de fusion, explique comment le créer et le configurer, et illustre ses propriétés de planification ainsi que son comportement à l'exécution.
Informations générales
Le nœud de fusion est un type de nœud de contrôle logique dans DataStudio. Il agrège les statuts d'exécution des nœuds en amont afin de résoudre les problèmes de dépendance et de déclenchement pour les nœuds en aval d'un nœud de branche.
Un nœud de fusion ne peut avoir que le statut d'exécution Successful. Cela permet aux nœuds en aval d'utiliser le nœud de fusion comme une dépendance unique et fiable.
Par exemple, un nœud de branche C possède deux branches mutuellement exclusives, C1 et C2. Chaque branche utilise une logique différente pour écrire dans la même table MaxCompute. Si un nœud en aval B dépend de la sortie de cette table, vous devez utiliser un nœud de fusion J pour consolider les branches, puis définir J comme dépendance en amont de B. Si vous configurez B pour qu'il dépende directement de C1 et C2, l'un d'eux aura toujours le statut d'instance Branch Not Run, car sa condition de branche n'est pas remplie. Par conséquent, B passera également au statut Branch Not Run et entrera dans un état de simulation (dry-run), ce qui signifie qu'il ne s'exécutera pas. Il en ira de même pour tous les nœuds en aval suivants.
Limites
La fonctionnalité de nœud de fusion est disponible uniquement dans DataWorks Standard Edition et les éditions ultérieures. Pour acheter ou mettre à niveau votre édition DataWorks, consultez Détails des fonctionnalités de chaque édition DataWorks.
Créer un nœud de fusion
-
Accédez à la page DataStudio.
Connectez-vous à la console DataWorks. Dans la région cible, cliquez sur dans le volet de navigation de gauche. Sélectionnez un espace de travail dans la liste déroulante et cliquez sur Go to Data Development.
Placez le curseur sur l'icône
, puis cliquez sur .Dans la boîte de dialogue Create Node, saisissez un Name pour le nœud et sélectionnez un Path.
Cliquez sur OK.
Définir la logique de fusion
Après la création du nœud de fusion, sa page de configuration s'ouvre. Utilisez cette page pour définir la logique de fusion.
-
Ajoutez les nœuds de branche en amont à fusionner. Ces nœuds deviennent les parents du nœud de fusion.
Dans la zone Merged Branch, recherchez le nœud parent correspondant par nom, ID ou sortie, puis cliquez sur l'icône
pour l'ajouter en tant que nœud de branche.RemarquePour fusionner plusieurs nœuds de branche, répétez cette étape pour chaque nœud.
-
Dans la section MERGE Condition, configurez la condition de fusion pour le nœud de branche.
Configurez la logique de fusion et le statut d'exécution requis pour chaque nœud de branche.
-
Les conditions de logique de fusion incluent :
AND : le statut d'exécution du nœud actuel, configuré dans la zone Result, prend effet uniquement si tous les nœuds de branche en amont ont terminé leur exécution et satisfont leurs statuts configurés.
OR : le statut d'exécution configuré pour ce nœud dans la zone Result prend effet uniquement si tous les nœuds en amont sont dans un état final (c'est-à-dire ont terminé leur exécution) et si au moins un nœud de branche satisfait son statut configuré.
-
Les statuts d'exécution disponibles après achèvement incluent :
Successful : le nœud s'est exécuté avec succès.
Failed : l'exécution du nœud a échoué.
-
Branch Not Running : le nœud n'est pas sélectionné et se trouve dans un état de simulation. Dans cet état, le nœud est marqué comme réussi, mais la tâche n'est pas réellement exécutée.
RemarqueCe statut s'applique uniquement lorsque le nœud en amont est un nœud de branche.
-
-
Dans la section Result, configurez le statut d'exécution du nœud actuel.
RemarqueVous ne pouvez définir le statut d'exécution du nœud actuel que sur Successful.
Exemple :
Ajoutez les nœuds de branche A et B en tant que nœuds en amont du nœud de fusion actuel.
Le statut d'exécution du nœud A est défini sur Successful, Branch Not Running ou Failed, ce qui signifie que le nœud A doit simplement terminer son exécution.
Le statut d'exécution du nœud B est défini sur Successful et Branch Not Running, ce qui signifie que l'exécution du nœud B est terminée et n'a pas échoué.
L'opérateur logique est défini sur AND.
Par conséquent, le statut d'exécution Successful du nœud de fusion actuel prendra effet uniquement lorsque le nœud A aura terminé son exécution et que le nœud B aura terminé la sienne sans échec.
Cliquez sur Scheduling Settings à droite de la page de configuration du nœud pour configurer les propriétés de planification du nœud de fusion. Pour plus d'informations, consultez Configurer les propriétés de base.
Exemple de nœud de fusion
Dans un nœud en aval, après avoir ajouté un nœud de branche en tant que nœud en amont, vous pouvez définir différents chemins de branche en sélectionnant les sorties correspondantes du nœud de branche. Par exemple, dans le processus métier illustré dans la figure suivante, Branch 1 et Branch 2 sont deux nœuds en aval d'un nœud de branche.
Branch 1 dépend de la sortie autotest.fenzhi121902_1. Dans le panneau de configuration Dependencies pour le nœud Branch 1, définissez Auto Parse sur Yes et ajoutez manuellement une dépendance en amont. Définissez Parent Node Output sur autotest_fenzhi121902_1, ce qui correspond au nœud parent branch_node_121902.
Branch 2 dépend de la sortie autotest.fenzhi121902_2.
Résultats d'exécution
Dans les Operational Logs, vous pouvez consulter le statut d'exécution des nœuds en aval de la branche qui satisfont la condition de branche et sont sélectionnés pour l'exécution.
Dans les Operational Logs, vous constatez que les nœuds en aval d'une branche qui ne satisfont pas les conditions de branche et ne sont pas sélectionnés pour l'exécution sont marqués comme ignorés.
Le nœud en aval du nœud de fusion s'exécute comme prévu.