Mapping de données avec filtre et jointure explicite simple - 6.1

Talend Data Fabric Guide de prise en main

EnrichVersion
6.1
EnrichProdName
Talend Data Fabric
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Le Job ci-dessous a pour objectif de lire des données d'un fichier .csv, de rechercher des données d'un fichier de référence, 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.

Déposer et relier les composants

  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 d'entrée

  1. Double-cliquez sur le composant tFileInputDelimited nommé Cars pour configurer ses paramètres simples (Basic settings).

  2. Sélectionnez Repository dans les listes 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.

    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.

    Si les métadonnées de vos fichiers d'entrée ne sont pas centralisées dans le Repository, vous devez sélectionner, dans la liste Property type, le mode Built-In, spécifier le chemin d'accès au fichier et définir son schéma manuellement. Voici un extrait du fichier d'entrée cars.scv :

    ID_Owner;Registration;Make;Color;ID_Reseller
    1;WZG 555;Ford;red;22
    2;HYZ 472;Lexus;red;39
    3;VYZ 862;Lexus;blue;21
    4;ZYZ 350;Audi;red;31
    5;EDZ 99;Audi;green;62
    6;ZZX 845;Citroen;black;75
    7;PBS 410;Renault;grey;11
    8;JFO 929;Citroen;white;86
    9;DPG 217;Lexus;black;13
  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.

    Si les métadonnées de vos fichiers d'entrée ne sont pas centralisées dans le Repository, vous devez sélectionner, dans la liste Property type, le mode Built-In, spécifier le chemin d'accès au fichier et définir son schéma manuellement. Voici un extrait du fichier de référence owners.csv:

    ID_Owner;Name;ID_Insurance;Chlidren_Nr
    1;George EISENHOWER;108;8
    2;James LINCOLN;35;8
    3;William TAFT;6;10
    4;Harry WILSON;134;3
    5;Woodrow HOOVER;45;8
    6;Chester TAYLOR;148;2
    7;John REAGAN;31;8
    8;Dwight POLK;105;7
    9;William PIERCE;177;2
    

Configurer le composant de mapping

  1. 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 s'affichent en en-tête des tables.

  2. 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).

  3. 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 s'afffiche dans le champ et en sélectionnant Inner Join dans la liste Options.

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

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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 ID manquants ou ne correspondant pas.

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

Configurer les composants de sortie

  1. 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.

  2. 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.