Paramètres Output - 6.3

Talend Real-time Big Data Platform Studio Guide utilisateur

EnrichVersion
6.3
EnrichProdName
Talend Real-Time Big Data Platform
task
Création et développement
Qualité et préparation de données
EnrichPlatform
Studio Talend

Dans l'espace de modélisation du Studio Talend, la création d'une connexion Row à partir du composant tMap vers des composants en sortie, a pour effet d'ajouter les schémas Output correspondants dans la zone Output du [Map Editor].

Vous pouvez également ajouter un schéma Output dans votre [Map Editor], à l'aide du signe [+] de la barre d'outils de la zone Output.

Vous pouvez aussi effectuer une jointure entre vos tables de sortie. La jointure sur les tables de sortie permet de traiter les flux séparément, mais de les unifier en sortie. Pour plus d'informations concernant cette fonction, consultez le Guide de référence des Composants Talend.

Note

La table de jointure récupère le schéma de la table source.

Lorsque vous cliquez sur le bouton [+], afin d'ajouter un schéma Output ou d'effectuer une jointure entre vos tables de sortie, une boîte de dialogue s'ouvre, vous proposant deux possibilités.

Sélectionnez...Pour...

New output

Ajouter une table de sortie.

Create join table from

Effectuer une jointure entre vos tables de sortie. Dans la liste déroulante, sélectionnez la table à partir de laquelle effectuer la jointure, puis dans le champ Named, saisissez le nom de la table à créer.

A la différence de la zone Input, l'ordre des tables de schémas Output n'a pas une grande importance, car il n'existe aucune relation de subordination (Join) entre les sorties.

Une fois que vous avez créé toutes les connexions de sortie, et de ce fait, tous les schémas Output, vous pouvez sélectionner et organiser les données de ces sorties.

Déposez une ou plusieurs entrées à partir de la zone Input directement vers la table Output appropriée.

Appuyez sur Ctrl ou Maj pour une sélection multiple.

Ou vous pouvez utiliser des expressions de la zone Var par glisser-déposer dans la table Output avec les données réutilisables appropriées.

Notez que si vous apportez des modifications à la colonne Input du Schema Editor, une boîte de dialogue vous demande de confirmer la propagation des modifications sur toutes les entrées Input/Variable/Output concernées.

Action

Résultat

Glisser-déposer vers des expressions existantes

Concatène l'expression sélectionnée, vers des expressions existantes.

Glisser-déposer vers une ligne d'insertion

Insère une ou plusieurs nouvelle(s) entrée(s) en début ou en fin de table ou entre deux lignes existantes.

Glisser-déposer + Ctrl

Remplace les expressions en surbrillance par les expressions sélectionnées.

Glisser-déposer + Maj

Ajoute les champs sélectionnés à toutes les expressions en surbrillance. Insère de nouvelles lignes si nécessaire.

Glisser-déposer + Ctrl + Maj

Remplace toutes les expressions en surbrillance par les champs sélectionnés. Insère de nouvelles lignes si nécessaire.

Vous pouvez ajouter des filtres et un rejet pour personnaliser vos sorties.

Créer des expressions complexes

Si vous devez créer des expressions complexes ou faire des changements majeurs sur le flux de sortie, utilisez la fenêtre [Expression Builder].

Cliquez sur le champ Expression de votre table Input ou Output pour afficher le bouton [...]. Puis cliquez sur ce bouton pour ouvrir l'[Expression Builder].

Pour plus d'informations concernant l'Expression Builder, consultez Créer du code à l'aide de l'Expression Builder

Utiliser les filtres

Les conditions de filtre vous permettent de sélectionner les champs et de les envoyer vers les sorties appropriées.

Cliquez sur le bouton [+] pour ajouter une ligne de filtre.

Vous pouvez saisir librement vos conditions de filtre à l'aide d'opérateurs et de fonctions Java.

Déposez des expressions d'une zone Input ou d'une zone Var vers l'entrée de Filtre de la table Output appropriée.

Un lien graphique de couleur orange apparaît. Ajoutez l'opérateur Java nécessaire pour finaliser votre formule de filtre.

Vous pouvez créer plusieurs filtres sur différentes lignes. L'opérateur AND est la conjonction logique de tous les filtres formulés.

Utiliser la fonction Rejet

L'option Reject définit la nature d'une table Output particulière.

Cette table de rejet rassemble toutes les données qui ne satisfont pas un ou plusieurs des filtres définis dans les tables Output standard. Notez que par table standard sont désignées toutes les tables qui ne sont pas des tables de rejet.

Ainsi les données rejetées des tables de sortie régulières sont regroupées dans une ou plusieurs tables dédiées, vous permettant par conséquent d'identifier les erreurs ou les cas imprévus.

Le principe de rejet (Reject) concatène tous les filtres des tables non-rejet et les définit comme formulation ELSE.

