tBlockedFuzzyJoin - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
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

Avertissement

Ce composant est disponible dans la Palette du Studio Talend si vous avez souscrit à l'un des produits Talend Platform.

Propriétés du tBlockedFuzzyJoin

Famille du composant

Data Quality

Ce composant est déprécié et masqué par défaut dans la Palette, mais il continue à fonctionner dans les Jobs que vous importez de versions précédentes du studio.

Vous pouvez utiliser le tRecordMatching pour le remplacer.

Fonction

Le tBlockedFuzzyJoin effectue une jointure entre deux tables en faisant une correspondance floue sur plusieurs colonnes. Il compare les colonnes du flux principal par rapport aux colonnes du flux de référence et écrit en sortie les données correspondantes, les données pouvant correspondre, et les données rejetées.

Objectif

Améliore la qualité des données de toute source, en les à une source de données de référence.

Basic settings

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champs qui sont traités et passés au composant suivant. Le schéma est soit local (built-in) soit distant dans le Repository.

 

 

Built-in : Le schéma est créé et conservé ponctuellement pour ce composant seulement. Voir également le Guide utilisateur du Studio Talend.

 

 

Repository : Le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisable dans divers projets et Job designs. Voir également le Guide utilisateur du Studio Talend.

 

Replace output column with lookup column if matches or possible matches

Cochez cette case afin de remplacer la colonne de sortie par la colonne de référence en cas de correspondance ou de correspondance possible.

Key definition

Input key attribute

Sélectionnez la ou les colonne(s) du flux principal qui doivent être vérifiées par rapport à la colonne clé de référence (lookup).

 

Lookup key attribute

Sélectionnez les colonnes clé de référence (lookup) que vous utiliserez comme référence, afin de les comparer aux colonnes du flux d'entrée.

 

Matching type

Sélectionnez l'algorithme de correspondance dans la liste :

Exact Match : associe chaque entrée traitée à toutes les entrées possibles de référence qui ont exactement la même valeur.

Levenshtein : cette option se base sur la théorie de la distance d'édition. Elle calcule le nombre d'insertions, suppressions ou substitutions nécessaires pour qu'une entrée corresponde à l'entrée de référence.

Metaphone : Cette option se base sur un algorithme phonétique afin d'indexer les entrées selon leur prononciation. Elle charge d'abord la phonétique de toutes les entrées du flux lookup de référence, puis vérifie toutes les entrées du flux principal par rapport aux entrées du flux de référence.

Double Metaphone : une nouvelle version de l'algorithme phonétique Métaphone, qui produit des résultats plus précis que l'algorithme originel. Il peut retourner un code primaire et un code secondaire pour une chaîne de caractères. Cela est utile dans des cas ambigus, mais également pour de multiples variantes de noms de famille aux origines communes.

 

Case sensitive

Cochez cette case pour prendre en compte la casse.

 

Min. distance

Uniquement pour Levenshtein. Paramétrez le nombre minimal de changements permis afin de correspondre à la référence. Si vous saisissez 0, seules les correspondances parfaites (Exact Match) seront retournées.

Note

Vous pouvez créer et stocker des variables de contexte pour les distances minimale et maximale, et faire en sorte que votre Job fasse une boucle sur ces valeurs, en commençant par la valeur maximale inférieure de correspondance et terminant par la valeur maximale supérieure afin de correspondre au plus grand nombre de lignes possible. Vous pouvez appuyer sur Ctrl+Espace pour accéder à la liste des variables et sélectionner les nouvelles variables de contexte. Pour plus d'informations à propos des variables de contexte, consultez le Guide utilisateur du Studio Talend.

 

Max. distance

Uniquement pour Levenshtein. Paramétrez le nombre maximal de changements permis afin de correspondre à la référence.

Advanced settings

tStatCatcher Statistics

Cochez cette case pour collecter les métadonnées de process du Job, 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

Ce composant est une étape intermédiaire. Cela requiert un flux entrant et une sortie.

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

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.