tFuzzyMatch - 6.1

Composants Talend Open Studio Guide de référence

EnrichVersion
6.1
EnrichProdName
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
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Propriétés du tFuzzyMatch

Famille du composant

Data Quality

 

Fonction

Le composant tFuzzyMatch compare une colonne du flux principal avec une colonne du flux de référence et extrait les données du flux principal en affichant la distance.

Objectif

Le tFuzzyMatch permet d'assurer la qualité des données de n'importe quelle source de données en la comparant avec 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.

Deux colonnes en lecture seule sont ajoutées automatiquement au schéma de sortie : Value et Match.

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

 

 

Built-in : Le schéma est créé et conservé 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.

 

Matching type

Sélectionnez l'algorithme de correspondance approprié parmi les suivants :

Levenshtein : Basé sur la théorie de la distance d'édition. Il calcule le nombre d'insertion, de suppression ou de substitution nécessaire pour correspondre à la référence.

Metaphone : Basé sur la phonétique. Tout d'abord, il charge les sonorités de toutes les entrées du flux de référence (Lookup) et les compare avec celles des entrées du flux principal (Main).

Double Metaphone : une nouvelle version de l'algorithme phonétique Metaphone, qui produit des résultats plus précis que l'algorithme original. Il peut retourner à la fois un code primaire et secondaire pour une chaîne de caractères. Pour éviter toute ambiguïté que le Metaphone n'aurait pas pu détecter, utilisez cette option.

 

Min distance

(Levenshtein uniquement) Définissez le nombre minimum de modifications autorisées pour correspondre à la référence. Si vous définissez 0, seules les correspondances exactes sont extraites.

 

Max distance

(Levenshtein uniquement) Définissez le nombre maximum de modifications pouvant correspondre à la référence.

 

Matching column

Sélectionnez la colonne du flux principal qui doit être comparée avec la colonne clé du flux de référence (Lookup).

 

Unique matching

Cochez cette case pour obtenir la meilleure correspondance possible, si plusieurs correspondances sont disponibles.

 

Matching item separator

Si plusieurs correspondances sont disponibles, elles seront toutes affichées sauf si la case Unique match est cochée. Définissez le délimiteur entre chaque correspondance.

Global Variables

NB_LINE : nombre de lignes lues par un composant d'entrée ou passées à un composant de sortie. Cette variable est une variable After et retourne un entier.

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 n'est pas un composant de début (fond vert) et il nécessite deux composants d'entrée et un composant de sortie.

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

Scénario 1 : Distance de Levenshtein de 0 pour les prénoms

Ce scénario décrit un Job constitué de quatre composants dont le but est de vérifier la distance d'édition comprise entre les colonnes First Name (prénom) d'un fichier d'entrée et de comparer les données avec celles du fichier de référence. Le résultat de cette vérification de la distance de Levenshtein et le contenu du flux principal sont affichés dans une table.

Construire le Job

  1. Cliquez et déposez les composants suivants de la Palette dans l'espace de modélisation : deux tFileInputDelimited, un tFuzzyMatch et un tLogRow.

  2. Reliez le premier tFileInputDelimited au composant tFuzzyMatch à l'aide d'un lien Row > Main.

  3. Connectez le second tFileInputDelimited au tFuzzyMatch à l'aide d'une connexion de type Row > Main (qui apparaît comme Lookup dans l'espace de modélisation graphique).

  4. Reliez le tFuzzyMatch au composant de sortie tLogRow, à l'aide d'un lien Row > Main.

Configurer les composants

  1. Configurez les paramètres du premier tFileInputDelimited dans sa vue Basic settings. Parcourez votre système jusqu'au fichier d'entrée à analyser.

  2. Définissez le schéma du composant. Dans cet exemple, le schéma d'entrée possède deux colonnes, firstname et gender.

  3. Configurez le second tFileInputDelimited de la même façon.

    Avertissement

    Assurez-vous que la colonne de référence a bien été définie comme colonne clé dans le schéma du flux de référence (lookup).

  4. Double-cliquez sur le tFuzzyMatch pour ouvrir sa vue Basic settings et vérifiez son schéma.

    Le schéma doit correspondre à celui du flux d'entrée principal (Main) afin que le flux principal soit comparé au flux de référence.

    Notez que deux colonnes : Value et Matching sont ajoutées au schéma de sortie. Elles correspondent à des informations standard de correspondance et sont en lecture seule.

  5. Sélectionnez la méthode à utiliser pour la vérification des données entrantes. Dans ce scénario, la correspondance à sélectionner dans le champ Matching type est de type Levenshtein.

  6. Ensuite définissez la distance. Dans cette méthode, la distance est le nombre de caractères modifiés (insertion, suppression ou substitution) pour que l'entrée principale corresponde exactement à l'entrée de référence.

    Dans ce scénario, configurez la distance à 0 au minimum et au maximum dans les champs Min. distance et Max. distance. Ce qui signifie que seule une correspondance exacte sera redirigée en flux de sortie.

  7. Décochez la case Case sensitive pour ne pas prendre en compte la casse.

  8. Vérifiez que la colonne de correspondance et la colonne de référence sont bien sélectionnées.

  9. Laissez les autres paramètres par défaut.

Exécuter le Job

  • Enregistrez le Job et appuyez sur la touche F6 pour exécuter le Job.

Comme la distance d'édition définie est de 0 (min. et max.), la sortie correspond à une jointure entre le flux principal et le flux de référence (lookup), ainsi seules les correspondances totales avec une valeur égale à 0 sont affichées.

Pour un exemple plus évident avec une distance minimum de 1 et une distance maximum de 2, consultez Scénario 2 : Distance de Levenshtein de 1 ou 2 pour les prénoms

Scénario 2 : Distance de Levenshtein de 1 ou 2 pour les prénoms

Ce scénario est basé sur le scénario décrit ci-dessus. Seuls les paramètres distance minimum et maximum du composant tFuzzyMatch sont modifiés, ce qui modifiera la sortie affichée.

  1. Dans la vue Component du tFuzzyMatch, modifiez la distance minimum de 0 à 1. Ceci exclut directement les correspondances exactes (qui ont une distance de 0).

  2. Maintenant mettez une distance maximum de 2. La sortie correspond à toutes les données mises en correspondance contenant une différence de 2 caractères au plus.

    Aucune autre modification de paramètres n'est nécessaire.

  3. Assurez-vous que le séparateur de champs (Matching item separator) est bien défini, vu que plusieurs entrées de référence peuvent correspondre à l'entrée du flux principal.

  4. Enregistrez votre nouveau Job et appuyez sur F6 pour l'exécuter.

Etant donné que la distance d'édition a été définie à 2, certaines entrées du flux principal correspondent à plusieurs entrées de référence (lookup).

Vous pouvez utiliser une autre méthode, Métaphone, pour évaluer la distance entre le flux principal et le flux de référence, décrite dans le scénario suivant.

Scénario 3 : Distance métaphonique pour les prénoms

Ce scénario est basé sur un scénario décrit plus haut.

  1. Modifiez le champ Matching type avec l'option Metaphone. Aucune distance minimum et aucune distance maximum ne sont à définir puisque cette méthode est basée sur les différences de phonétique avec la référence.

  2. Enregistrez le Job et appuyez sur F6. La valeur phonétique est affichée avec les correspondances possibles.