Mapping avancé avec filtres, jointures explicites et rejets
Ce scénario présente un Job permettant de trouver les clients propriétaires d'une voiture de marque définie et avoir entre 2 et 6 enfants (inclus) dans un but de vente incitative.
Relier les composants
Procedure
- Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : trois tFileInputDelimited, un tMap et deux tFileOutputDelimited et renommez-les pour décrire leur fonction au mieux.
-
Reliez les composants d'entrée au tMap à l'aide de liens Row > Main.
Faites attention au premier composant que vous connectez car son flux de données sera automatiquement un flux Main (principal). Et toutes les autres connexions seront alors de type Lookup (flux de référence). Dans ce scénario, le composant d'entrée Owners sera relié au tMap par le flux Main.
Configurer les composants
Procedure
-
Définissez les propriétés de chaque composant d'entrée dans l'onglet Basic settings. Configurez les propriétés du composant Owners.
-
Sélectionnez Repository dans la liste Property Type et sélectionnez le schéma owners, dans la boîte de dialogue Repository Content. Les autres champs sont automatiquement renseignés.
Note InformationsNote:
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 la vue Repository, consultez Gestion des métadonnées dans le Studio Talend.
Répétez ces étapes pour les autres composants d'entrée : Cars et Resellers. Ces deux flux de référence (Lookup) renseigneront les tables secondaires (lookup) de la zone d'entrée du Map Editor. -
Double-cliquez sur le composant tMap pour ouvrir le Map Editor et définir le mapping et les filtres.
Configurez une jointure explicite entre le flux Main Owner et le flux Lookup Cars en glissant-déposant la colonne ID_Owner de la table Owner dans la colonne ID_Owner de la table Cars.La jointure explicite s'affiche avec une clé de hachage.
-
Dans le champ Expr. Key de la colonne Make (Marque), saisissez le filtre à appliquer. Dans cet exemple, saisissez simplement "BMW" puisque ce qui est recherché ce sont les propriétaires (Owners) de cette marque en particulier.
- Effectuez une jointure en cascade entre les deux tables de référence Cars et Resellers, sur la colonne ID_Reseller, afin de récupérer les informations relatives aux "resellers".
-
Comme vous souhaitez exclure les valeurs nulles dans une table séparée et les exclure de la sortie standard, cliquez sur le bouton du tMap Settings, puis configurez Join Model sur Inner Join pour chaque table Lookup.
-
Dans les paramètres du tMap, vous pouvez sélectionner une des options suivantes : Unique match, First match ou All Matches. Dans cet exemple, sélectionnez l'option All matches. Ainsi, si plusieurs correspondances sont trouvées dans l'Inner Join (i.e. les lignes répondant à la jointure explicite ainsi qu'au filtre), elles seront toutes prises en compte dans le flux de sortie (soit dans le flux de rejet, soit dans le flux de sortie standard).
Note InformationsNote:
L'option Unique match fonctionne de la même manière que l'option Last match. Les options First match et All matches fonctionnent comme l'indiquent leurs noms.
- Dans la zone Output du Map Editor, cliquez sur le bouton [+] pour ajouter deux tables : une pour les correspondances complètes et une pour les rejets.
- Déposez toutes les colonnes de la table Owners, les colonnes Registration, Make et Color de la table Cars ainsi que les colonnes ID_Reseller et Name_Reseller de la table Reseller dans la table de sortie principale.
- Déposez toutes les colonnes de la table Owners dans la table de rejets.
-
Cliquez sur le bouton Filter en haut de la table de sortie principale afin d'afficher la zone d'expression Filter.
Saisissez une instruction de filtre afin de réduire le nombre de lignes chargées dans le flux principal de sortie. Dans cet exemple, saisissez : Owners.Children_Nr >=2 && Owners.Children_Nr <= 6.
-
Dans la table de sortie de rejets, cliquez sur le bouton tMap settings et définissez les types de rejets.
Sélectionnez true pour Catch output reject afin de collecter des données concernant les détenteurs de voitures BMW ayant moins de deux enfants ou plus de six enfants.Sélectionnez true pour Catch lookup inner join reject afin de collecter des données concernant les propriétaires d'autres marques et ceux pour qui l'information Reseller est introuvable.Cliquez sur OK pour valider les mappings et fermer le Map Editor.Dans l'éditeur de modélisation graphique, cliquez-droit sur le tMap et créez une connexion de sortie vers les composants correspondants.
-
Configurez les propriétés des composants de sortie dans leur vue Basic settings respective.
Dans ce scénario, définissez simplement les nouveaux chemins d'accès aux fichiers de sortie et cochez la case Include Header.
Exécuter le Job
Procedure
- Appuyez sur les touches Ctrl + S pour sauvegarder votre Job.
-
Appuyez sur F6 pour l'exécuter.
Le fichier de sortie principal contient les informations concernant les détenteurs de BMW ayant entre deux et six enfants, et le fichier de rejet contient les informations concernant les autres possesseurs de voiture(s).
Pour des exemples d'utilisation des schémas dynamiques avec le tMap, consultez :
Cette page vous a-t-elle aidé ?
Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.