Les dépendances de planification inter-cycles permettent à l'instance d'un nœud pour le cycle actuel de s'exécuter uniquement après la réussite des instances d'un ou plusieurs nœuds spécifiés lors du cycle précédent. Utilisez les dépendances inter-cycles lorsqu'un nœud a besoin des données produites par un autre nœud la veille, ou lorsqu'un nœud horaire ou minutiel doit attendre la fin de son instance du cycle précédent.
Précautions
Tenez compte des points suivants lors de la configuration des dépendances de planification inter-cycles.
|**Élément**
|
**Description**
|
**Références**
| | --- | --- | --- | |
**Affichage des dépendances de planification inter-cycles**
|
Les dépendances de planification inter-cycles apparaissent sous forme de **lignes pointillées** dans le graphe orienté acyclique (DAG) d'un nœud.
|
[Annexe : Fonctionnalités de la vue DAG](t2105702.xdita#)
| |
**Vérification de la nécessité de configurer des dépendances de planification intra-cycle après la configuration des dépendances inter-cycles**
|
Après configuration des dépendances de planification pour un nœud, celui-ci s'exécute uniquement après la réussite de tous ses nœuds ancêtres.
Par défaut, le système analyse automatiquement les dépendances de planification intra-cycle. Si vous configurez des dépendances inter-cycles pour un nœud, vérifiez si des dépendances intra-cycle sont également nécessaires. Le cas échéant, supprimez les dépendances intra-cycle générées automatiquement pour éviter de bloquer le nœud.
|
[Configurer les dépendances de planification intra-cycle](t2802960.xdita#)
| |
**Scénarios complexes nécessitant des dépendances de planification inter-cycles**
|
Dans certains scénarios complexes, les dépendances intra-cycle peuvent ne pas répondre à vos besoins métier. Configurez alors des dépendances inter-cycles.
Par exemple, si un nœud quotidien dépend d'un nœud horaire, l'instance quotidienne dépend par défaut de toutes les instances horaires générées au cours de la journée en cours.
|
[Principes de planification pour les dépendances complexes](t2811224.xdita#)
| |
**Aperçu des dépendances de planification d'un nœud**
|
Pour éviter qu'un nœud déclenché automatiquement dans l'environnement de production ne subisse de retard dû à des dépendances inattendues, prévisualisez ses dépendances de planification avant déploiement. Cela garantit l'exécution correcte des instances du nœud déclenché automatiquement.
|
[Annexe : Utiliser les fonctionnalités fournies dans un DAG](t2105702.xdita#title_uhh_btf_9za)
| |
**Déploiement de nœud**
|
Après avoir configuré les dépendances de planification inter-cycles pour un nœud, déployez-le ainsi que ses nœuds ancêtres dans l'environnement de production. Vous pourrez ensuite consulter les dépendances inter-cycles dans Operation Center de l'environnement de production.
|
[Déployer un nœud ou un workflow](t2788770.xdita#)
|
Point d'entrée
Accédez à la page d'édition du nœud dans Data Studio. Dans le volet de navigation de droite, cliquez sur Add Dependency. Sous l'onglet Scheduling Dependencies, cliquez sur Parse I/O from Code pour que le système suggère des dépendances, ou sur Add Dependency pour en configurer une manuellement. Lors de l'ajout d'une dépendance, la liste déroulante Dependency Type propose quatre options : Same-cycle Dependency, Cross-cycle Dependency, Cross-cycle Self Dependency et Cross-cycle Dependency on a Level-1 Descendant Node. Sélectionnez un type de dépendance, configurez l'Ancestor Object, puis cliquez sur Add pour terminer la configuration.
Types de dépendances de planification inter-cycles
|**Type de dépendance**
|
**Description**
|
**Scénario**
| | --- | --- | --- | |
Dépendance vis-à-vis de l'instance générée pour le nœud actuel lors du cycle précédent
|
L'instance du cycle actuel d'un nœud s'exécute uniquement après la réussite de l'instance du même nœud lors du cycle précédent.
|
L'instance du cycle actuel d'un nœud dépend des dernières données métier produites par l'instance du même nœud lors du cycle précédent.
| |
Dépendance vis-à-vis des instances générées pour les nœuds descendants de premier niveau du nœud actuel lors du cycle précédent
|
L'instance du cycle actuel du nœud actuel s'exécute uniquement après la réussite des instances des nœuds descendants lors du cycle précédent.
|
L'instance du cycle actuel du nœud actuel dépend du nettoyage des données de sa table de sortie par les instances des nœuds descendants lors du cycle précédent.
| |
Dépendance vis-à-vis des instances générées pour un ou plusieurs nœuds spécifiés lors du cycle précédent
|
L'instance du cycle actuel du nœud actuel s'exécute uniquement après la réussite des instances d'un ou plusieurs nœuds spécifiés lors du cycle précédent.
|
L'instance du cycle actuel du nœud actuel dépend des données de la table de sortie d'un ou plusieurs autres nœuds lors du cycle précédent, selon la logique métier, même si ces données ne sont pas référencées dans le code.
|
Dépendance vis-à-vis de l'instance générée pour le nœud actuel lors du cycle précédent
L'instance du cycle actuel d'un nœud dépend des dernières données métier produites par l'instance du même nœud lors du cycle précédent. Vérifiez les dépendances suivantes :
-
L'instance du cycle actuel d'un nœud horaire dépend de l'instance du même nœud lors du cycle précédent.
-
L'instance du cycle actuel d'un nœud quotidien dépend de l'instance du même nœud lors du cycle précédent.
Configurez les dépendances de planification :
Accédez à l'onglet de configuration du nœud A dans Data Studio. Cliquez sur l'onglet Properties dans le volet de navigation de droite. Cliquez sur Scheduling Dependencies dans l'onglet qui s'affiche.
-
Dans la section Node Dependencies, cliquez sur Add Dependency. Dans le formulaire qui s'affiche, configurez les paramètres suivants :
Dans la liste déroulante Dependency Type, sélectionnez Cross-cycle Self Dependency. Cliquez sur le bouton Add pour définir l'instance du cycle précédent du nœud A comme dépendance ancêtre.
Cliquez sur Save pour enregistrer les configurations de dépendance de planification.
Les résultats d'exécution des instances horaires et quotidiennes dans différents cycles de planification s'influencent mutuellement.
Si un nœud quotidien dépend d'un nœud horaire ou minutiel, l'heure de début de l'instance quotidienne est affectée par la présence ou l'absence d'une auto-dépendance pour le nœud horaire ou minutiel.
-
Nœud horaire ou minutiel sans auto-dépendance
Si le nœud horaire ou minutiel ne possède pas d'auto-dépendance, l'instance quotidienne dépend de toutes les instances horaires ou minitielles de la journée en cours. Dans ce cas, le nœud quotidien agrège et traite toutes les données de table provenant de toutes les instances horaires ou minitielles de la journée en cours.
-
Nœud horaire ou minutiel avec auto-dépendance
Si le nœud horaire ou minutiel possède une auto-dépendance, l'instance quotidienne dépend uniquement de l'instance horaire ou minutielle dont l'heure de planification est la plus proche, selon le principe de proximité de l'heure de planification.
Pour plus d'informations, consultez l'Annexe 1 : Scénarios de dépendances complexes.
Dépendance vis-à-vis des instances générées pour les nœuds descendants de premier niveau du nœud actuel lors du cycle précédent
Avec ce type de dépendance, l'instance du cycle actuel d'un nœud s'exécute uniquement après la réussite des instances des nœuds descendants de premier niveau lors du cycle précédent.
-
Configurez les dépendances de planification :
Accédez à l'onglet de configuration du nœud C dans Data Studio. Cliquez sur l'onglet Properties dans le volet de navigation de droite. Cliquez sur Scheduling Dependencies dans l'onglet qui s'affiche.
-
Dans la section Node Dependencies, cliquez sur Add Dependency. Dans le formulaire qui s'affiche, configurez les paramètres suivants :
Définissez le paramètre Dependency Type sur Cross-cycle Dependency on Level-1 Descendant Node. Le système recherche automatiquement les nœuds dont le nœud actuel doit dépendre, en se basant sur le dernier code présent dans l'onglet de configuration du nœud actuel. Sélectionnez les nœuds A et B comme nœuds ancêtres du nœud actuel.
Cliquez sur Save pour enregistrer les configurations de dépendance de planification.
-
Description du diagramme de flux :
-
Description de l'instance C1 :
Traitement des données : L'instance C1 traite les données dans les tables de sortie des instances A et B dans la partition T-2.
Sortie des données : L'instance C1 génère des données dans la table C1 dans la partition T-1.
-
Descriptions des instances A1 et B1 :
Traitement des données : Les instances A1 et B1 traitent les données dans la table de sortie de l'instance C1 le jour T-1.
Sortie des données : Les instances A1 et B1 génèrent des données dans les tables A1 et B1 le jour T-1.
-
Description de l'instance C2 :
Traitement des données : L'instance C2 traite les données dans les tables de sortie des instances A1 et B1 dans la partition T-1.
Production : Données pour la table C2 dans la partition T.
-
Descriptions des instances A2 et B2 :
Traitement : Données provenant de la ou des tables de sortie de l'instance C2 le jour T.
Sortie des données : Les instances A2 et B2 génèrent des données dans les tables A2 et B2 le jour T.
-
Dépendance vis-à-vis des instances générées pour un ou plusieurs nœuds spécifiés lors du cycle précédent
Avec ce type de dépendance, l'instance du cycle actuel d'un nœud s'exécute uniquement après la réussite des instances d'un ou plusieurs nœuds spécifiés lors du cycle précédent.
-
Configurez les dépendances de planification :
Accédez à l'onglet de configuration du nœud B dans Data Studio. Cliquez sur l'onglet Properties dans le volet de navigation de droite. Cliquez sur Scheduling Dependencies dans l'onglet qui s'affiche.
-
Dans la section Node Dependencies, cliquez sur Add Dependency. Dans le formulaire qui s'affiche, configurez les paramètres suivants :
Définissez le paramètre Dependency Type sur Cross-cycle Dependency.
Ancestor Object : Définissez le paramètre sur Name et sélectionnez le nœud D, qui n'appartient pas au workflow formé par les nœuds A, B et C.
Sélectionnez le nœud D comme nœud ancêtre du nœud B.
Description du diagramme de flux : Le nœud C possède deux nœuds descendants : le nœud A et le nœud B. L'instance du cycle actuel du nœud B dépend de l'instance du cycle précédent du nœud D. Dans cet exemple, le cycle actuel est T et le cycle précédent est T-1. L'instance du nœud B dans le cycle T s'exécute uniquement après la réussite de l'instance du nœud D dans le cycle T-1.
Prévisualiser les dépendances de planification
Après avoir configuré les dépendances de planification pour un nœud, vous pouvez les prévisualiser. Pour plus d'informations, consultez les étapes suivantes : Vérifier les dépendances.