tBufferOutput - 6.1

Composants Talend Open Studio Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Propriétés du tBufferOutput

Famille de composant

Misc

 

Fonction

Ce composant met en tampon des données afin de pouvoir y accéder plus tard via un service Web par exemple.

Objectif

Ce composant permet d'accéder aux données via un service Web. En effet, il a été conçu pour être exporté en tant que service Web afin d'accéder aux données directement à partir du serveur d'application Web. Pour plus d'informations, consultez le Guide utilisateur du Studio Talend.

Basic settings

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champs qui sont traités et passés au composant suivant. Le schéma est soit local (built-in) soit distant dans le Repository.

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir le schéma.

  • Change to Built-In property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs. Si vous souhaitez propager les modifications uniquement au Job courant, sélectionnez No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

Lors de l'utilisation du tBufferOutput, c'est l'ordre des colonnes qui est pris en compte, ainsi l'ordre des colonnes est plus important que leur libellé.

 

 

Built-in : Le schéma est créé et conservé pour ce composant uniquement. Voir également le Guide utilisateur du Studio Talend.

 

 

Repository : Le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisable dans divers projets et Jobs. Voir également le Guide utilisateur du Studio Talend.

Global Variables

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

Ce composant n'est pas un composant de début (font vert) et il requiert un composant de sortie.

Scénario 1 : Mettre des données en mémoire tampon

Ce scénario décrit un Job volontairement basique qui met en tampon les données d'un Job enfant pendant qu'un Job parent affiche les données mise en tampon dans la console standard. Généralement, un Job utilisant un composant tBufferOutput inclurait une étape d'export en tant que service Web, afin que les données soient accessibles directement via le serveur d'application Web.

  • Créez deux Jobs : le premier Job (BufferFatherJob) exécute le deuxième et affiche le contenu dans la console Run. Le deuxième Job (BufferChildJob) stocke les données définies dans une mémoire tampon.

  • Dans le premier Job, cliquez et déposez les composants suivants : tRunJob et tLogRow.

  • Dans le deuxième Job, cliquez et déposez les composants suivants : tFileInputDelimited et tBufferOutput.

  • Commencez par paramétrer les propriétés du deuxième Job.

  • Sélectionnez le composant tFileInputDelimited et dans l'onglet Basic settings de la vue Component, paramétrez les propriétés d'accès au fichier d'entrée.

  • Dans le champ File Name, paramétrez le chemin d'accès au fichier délimité contenant les données à mettre en tampon.

  • Dans les champs Row Separator et Field Separator, renseignez respectivement les séparateurs de lignes et de champs.

  • Dans le champ Header, renseignez les informations sur un éventuel en-tête.

  • Décrivez le Schema des données à passer au composant tBufferOutput.

  • Sélectionnez le composant tBufferOutput et paramétrez ses propriétés dans l'onglet Basic settings de la vue Component.

  • Généralement le schéma du composant d'entrée alimente automatiquement le schéma du composant tBufferOutput. Mais vous pouvez aussi configurer une partie du schéma à mettre en tampon si vous le souhaitez.

  • Maintenant le premier Job (BufferFatherJob), paramétrez les propriétés du composant tRunJob.

  • Cliquez sur Edit schema pour modifier le schéma si nécessaire et sélectionner la colonne à afficher. Le schéma peut être identique ou différent du schéma mis en tampon.

  • Dans le tableau Context Param, vous pouvez aussi définir les paramètres de contexte à utiliser pour l'exécution de ce Job. Pour cet exemple, gardez le contexte par défaut.

Appuyez sur F6 pour exécuter les Jobs parent. Le composant tRunJob se charge d'exécuter le Job enfant et affiche les données dans la console standard :

Scénario 2 : Mettre les données de sortie en mémoire tampon du serveur d'application Web

Ce scénario décrit un Job appelant un service Web et stockant les données de sortie directement sur la mémoire tampon du serveur d'application Web. Ce scénario crée d'abord un Job utilisant des variables de contexte qui pourra ensuite être utilisé en tant que service Web, puis exporte de Job en tant que service Web.

Créer un Job

  1. Cliquez-déposez les composants suivants dans le Job Designer : tFixedFlowInput et tBufferOutput.

  2. Reliez-les via une connexion de type Row Main.

Créer une variable de contexte

Dans ce scénario, vous allez définir deux variables de contexte : nb_lines et lastname. La première variable configure le nombre de lignes générées par le composant tFixedFlowInput et la seconde configure le nom de famille à afficher dans la liste de sortie. Pour plus d'informations concernant la création et l'utilisation de variables de contexte, consultez le Guide utilisateur de Studio Talend.

Pour définir les deux variables de contexte :

  1. Dans l'onglet Contexts de votre Job, cliquez sur le bouton [+] au bas de la vue, afin d'ajouter deux variables, respectivement nb_lines, de type Integer et lastname de type String.

  2. Dans le champ Value des variables, configurez le nom de famille à afficher et le nombre de lignes à générer, respectivement Ford et 3 dans cet exemple.

