tMap

Composants Talend Open Studio Guide de référence

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

Fonction

Le tMap est un composant avancé qui s'intègre au Studio Talend comme un plug-in.

Objectif

Le tMap transforme et dirige les données à partir d'une ou plusieurs source(s) et vers une ou plusieurs destination(s).

Propriétés du tMap

Famille du composant

Processing

 

Basic settings

Map editor

Le Mapper est l'éditeur du tMap. Il vous permet de définir les propriétés d'aiguillage et de transformation des données.

Si nécessaire, cliquez sur le bouton situé en haut de la zone d'entrée afin d'ouvrir la boîte de dialogue [Property Settings], qui propose les options suivantes :

  • Die on error : Cochez cette case si vous souhaitez arrêter le Job en cas d'erreur. Cette case est cochée par défaut.

  • Enable Auto-Conversion of types : Si vos colonnes d'entrée et de sortie dans un mapping ne sont pas du même type de données, cochez cette case afin de permettre une conversion automatique du type lors de l'exécution et d'éviter les erreurs de compilation.

    Cette option est activée par défaut si la case Enable Auto-Conversion of types est cochée dans la vue Project Settings lorsque le composant est ajouté. Vous pouvez également écraser le comportement de conversion par défaut de ce composant en configurant des règles de conversion dans la vue Project Settings. Pour plus d'informations, consultez le Guide utilisateur du Studio Talend.

    Notez que la conversion automatique entre les types Date et BigDecimal n'est pas supportée.

  • Store on disk : Les options disponibles dans cette zone sont identiques aux options pertinentes disponibles respectivement dans les onglets Basic settings et Advanced settings. Les paramètres choisis dans la boîte de dialogue [Property Settings] sont reflétés dans les vues de l'onglet respectif et vice versa.

 

Mapping links display as

Auto : par défaut, les liens sont en forme de courbes.

Curves : les liens du mapping sont en forme de courbes.

Lines : les liens du mapping sont en forme de lignes droites. Cette dernière option améliore légèrement les performances.

 

Temp data directory path

Saisissez le chemin du dossier dans lequel vous souhaitez stocker les données temporaires générées par le traitement des données de référence (lookup). Pour plus d'informations sur ce dossier, consultez le Guide d'utilisation du Studio Talend.

Preview

L'aperçu est un instantané des données du Mapper. Il n'est visible que lorsque les propriétés du Mapper sont renseignées. La synchronisation de l'aperçu ne prend effet qu'après la sauvegarde des modifications.

Advanced settings

Max buffer size (nb of rows)

Saisissez la taille de la mémoire physique, en nombre de lignes, que vous souhaitez allouer aux données traitées.

 

Ignore trailing zeros for BigDecimal

Cochez cette case pour ignorer les zéros non nécessaires dans le traitement de données BigDecimal.
 

tStatCatcher Statistics

Cochez cette case pour collecter les données de log, aussi bien au niveau du Job qu'au niveau de chaque composant.

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

Plusieurs utilisations sont possibles, de la simple réorganisation des champs de données aux transformations les plus complexes, telles que le multiplexage et le démultiplexage de données, la concaténation, l'inversion, le filtrage, etc.

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Limitation

L'utilisation du composant tMap requiert un niveau moyen de connaissances en Java afin d'exploiter au mieux ses fonctionnalités.

Ce composant est utilisé comme une étape intermédiaire, c'est pourquoi il ne peut pas être utilisé comme composant de début ou de fin de Job.

Scénario 1 : Mapping simple de données avec filtre et jointure explicite

Le Job ci-dessous a pour objectif de lire des données d'un fichier .csv stocké dans le Repository, de rechercher des données d'un fichier de référence, dont le schéma est également stocké dans le Repository puis d'extraire des données de ces deux fichiers en fonction de filtres et d'envoyer ces données vers les fichiers de sortie et de rejet.

Construire le Job

  1. Déposez deux composants tFileInputDelimited, un tMap et trois tFileOutputDelimited de la Palette dans l'espace de modélisation graphique.

  2. Renommez respectivement les deux tFileInputDelimited Cars (voitures) et Owners (propriétaires).

  3. Reliez les deux composants d'entrée au tMap à l'aide de liens Row > Main et nommez ces connexions Cars_data et Owners_Data, respectivement.

  4. Reliez le tMap aux trois composants de sortie à l'aide de liens Row > New Output (Main) et nommez ces connexions, respectivement, Insured, Reject_NoInsur et Reject_OwnerID.

