fbpx

Utilisation des contextes dans le studio Talend

Cet article est le 4ème volet d'une suite de tutoriels dédiés aux débutants sur le studio Talend Data Intégration. Dans ce tutoriel, nos experts Talend vous expliquent comment utiliser correctement les contextes. Vous allez apprendre à créer et utiliser une variable de contexte dans un job, ajouter des contextes et utiliser les groupes de contextes. 




Utilisation d'une variable de contexte dans un job

 

Dans cette première partie du tutoriel, nos experts Talend vont vous expliquer comment utiliser une variable de contexte dans un job. L'objectif est d'afficher un message différent en fonction du contexte.

Pour cela, ouvrez le job 'premier job' (cf article Création et exécution d'un job simple).

Ouvrez l'onglet 'Contexts'.


Aperçu de l'onglet "contexts" d'un job Talend

Cliquez sur le « + » en bas de page (et pas celui de droite) pour créer une nouvelle variable de contexte. Appelez la « message » et donnez-lui la valeur « Mon message ».

Nous laissons la valeur par défaut pour le type qui est String (chaîne de caractères).


Création d'un variable de contexte dans le studio Talend Data Integration

Ouvrez les propriétés du tMsgBox et remplacez le message à afficher par context.message. Cela indique d’utiliser la variable message de notre contexte.

Vous pouvez également taper context. puis faire « Ctrl + espace » pour afficher les variables de contexte disponibles.


Configurer l'utilisation de la variable message d'un contexte dans un job Talend

Exécutez le job et voyez que votre message défini en variable s’affiche.


Exécution du job Talend et affichage du message en variable

Cochez la case « Prompt » à côté de la variable.


Cochez la case "Prompt" dans les paramètres du contexte Talend

Relancez le job. Vous êtes alors invité à saisir la valeur de la variable.


Saisie de la valeur de la variable


Ajout de contextes 

  

Nous allons maintenant voir comment ajouter un nouveau contexte et exécuter le job en choisissant le contexte.

Cliquez sur le « + » en haut à droite de l’onglet de contexte.


Ajouter un nouveau contexte dans le studio Talend

Cliquez sur « Nouveau » et ajoutez un contexte nommé « PROD ».


Ajout d'un nouveau contexte nommé "Prod" dans le studio Talend

Votre contexte apparaît en dessous de celui par défaut. Ici nous garderons le contexte par défaut mais une bonne pratique consiste également à renommer le contexte par défaut (par exemple en « DEV ») ou de le supprimer.

Cliquez sur « OK » pour fermer la fenêtre.

Observez votre onglet de contextes, la colonne PROD a été ajoutée.

Décochez les cases de Prompt nous n’en aurons plus besoin.


Décocher les cases Prompt dans les paramètres du contexte

Modifiez la valeur du message du contexte PROD, par exemple « Mon message de production ».


Modification de la valeur d'un message dans un contexte

Dans l’onglet d’exécution du Job, à droite, vous pouvez choisir dans quel contexte exécuter votre Job.

Choisissez PROD. Vous avez d’ailleurs l’affichage des valeurs des variables spécifiques au contexte choisi.

Exécutez le Job et observez le résultat.


Affichage du message du contexte à l'exécution du Job Talend

Le message est bien celui du contexte de production. Vous pouvez ainsi jongler entre les contextes pour exécuter vos Jobs avec différents paramètres.

 

 

Ajouter et utiliser des groupes de contexte

 

Vous savez maintenant utiliser une variable de contexte dans un Job et Ajouter de nouveaux contextes. A présent, nous allons voir comment créer des groupes de contextes dans le référentiel et les utiliser dans un Job.

Toujours sur votre « PremierJob », faîtes un clic droit sur votre variable de contexte message, puis cliquez sur « Ajouter au contexte du référentiel.


Ajout d'une variable au contexte du référentiel dans le studio Talend

Une fenêtre s’ouvre avec vos groupes de contextes existants. Nous n’avons pour le moment aucun groupe, cochez donc la case pour créer un nouveau groupe et appelez-le « Variables ».


Création d'un nouveau groupe de variables dans le studio Talend

Observez votre onglet de contextes, vous pouvez voir que votre variable est désormais contenue dans le groupe Variables.

Double-cliquez sur la variable message pour l’éditer. Vous pouvez voir que la fenêtre d’édition du groupe de contexte s’ouvre. Vous retrouvez d’ailleurs les mêmes propriétés que pour un Job (Nom, Objectif, Description, etc.).


Fenêtre d'édition d'un groupe de contexte dans le studio Talend

Cliquez sur suivant pour accéder à vos variables.

Ajoutez une variable nommée « nb_personnes » de type Integer et donnez-lui la valeur 100 par défaut et 1000 pour la PROD.

Modifiez également le nom de la variable message en le_message.


Aojuter une variable dans une groupe de contexte Talend

Cliquez sur Finish pour valider. Lisez attentivement la proposition qui vous est faîte par Talend.


Propager une variable de contexte à tous les Job Talend

Etant donné que nous avons renommé la variable message, nous avons le choix de renommer cette variable dans tous les Jobs où elle est utilisée ou bien de passer cette variable en mode « Built-in » c’est-à-dire de la rendre spécifique au Job (donc ne plus utiliser le groupe de contextes) en conservant l’ancien nom.

Nous souhaitons renommer la variable partout, sélectionnez donc « Oui ».

Une nouvelle fenêtre s’ouvre récapitulant les Jobs impactés par cette modification.


Liste des Job Talend impactés par la variable renommée

Laissez le Job coché et cliquez sur OK.

Observez à nouveau votre onglet de contextes.


Aperçu de l'onglet "contextes" dans le studio Talend

La variable a bien été renommée.

Il nous manque cependant la variable nb_personnes que nous avons ajouté. En effet les variables crées par la suite dans le groupe de contextes ne sont pas immédiatement disponibles dans les Jobs utilisant le groupe.

Pour cela, cliquez sur l’icône de gestion des groupes de contexte en bas à gauche (à droite des flèches).


Gestion des groupes de contextes et des variables sous Talend

La fenêtre de gestion s’ouvre.


Gestion des groupes de contexte et des variables dans le studio Talend

Vous pouvez voir que la case nb_personne n’est pas cochée. Cochez-la et cliquez sur OK.

Observez à nouveau vos contextes. La variable est cette fois-ci bien présente.


Listing des variables disponibles dans l'onglet contexte

Notre but est maintenant de réutiliser ce groupe de contextes dans un autre Job.

Sauvegardez et fermez ce Job, puis ouvrez le Job Générateur (cf article 'Créer et exécuter un job Talend simple').


Exemple de structure d'un Job Talend

Nous allons inclure notre groupe de contextes précédemment créé.

Cliquez sur l’icône de gestion des groupes de contextes comme vu juste au-dessus.

Sélectionnez le groupe Variables et cliquez sur OK.


Sélection des variables des contextes du référentiel dans le studio Talend

Sur la fenêtre suivante, recochez Variables pour confirmer que vous souhaitez ajouter ce groupe encore inexistant sur le Job puis cliquez sur OK.


Confirmation de l'ajout du groupe de contexte au Job Talend

Observez que le groupe a bien été ajouté dans l’onglet Contexts.


Ajout du groupe de variables dans l'onglet "Contexte" du studio Talend

Cependant remarquez que notre contexte PROD n’est pas présent par défaut, il faut l’ajouter manuellement.

Cliquez sur le « + » à droite, puis cliquez sur Nouveau et remplissez PROD comme nom de contexte comme nous avons pu le faire précédemment.


Ajout manuel d'un contexte à un Job Talend

Attention, pour utiliser un contexte déjà existant, il est impératif d’utiliser exactement le même nom (sensible à la casse) sinon cela sera considéré comme un autre contexte et nous ne retrouverons pas les bonnes valeurs.

Cliquez sur OK puis à nouveau sur OK lors de la détection des mises à jour. Vos valeurs de PROD ont bien été récupérées.


Récupération automatique des variables dans l'onglet contexte

Ouvrez le composant tRowGenerator générant les personnes en double cliquant dessus.

Nous allons utiliser notre variable de contexte pour choisir le nombre de lignes à générer. Pour cela modifiez la valeur du champ par notre variable de contexte à savoir context.nb_personnes.


Modification de la variable de contexte du composant tRowGenerator

Cliquez sur OK puis modifiez également la génération de propriétaires pour prendre en compte votre nombre dynamique de personnes.

Remplacez votre « 105 » dans la valeur max du nombre d’id par context.nb_personnes + 5. Le « +5 » représentant obligatoirement des personnes que nous n’avons donc pas dans notre table personne.


Configuration du composant tRoGenerator dans le studio Talend

Vous remarquerez que la variable étant de type Integer il est possible d’effectuer des calculs avec celle-ci.

Lancez votre Job en utilisant le contexte par défaut.


Lancement d'un Job en utilisant le contexte par défaut

A priori le processus devrait être absolument identique à ce que vous aviez jusqu’à présent.

Nous allons à présent contextualiser notre base de données.

Rendez-vous dans les métadonnées de votre référentiel et faîtes un clic droit sur BDD_Talend puis sélectionnez « Editer une connexion ».


Contextualisation d'une base de données dans le studio Talend Data Integration

Cliquez sur suivant.

Sur la fenêtre récapitulant vos informations de connexion, cliquez sur « Exporter en tant que contexte ».


Mise à jour de la connexion à une base de données dans le studio Talend

Il est possible d’ajouter ces valeurs à un contexte existant, mais dans notre cas nous souhaitons dédier un groupe uniquement à la base de données.

Cochez donc « Créer un nouveau contexte dans le référentiel » et cliquez sur suivant.

Vous pouvez laisser le nom BDD_Talend par défaut.


Réutiliser un groupe de contexte dans le studio Talend Data Integration

En cliquant sur suivant vous aurez un aperçu des variables créées et la possibilité d’en ajouter d’autres mais ce n’est pas notre cas. Cliquez sur Finish.

Vous pouvez à présent voir que votre connexion utilise maintenant votre groupe de contexte pour remplir ses paramètres.


Utilisation du groupe de contexte par la base de données

Cliquer sur « Propager les modifications ». A priori seul le Job Metadata est impacté puisque rappelez-vous nous avions utilisé les métadonnées de connexion dans celui-ci.

Cliquez sur OK pour valider puis sur Oui lorsque l’on vous demande d’ajouter les paramètres de contexte au Job.

Réouvrez votre Job Metadata et regardez l’onglet Contexts.


Appercàu de l'onglet "Contexte" dans le studio Talend Data Integration

Le groupe de contextes a été ajouté.

Observez à présent les propriétés de votre tDBInput personne.


Apperçu des propriétés du composant tDBInput dans le studio Talend

Les paramètres utilisent automatiquement les variables de contextes définies.

Reprenez votre Job Generateur.

Cliquez sur l’icône de gestion des contextes et ajoutez votre nouveau contexte BDD_Talend au Job.


Gestion des contextes : ajouter un contexte à un Job Talend

Cliquez sur OK.

Observez vos contextes, nous retrouvons notre groupe avec toutes ses variables.


Apperçu d'un groupe de contexte avec l'ensemble de ses variables

A présent, double-cliquez sur le groupe BDD_Talend (ou sur une des variables qui le composent) pour accéder à sa modification.

Cliquez sur suivant pour accéder à la liste de ses variables puis grâce au « + » à droite, ajoutez le contexte PROD de la même manière que précédemment.

Les valeurs du contexte par défaut sont recopiées dans ce nouveau contexte.

Changez maintenant la valeur du nom de la base de données du contexte de production en talend_production.

Nous pourrions éventuellement changer les autres paramètres si la base était hébergée ailleurs ou si les identifiants étaient différents.


Modification d'un groupe de contexte dans le studio Talend Data Integration

Cliquez sur Finish et acceptez de propager les modifications.

Vous pouvez remarquer que le nom de votre base a été modifié pour le contexte de production.


Propager les modifications apportées au groupe de contexte dans le studio Talend

Nous allons enfin pouvoir utiliser notre contexte.

Rendez-vous dans le composant tDBOutput de la table personne et pour le champ « Type de propriété » choisissez « Référentiel » puis grâce aux « … » à coté, choisissez votre BDD_Talend.


Choix du référentiel pour le composant tDBInput

Vos propriétés utilisent désormais vos variables de contexte. Il aurait également été possible de remplir un à un chaque paramètre en marquant à chaque fois context.[nom de la variable].


Utilisation des variables de contexte dans les propriétés du composant tDBInput

Effectuez la même manipulation pour vos 2 autres tables.

Lancez maintenant votre Job avec le contexte PROD.


Lancement d'un Job Talend dans le studio Data Integration

Observez tout d’abord le sous-job de génération de personnes.


Apperçu d'un sous-Job Talend dans le studio Data Integration

Comme vous pouvez le voir cette fois-ci nous avons 1000 lignes créées et non plus 100.

Rendez-vous ensuite dans votre gestionnaire de base de données et observez votre base talend_production, jusqu’à présent inutilisée.


Apperçu du gestionnaire de base de données Talend

Nos 3 tables ont bien été créées.

De même lorsque vous souhaiterez lire les données de votre base, il suffira de choisir un contexte ou l’autre lors de l’exécution pour choisir la bonne source.

Les contextes auraient par exemple également pu vous servir pour choisir l’emplacement de création de vos fichiers.


Découvrir le studio Talend : les 2 tutoriels précédant


Utilisation des métadonnées du référentiel Talend

Découverte du Studio Talend Data Integration : Créer et utiliser des métadonnées du référentiel Talend

Découvrir

Extraction et traitement des données et création de jointures sous Talend

Premiers pas sur le studio Talend : Génération de contenu dans une base de données, extraction et traitement des données et création de jointures

Découvrir