Scénario : Effectuer une correspondance floue entre deux colonnes et écrire en sortie les valeurs de correspondance, de correspondance possible, et de non correspondance - 6.3

Composants Talend Guide de référence

EnrichVersion
6.3
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
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
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Ce scénario Java décrit un Job comprenant six composants, ayant pour but de :

  • faire correspondre chaque numéro de groupe de la colonne grp aux entrées ayant exactement les mêmes valeurs dans le fichier d'entrée de référence,

  • vérifier la distance d'édition entre les entrées de la colonne fisrtname d'un fichier d'entrée et du fichier d'entrée de référence.

Les sorties de ces deux types de correspondances sont écrites dans trois fichiers de sortie : le premier pour les valeurs de correspondances, le deuxième pour les valeurs de correspondances possibles, et le troisième pour les valeurs qui n'ont pas de correspondances dans le fichier de référence.

Dans ce scénario, vous avez déjà stocké les schémas d'entrée principal et de référence, dans le Repository. Pour plus d'informations à propos du stockage des métadonnées dans le Repository, consultez le Guide utilisateur du Studio Talend.

Le fichier d'entrée contient quatre colonnes : grp, gender, firstname, et count. Les données dans ce fichier d'entrée sont parfois en doublons, contiennent des noms écrits différemment, ou mal orthographiés, ou différentes informations sur un même client.

  1. Dans l'arborescence du Repository, développez les nœuds Metadata puis File Excel où vous avez stocké le schéma principal d'entrée, puis glissez-les dans l'espace de modélisation graphique.

    Un composant tFileInputExcel contenant votre schéma s'affiche dans l'espace de modélisation.

  2. Répétez l'opération avec le schéma d'entrée de référence afin d'afficher un tFileInputExcel contenant le schéma de référence, dans l'espace de modélisation graphique.

  3. Déposez un tBlockedFuzzyJoin et trois tLogRow de la Palette dans l'espace de modélisation graphique.

  4. Connectez les fichiers Excel principal et de référence d'entrée au tBlockedFuzzyJoin à l'aide de lien Row > Main. Le lien entre le fichier de référence Excel d'entrée et le tBlockedFuzzyJoin s'affiche dans l'espace de modélisation comme un lien Lookup.

  5. Connectez le tBlockedFuzzyJoin aux trois composants tLogRow en utilisant les liens Matches, Possible Matches et Non Matches.

  6. Double-cliquez sur les composants Excel principal et de référence afin d'afficher leur vue Basic settings.

    La capture d'écran ci-dessous montre les propriétés du fichier d'entrée de référence.

    Les champs des propriétés des deux composants tFileInputExcel sont automatiquement remplis. Si vous ne définissez pas vos schémas d'entrée localement dans le Repository, remplissez les informations manuellement, après avoir sélectionné le mode Built-In dans la liste Schema.

  7. Double-cliquez sur le tBlockedFuzzyJoin afin d'afficher sa vue Basic settings et définir ses propriétés.

  8. Cliquez sur le bouton Edit schema pour ouvrir une boîte de dialogue. Vous pouvez définir la structure des données des fichiers d'entrée, et définir les données que vous souhaitez passer aux composants de sortie.

    Dans cet exemple, l'objectif est de passer les quatre colonnes d'entrée aux composants de sortie, en plus de la nouvelle colonne ref_firstname.

    Cliquez sur OK afin de fermer la boîte de dialogue et procéder à l'étape suivante.

  9. Dans la zone Key definition de la vue Basic settings du tBlockedFuzzyJoin, cliquez deux fois sur le bouton [+] afin d'ajouter deux colonnes à la liste.

  10. Sélectionnez les colonnes d'entrée et de sortie sur lesquelles vous souhaitez effectuer la correspondance floue dans les listes Input key attribute et Lookup key attribute, respectivement grp et firstname dans cet exemple.

  11. Cliquez dans la première cellule de la colonne Matching type, et sélectionnez dans la liste la méthode à utiliser pour vérifier les données entrantes par rapport aux données de référence, Exact match dans cet exemple. Il n'y a ni distance minimale ni distance maximale à définir.

  12. Paramétrez le type de correspondance pour la seconde colonne, Levenshtein dans cet exemple.

  13. Définissez ensuite les distances minimale et maximale. Dans cette méthode, la distance est le nombre de changements de caractères (insertion, suppression ou substitution) devant être effectués pour que l'entrée corresponde entièrement à la référence. Dans cet exemple, l'objectif est de faire en sorte que la distance minimale soit de 0 et que la distance maximale soit de 2. Cela aura pour conséquence d'écrire toutes les entrées de la colonne firstname correspondant exactement, ou celles ayant au maximum deux changements de caractères à effectuer.

  14. Double-cliquez sur le premier composant tLogRow afin d'afficher sa vue Basic settings et définir ses propriétés.

  15. Dans la zone Mode, sélectionnez Table, afin d'afficher le fichier source et les résultats du tBlockedFuzzyJoin, pour pouvoir les comparer.

  16. Répétez l'opération pour les deux autres composants tLogRow..

  17. Sauvegardez votre Job et appuyez sur F6 afin de l'exécuter.

    Trois tables de sortie sont écrites dans la console. La première montre les entrées qui correspondent, la seconde affiche les correspondances possibles, et la troisième retourne les entrées n'ayant pas de correspondance avec la méthode utilisée dans les colonnes définies.

    La capture d'écran ci-dessous illustre les extractions des trois tables de sortie.