Configurer les composants

  1. Double-cliquez sur le composant tFileInputDelimited nommé Cars pour paramétrer ses propriétés de base (Basic settings).

  2. Sélectionnez Repository dans les champs Property type et Schema. Pour le schéma, sélectionnez la métadonnée cars dans la boîte de dialogue [Repository Content]. Le reste des champs est automatiquement renseigné lorsque vous sélectionnez la métadonnée appropriée dans la liste.

  3. Double-cliquez sur le composant Owners et définissez à nouveau les propriétés. Sélectionnez la métadonnée appropriée, owners dans cet exemple.

    Note

    Dans ce scénario, les schémas d'entrée sont stockés dans le nœud Metadata de la vue Repository afin de les retrouver plus facilement. Pour plus d'informations concernant la création de métadonnées dans le Repository, consultez le Guide utilisateur du Studio Talend.

  4. Double-cliquez sur le composant tMap pour ouvrir le Mapper. La zone Input (données en entrée) est déjà renseignée avec les schémas des composants d'entrée et la première table correspond au flux principal (Main Row). Les libellés de chacune des connexions d'entrée apparaissent en en-tête des tables.

  5. Créez une jointure entre les deux tables d'entrée en faisant simplement glisser le champ ID_Owner de la table principale (Cars_data) vers le champ équivalent de la table de référence (Owners_data).

  6. Définissez le lien en Inner Join en cliquant sur le bouton tMap settings, en cliquant dans le champ Value pour Join Model, en cliquant sur le bouton qui apparaît dans le champ et en sélectionnant Inner Join dans la liste Options.

  7. Glissez et déposez le contenu de la table Cars_data vers la table Insured.

  8. Glissez les colonnes ID_Owner, Registration et ID_Reseller de la table Cars_data, ainsi que la colonne Name de la table Owners_data dans la table Reject_NoInsur.

  9. Glissez toutes les colonnes de la table Cars_data dans la table Reject_OwnerID.

    Pour plus d'informations concernant le mapping de données, consultez le Guide utilisateur du Studio Talend.

  10. Cliquez sur le bouton [+] en haut de la table Insured afin d'ajouter une ligne de filtre.

    Glissez la colonne ID_Insurance de la table Owners_data vers la zone de filtre et saisissez la formule suivante d'exclusion des valeurs non définies : Owners_data.ID_Insurance != null.

    Avec ce filtre, la table Insured va rassemble tous les enregistrements qui possèdent un ID Insurance.

  11. Cliquez sur le bouton tMap settings en haut de la table Reject_NoInsur et sélectionnez true pour Catch lookup inner join reject afin que de définir cette table comme le flux de rejet standard pour rassembler les enregistrements n'ayant pas d'ID Insurance.

  12. Cliquez sur le bouton tMap Settings en haut de la table Reject_OwnerID puis sélectionnez true pour Catch lookup inner join reject afin que cette table rassemble les enregistrements du flux Cars_data ayant des IDs manquants ou ne correspondant pas.

    Cliquez sur OK pour valider et revenir à l'espace de modélisation.

  13. Double-cliquez sur chacun des composants de sortie afin de définir leurs propriétés. Si vous souhaitez créer un nouveau fichier, parcourez votre système jusqu'au dossier de destination et saisissez le nom du fichier avec son extension.

    Cochez la case Include header pour réutiliser les libellés des colonnes du schéma d'entrée dans comme en-tête dans votre fichier de sortie.

Exécuter le Job

  1. Appuyez sur les touches Ctrl+S pour sauvegarder votre Job.

  2. Sauvegardez votre Job et appuyez sur F6 pour exécuter le Job ou passez à l'onglet Run Job et cliquez sur le bouton Run.

    Les fichiers de sortie sont créés et ils contiennent les données définies.

Scénario 2 : Mapping de données avec rejet Inner join

Ce scénario, basé sur le scénario 1, requiert l'ajout d'un fichier d'entrée contenant les informations sur les revendeurs, ainsi que l'ajout de champs supplémentaires dans la table de sortie principale. De plus, deux filtres sont ajoutés sur les jointures Inner Join afin de récupérer les rejets spécifiques.

Construire le Job

  1. Déposez un tFileInputDelimited et un tFileOutputDelimited dans l'espace de modélisation graphique et renommez les composants, respectivement Resellers et No_Reseller_ID.

  2. Connectez le tFileInputDelimited au tMap à l'aide d'un lien Row > Main et renommez le lien Resellers_data.

  3. Connectez le tMap au nouveau tFileOutputDelimited à l'aide d'un lien Row > New Output. Renommez le lien Reject_ResellerID.

Configurer les composants

  1. Double-cliquez sur le composant Resellers pour définir ses propriétés dans la vue Basic settings.

  2. Sélectionnez Repository dans la liste Property Type et sélectionnez le schéma resellers, dans la boîte de dialogue [Repository Content]. Les autres champs sont automatiquement renseignés.

    Note

    Dans ce scénario, les schémas d'entrée sont stockés sous le nœud Metadata du Repository afin de les retrouver facilement. Pour plus d'informations concernant la création de métadonnées dans le Repository, consultez le Guide utilisateur du Studio Talend.

  3. Double-cliquez sur le composant tMap pour ouvrir le Map Editor. Vous remarquerez que le schéma est automatiquement ajouté à la zone Input des schémas d'entrée.

  4. Créez une jointure entre le flux d'entrée principal et le nouveau flux d'entrée en déposant la colonne ID_Reseller de la table Cars_data dans la colonne ID_Reseller de la table Resellers_data.

  5. Cliquez sur le bouton tMap settings en haut de la table Resellers_data et sélectionnez Inner Join comme modèle de jointure (Join Model).

  6. Glissez-déposez toutes les colonnes de la table Resellers_data sauf ID_Reseller dans la table de sortie principale, Insured.