Le contexte de nœud transmet automatiquement des paramètres entre les nœuds en amont et en aval. Les types de paramètres pris en charge incluent les constantes, les variables et les résultats de requêtes des nœuds en amont, permettant ainsi une planification et une exécution dynamiques des tâches.
Limites
Édition du produit : la fonctionnalité Ajouter un paramètre d'affectation (utilisée pour transmettre les résultats de requête) est disponible uniquement dans DataWorks Standard Edition et les éditions supérieures.
Restrictions liées au type de nœud : seuls certains types de nœuds prennent en charge la transmission des résultats de requête via un paramètre d'affectation. Les types pris en charge incluent les nœuds EMR Hive, EMR Spark SQL, ODPS Script, Hologres SQL, AnalyticDB for PostgreSQL, ClickHouse SQL et MySQL.
Fonctionnement
Les paramètres du contexte de nœud transmettent des valeurs en définissant un paramètre de sortie sur le nœud en amont (fournisseur) et en le référençant sur le nœud en aval (consommateur).
-
Nœud en amont (fournisseur) : génère une valeur et la transmet en tant que paramètre de sortie. Vous pouvez fournir la valeur de l'une des deux manières suivantes :
Configurer des paramètres de sortie standard : dans la section Output Parameters du nœud en amont, définissez un paramètre et attribuez-lui une valeur. La valeur peut être une constante, telle que
'abc', ou une variable de contexte système, telle que${status}.Configurer des paramètres de sortie d'affectation : le système capture le résultat de la dernière requête du code du nœud (par exemple,
SELECT 'table_A';) et l'affecte à un paramètre de sortie intégré nommé outputs. La valeur de ce paramètre est ensuite transmise aux nœuds en aval. La valeur du paramètre dépend du résultat d'exécution du code. Cette méthode est prise en charge par les nœuds d'affectation et certains nœuds basés sur SQL.
-
Nœud en aval (consommateur) : reçoit et utilise la valeur fournie par le nœud en amont.
Établir une dépendance de planification : configurez une dépendance de planification sur le nœud en amont.
Configurer un paramètre d'entrée : dans la section Input Parameters du nœud en aval, ajoutez un paramètre d'entrée et définissez sa source de valeur sur un paramètre de sortie du nœud en amont.
Référencer la valeur dans le code : dans le code du nœud en aval, référencez la valeur reçue au format
${input_parameter_name}. Par exemple, si le nœud en amont transmet la valeurtable_A, le codeSELECT * FROM ${input};est résolu enSELECT * FROM table_A;lors de l'exécution.
Accéder à la zone de configuration des paramètres
Connectez-vous à la console DataWorks, sélectionnez la région souhaitée et, dans le volet de navigation de gauche, choisissez . Sélectionnez l'espace de travail cible dans la liste déroulante et cliquez sur Go to Data Development.
Sur le panneau Data Studio, double-cliquez sur le nœud cible pour ouvrir sa page d'édition.
Cliquez sur Properties sur le côté droit, puis cliquez sur
à droite de la section Node Context pour accéder à la zone de configuration des paramètres du contexte de nœud.
Configurer les paramètres de sortie
Dans la zone de contexte de nœud, configurez les paramètres de sortie du nœud actuel selon vos besoins métier.
Configurer des paramètres de sortie standard : transmet aux nœuds en aval les constantes ou les variables configurées comme paramètres de sortie du nœud actuel.
Configurer des paramètres de sortie d'affectation : configure le résultat de la requête du nœud actuel comme paramètre de sortie à transmettre aux nœuds en aval.
Configurer des paramètres de sortie standard
Pour transmettre les informations de paramètre configurées sur un nœud en amont à un nœud en aval, suivez les instructions ci-dessous.
|
Paramètre |
Description |
|
N° |
Le numéro est contrôlé par le système et s'incrémente automatiquement. |
|
Nom du paramètre |
Spécifiez un nom personnalisé pour le paramètre de sortie. |
|
Type |
Prend en charge les constantes et les variables. Sélectionnez un type selon vos besoins métier. |
|
Valeur |
Valeur du paramètre de sortie. Les types de valeurs pris en charge incluent les constantes et les variables :
|
|
Description |
Brève description du paramètre. |
|
Source |
Source du paramètre actuel. Les options incluent System Added, Parsed From Code et Manually Added. |
|
Actions |
Prend en charge les actions Save, Edit et Delete. Remarque
La modification et la suppression ne sont pas prises en charge lorsque des nœuds en aval dépendent du paramètre. Avant qu'un nœud en aval ne référence un nœud en amont, vérifiez attentivement que la sortie en amont est correctement définie. |
Après avoir configuré les paramètres, cliquez sur Save dans la colonne Actions.
Configurer des paramètres de sortie d'affectation
Pour transmettre le résultat de la requête de la tâche actuelle en tant que paramètre aux tâches en aval, suivez les instructions ci-dessous.
Localisez la section du nœud.
Cliquez sur Add assignment parameter pour ajouter un paramètre de sortie d'affectation en un seul clic.
Après avoir cliqué sur Add assignment parameter, le paramètre d'affectation transmet le résultat de la requête du nœud actuel aux nœuds en aval qui référencent le paramètre. Si le résultat est vide, le nœud actuel n'est pas bloqué, mais les nœuds en aval qui référencent le paramètre peuvent échouer.
Le nœud en aval doit ajouter le paramètre d'affectation du nœud en amont en tant que paramètre d'entrée. Son utilisation est similaire à celle d'un nœud d'affectation. Pour plus d'informations, consultez Nœud d'affectation.
Après avoir configuré les paramètres de sortie du nœud actuel, vous pouvez afficher le nom de sortie ajouté par le système dans sur la page de configuration. Les nœuds en aval peuvent utiliser ce nom de sortie pour lier la dépendance avec le nœud actuel.
Configurer les paramètres d'entrée
Configurez les paramètres d'entrée du nœud actuel dans la zone de contexte de nœud. Cela vous permet d'obtenir les paramètres de sortie des nœuds en amont pour les utiliser dans le nœud actuel.
Les paramètres d'entrée d'un nœud permettent d'obtenir les paramètres de sortie de ses nœuds en amont. Après l'ajout d'un paramètre d'entrée, vous pouvez l'utiliser dans le code du nœud actuel de la même manière qu'une variable de paramètre de planification.
Vous ne pouvez ajouter la sortie d'un nœud en amont en tant que paramètre d'entrée du nœud actuel dans la zone Input Parameters qu'après avoir configuré la dépendance du nœud actuel sur ce nœud en amont.
Un paramètre de sortie a été configuré sur le nœud en amont. Consultez Configurer les paramètres de sortie.
-
Définissez la dépendance en amont-en aval.
Sur la page d'édition du nœud en aval, cliquez sur Properties sur le côté droit.
Dans la boîte de dialogue après Node Output dans , saisissez et sélectionnez le nom de sortie que vous avez spécifié lors de la configuration du nœud en amont dans Configurer les paramètres de sortie.
Cliquez sur Add.
-
Configurez les paramètres d'entrée sur le nœud en aval.
Dans la zone Node Context, cliquez sur Add Input Parameter. Configurez les paramètres selon le tableau suivant :
|
**Paramètre**
|
**Description**
| | --- | --- | |
N°
|
Le numéro est contrôlé par le système et s'incrémente automatiquement.
| |
Nom du paramètre
|
Spécifiez un nom personnalisé pour le paramètre d'entrée. Vous pourrez ensuite référencer les informations de paramètre transmises depuis l'amont en utilisant ce nom de paramètre sur la page d'édition du nœud.
| |
Source de la valeur
|
La valeur du paramètre provient d'un paramètre de sortie du nœud en amont. La valeur réelle correspond au résultat de sortie réel du nœud en amont.
| |
Description
|
Saisissez une brève description personnalisée du paramètre.
| |
ID du nœud parent
|
Analysé automatiquement à partir du nœud en amont.
| |
Source
|
Source du paramètre actuel.
Les options incluent System Added, Parsed From Code et Manually Added.
| |
Actions
|
Prend en charge les actions Save, Edit et Delete.
| Après avoir configuré les paramètres, cliquez sur Save dans la colonne Actions.
Utiliser les paramètres d'entrée dans les nœuds en aval
Pour utiliser les paramètres d'entrée définis dans un nœud, utilisez la même méthode que pour les autres variables système. Référencez-les au format ${input_parameter_name}. La section suivante utilise un nœud Shell comme exemple pour décrire comment référencer les paramètres.
#!/bin/bash
#*************************************************************************#
##author: xxx est.aliyunid.com
##create xxx 10:06:02
#*************************************************************************#
echo 'input_from_up_const:' ${input_from_up_const}
echo 'input_from_up_var:' ${input_from_up_var}
Lorsque vous exécutez la tâche, exécutez le flux de travail contenant les nœuds en amont et en aval afin que les nœuds en amont et en aval s'exécutent séquentiellement. Sinon, les paramètres d'entrée utilisés par le nœud en aval ne seront pas valides.
Variables globales prises en charge par le système
-
Variable système
|
**Variable système**
|
**Description**
| | --- | --- | |
${projectId}
|
ID du projet.
| |
${projectName}
|
Nom du projet MaxCompute.
| |
${nodeId}
|
ID du nœud.
| |
${gmtdate}
|
00:00:00 le jour de l'heure planifiée de l'instance, au format yyyy-MM-dd 00:00:00.
| |
${taskId}
|
ID de l'instance de tâche.
| |
${seq}
|
Numéro de séquence de l'instance de tâche, qui indique son ordre parmi les instances du même nœud pour la journée en cours.
| |
${cyctime}
|
Heure planifiée de l'instance.
| |
${status}
|
État de l'instance : SUCCESS ou FAILURE.
| |
${bizdate}
|
Date métier.
| |
${finishTime}
|
Heure de fin de l'instance.
| |
${taskType}
|
Type d'exécution de l'instance : NORMAL, MANUAL, PAUSE, SKIP (exécution à blanc), UNCHOOSE ou SKIP_CYCLE (exécution à blanc hebdomadaire ou mensuelle).
| |
${nodeName}
|
Nom du nœud.
| Pour plus d'informations sur les autres paramètres, consultez Formats des paramètres de planification.