Pour définir une table de sortie comme la partie ELSE des tables régulières :

  1. Cliquez sur le bouton tMap settings en haut de la table de sortie pour afficher le tableau des propriétés.

  2. Cliquez sur le champ Value correspondant à l'option Catch output reject et cliquez sur le bouton [...] qui apparaît pour ouvrir la boîte de dialogue [Options].

  3. Dans la boîte de dialogue [Options], double-cliquez sur true, ou sélectionnez-le et cliquez sur OK pour activer l'option et fermer la boîte de dialogue.

Vous pouvez définir plusieurs tables Reject afin d'affiner les sorties multiples. Pour différencier les variantes de rejets, ajoutez des tables Reject, des lignes de filtre en cliquant sur la flèche au bouton [+].

Une fois qu'une table est définie comme table de rejet, le processus de vérification des données commencera par les tables régulières avant de prendre en considération les filtres possibles des tables de rejet.

Les données ne sont pas exclusivement traitées vers une seule sortie. Même si une donnée satisfait le filtre de sortie et qu'elle est donc routée vers elle, elle est également vérifiée contre les autres filtres et peut être également routée vers d'autres sorties.

Utiliser les Rejets Inner Join

L'Inner Join est un Join Lookup. La table de rejet Inner Join est un type particulier de table de rejet de sortie. Elle regroupe les données rejetées de la table du flux principal lorsqu'un Inner Join n'a pu être établi.

Pour configurer un flux de sortie (Output) afin qu'il transmette les données de rejet d'un Inner Join, déposez un nouveau composant Output dans votre Job Design et connectez-le au tMap. Dans le [Map Editor], suivez les étapes suivantes :

  1. Cliquez sur le bouton tMap settings en haut de la table de sortie pour afficher le tableau des propriétés.

  2. Cliquez sur le champ Value correspondant à l'option Catch lookup inner join reject et cliquez sur le bouton [...] qui apparaît pour ouvrir la boîte de dialogue [Options].

  3. Dans la boîte de dialogue [Options], double-cliquez sur true, ou sélectionnez-le et cliquez sur OK pour activer l'option et fermer la boîte de dialogue.

Retirer des entrées de la table Output

Pour retirer des entrées d'une table Output, cliquez sur la croix rouge, en bas, dans le Schema Editor de la table sélectionnée.

Gestion des erreurs

Note

Pour les utilisateurs de Big Data uniquement :

Dans la version MapReduce de tMap, la case Die on error n'est pas disponible. Cependant, lorsqu'une erreur survient, l'exécution du Job s'arrête afin d'éviter la génération d'un résultat erroné. Pour plus d'informations sur les Jobs MapReduce, consultez Conception d'un Job MapReduce.

L'option Die on error empêche le traitement des erreurs. Pour ce faire, elle arrête l'exécution du Job aussitôt qu'une erreur est rencontrée. Le composant tMap fournit cette option afin d'empêcher le traitement des données erronées. L'option Die on error est activée par défaut dans le tMap.

Désactiver l'option Die on error vous permettra d'ignorer les lignes en erreur et de terminer le processus pour les lignes sans erreur. Cela vous permettra également de retrouver les lignes en erreur et de les gérer, si nécessaire.

Pour désactiver l'option Die on error :

  1. Double-cliquez sur le composant tMap dans l'espace de modélisation pour ouvrir le Map Editor.

  2. Cliquez sur le bouton Property Settings en haut de la zone input pour ouvrir la boîte de dialogue [Property Settings].

  3. Dans la boîte de dialogue [Property Settings], décochez la case Die on error et cliquez sur OK.

Une nouvelle table appelée ErrorReject s'affiche dans l'éditeur du tMap, dans la zone de sortie. Cette table de sortie comprend automatiquement deux colonnes : errorMessage et errorStackTrace, qui retrouvent le message et la trace de la pile de l'erreur rencontrée durant l'exécution du Job. Les erreurs peuvent être des erreurs de format de dates, des null pointer exceptions, des problèmes de conversion, etc.

Vous pouvez également glisser-déposer des colonnes (ici id et date) des tables d'entrée vers cette table de sortie de rejets. Ces données en erreur peuvent être retrouvées avec le message d'erreur correspondant et être corrigées ensuite.

Une fois la table ErrorReject définie, les flux correspondants peuvent être envoyés vers un composant de sortie.

Pour ce faire, dans l'espace de modélisation graphique, cliquez-droit sur le composant tMap, sélectionnez Row > ErrorReject dans le menu, et cliquez sur le composant de sortie correspondant, ici, le tLogRow.

Lorsque vous exécutez le Job, les erreurs sont retournées via le flux ErrorReject.

Le résultat contient le message d'erreur, la trace de sa pile, et les deux colonnes id et date, glissées et déposées dans la table ErrorReject, séparées par une barre verticale "|".