Configurer les données d'entrée

  1. Dans l'espace de travail, sélectionnez le tFixedFlowInput.

  2. Cliquez sur la vue Component pour paramétrer ses propriétés de base dans l'onglet Basic settings.

  3. Cliquez sur le bouton [...] à côté du champ Edit Schema pour décrire la structure des données que vous souhaitez à partir des variables internes. Dans ce scénario, le schéma est constitué de trois colonnes : now, de type Date, firstname et lastname, toutes deux de type String.

  4. Cliquez sur OK pour fermer la boîte de dialogue et acceptez la propagation des modifications lorsque vous y êtes invité. Les trois colonnes définies apparaissent dans le champ Values de l'onglet Basic settings du tFixedFlowInput.

  5. Cliquez dans la cellule Value de chaque ligne des deux premier paramètres définis et appuyez sur Ctrl+Espace pour accéder à la liste des variables globales.

  6. A partir de la liste des variables globales, sélectionnez TalendDate.getCurrentDate() pour la colonne now et talendDatagenerator.getFirstName pour la colonne firstname.

  7. Cliquez dans la cellule Value de la colonne lastname et appuyez sur Ctrl+Espace pour accéder à la liste des variables globales.

  8. A partir de la liste des variables globales, sélectionnez context.lastname, la variable de contexte que vous avez créé pour la colonne lastname.

Construire un Job en tant que service Web

Avant de construire votre Job en tant que service Web, consultez le Guide utilisateur du Studio Talend.

  1. Dans la vue Repository, cliquez-droit sur le Job que vous venez de créer et sélectionnez Build Job dans le menu. La boîte de dialogue [Build Job] s'ouvre.

  2. Cliquez sur le bouton Browse... et sélectionnez le répertoire dans lequel enregistrer votre Job.

  3. Dans la zone Build type, sélectionnez le type de construction (build) que vous souhaitez utiliser dans votre application Web Tomcat (WAR pour cet exemple) et cliquez sur Finish. La boîte de dialogue [Build Job] se referme.

  4. Copiez le fichier War et collez-le dans le répertoire de votre Tomcat.

Scénario 3 : Appeler un Job contenant des variables de contexte à partir de votre navigateur Web

Ce scénario décrit la procédure à utiliser pour appeler le Job créé dans Scénario 2 : Mettre les données de sortie en mémoire tampon du serveur d'application Web à partir de votre navigateur Web en modifiant/sans modifier les valeurs des variables de contexte.

Saisissez l'URL suivante dans votre navigateur Web : http://localhost:8080//export_job/services/export_job3?method=runJob dans laquelle "export_job" correspond au nom du répertoire de votre application Web déployé sur le Tomcat et "export_job3" correspond au nom de votre Job.

Cliquez sur Enter pour exécuter votre Job à partir du navigateur.

Le Job utilise les valeurs par défaut des variables de contexte : nb_lines et lastname, et donc génère trois lignes contenant la date en cours, un prénom et le nom Ford.

Vous pouvez modifier les valeurs des variables de contexte directement à partir de votre navigateur. Pour appeler le Job à partir de votre navigateur et modifier les valeurs des deux variables de contexte, saisissez l'URL suivante :

http://localhost:8080//export_job/services/export_job3?method=runJob&arg1=--context_param%20lastname=MASSY&arg2=--context_param%20nb_lines=2.

%20 correspond à un espace blanc lorsqu'il est utilisé dans une URL. Dans le premier argument "arg1", définissez la valeur "MASSY" pour la variable de contexte lastname. Ainsi le nom qui apparaîtra sera "MASSY". Dans le deuxième argument "arg2", définissez la valeur "2" pour la variable de contexte nb_lines pour ne générer que deux lignes de données.

Cliquez sur Enter pour exécuter le Job à partir du navigateur.

Le Job génère deux lignes avec MASSY comme nom.

Scénario 4 : Appeler un Job exporté en tant que service Web dans un autre Job

Ce scénario décrit un Job appelant un autre Job exporté en tant que service Web en utilisant un composant tWebServiceInput. Ce scénario appellera le Job créé dans Scénario 2 : Mettre les données de sortie en mémoire tampon du serveur d'application Web.

  • Cliquez-déposez les composants suivants dans le Job Designer : tWebServiceInput et tLogRow.

  • Reliez-les via une connexion de type Row Main.

  • Dans l'espace de travail, sélectionnez le composant tWebServiceInput.

  • Cliquez sur la vue Component pour définir ses propriétés de base dans l'onglet Basic settings.

  • Dans la liste Schema, sélectionnez Built-In et cliquez sur le bouton [...] à côté du champ Edit Schema pour décrire la structure des données que vous souhaitez appeler du Job exporté. Dans ce scénario, le schéma est constitué de trois colonnes, now, firstname, et lastname.

  • Cliquez sur le bouton [+] pour ajouter les trois lignes de paramètres et définir vos variables. Cliquez sur OK pour fermer la boîte de dialogue.

  • Dans le champ WSDL de l'onglet Basic settings de la vue Component du tWebServiceInput, saisissez l'URL : http://localhost:8080/export_job/services/export_job3?WSDL dans laquelle "export_job" correspond au nom du répertoire de votre application Web dans lequel le Job à appeler est stocké et "export_job3" correspond au nom du Job.

  • Dans le champ Method name, saisissez runJob.

  • Dans la zone Parameters, cliquez sur le bouton [+] pour ajouter deux lignes de paramètres et définir vos variables de contexte.

  • Cliquez dans la première cellule Value pour configurer le paramètre définissant le nombre de lignes à générer : --context_param nb_line=3.

  • Cliquez dans la deuxième cellule Value pour configurer le paramètre définissant le nom à afficher : --context_param lastname=Ford.

  • Sélectionnez le tLogRow et cliquez sur la vue Component pour afficher les propriétés du composant.

  • Dans la vue Basic settings du tLogRow, sélectionnez l'option Table pour afficher les données de sortie sous forme de tableau. Pour plus d'informations, consultez Propriétés du tLogRow.

  • Enregistrez votre Job et appuyez sur F6 pour l'exécuter.

Le Job génère trois colonnes contenant la date en cours, des prénoms et des noms, et les affiche dans la console sous forme de tableau.