Propriétés du tMatchGroup - 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

Famille du composant

Data Quality

 

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.

Cliquez sur Sync columns pour récupérer le schéma du composant précédent.

Le schéma de sortie de ce composant contient les champs suivants en lecture seule :

GID : fournit l'identifiant du groupe du type de données String.

Note

Tous les Jobs migrés depuis d'anciennes versions dans votre studio et ayant un tMatchGroup fournissent un identifiant de groupe de type Long. Si vous avez un identifiant de groupe de type String, vous devez remplacer le tMatchGroup dans ces Jobs par un tMatchGroup de la Palette.

GRP_SIZE : compte le nombre d'enregistrements dans le groupe, ce nombre est calculé uniquement sur l'enregistrement maître.

MASTER : identifie, par true ou false, l'enregistrement utilisé dans les comparaisons de correspondance comme enregistrement maître. Il y a au moins un enregistrement maître par groupe.

Chaque enregistrement d'entrée sera comparé à l'enregistrement maître. S'il y a correspondance, l'enregistrement d'entrée sera dans le groupe.

SCORE : mesure la distance entre l'enregistrement d'entrée et l'enregistrement maître selon l'algorithme de correspondance utilisé.

Si le tMatchGroup est utilisé afin d'avoir plusieurs flux de sortie, le score dans cette colonne décide du groupe de sortie dans lequel va l'enregistrement.

GRP_QUALITY : indique la qualité des similarités d'un groupe en prenant la valeur minimale de correspondance. Seul l'enregistrement maître possède un score de qualité.

 

 

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.

PREVIEW

Ce bouton ouvre un assistant de configuration vous permettant de définir les environnements de production et leurs règles de mise en correspondance ou d'importer des règles de mise en correspondance depuis le référentiel du studio. Pour plus d'informations, consultez la Assistant de configuration.

Key Definition

Input Key Attribute

Sélectionnez la (les) colonne(s) du flux d'entrée sur laquelle (lesquelles) appliquer un algorithme de mise en correspondance.

Note

Lorsque vous sélectionnez une colonne de dates sur laquelle appliquer un algorithme ou un algorithme de mise en correspondance, vous pouvez choisir ce que vous souhaitez comparer dans le format de date.

Par exemple, si vous souhaitez comparer uniquement l'année, attribuez le type Date à la colonne concernée dans le schéma du composant puis saisissez "yyyy" dans le champ Date Pattern. Le composant convertit le format de date en une chaîne de caractères, selon le modèle défini dans le schéma, avant de comparer les chaînes de caractères.

 

Matching Function

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

Exact : associe chaque entrée traitée à toutes les entrées possibles de référence qui ont exactement la même valeur. Retourne 1 lorsque les deux chaînes de caractères, sinon, retourne 0.

Exact - ignore case : fait correspondre chaque entrée traitée à toutes les entrées de référence possibles ayant les mêmes valeurs, en ignorant la valeur de la casse.

Soundex : algorithme phonétique utile pour la comparaison de prénoms, selon la prononciation britannique. Indexe les chaînes de caractères par son, selon la prononciation anglaise. Par exemple "Hello" : "H400".

Levenshtein (distance d'édition) : cette option calcule le nombre de modifications (insertions, suppressions ou substitutions) nécessaires à la transformation d'une chaîne de caractères en une autre. Lorsque vous utilisez cet algorithme dans le composant tMatchGroup, il n'est pas nécessaire de spécifier une distance maximale. Le composant calcule automatiquement un pourcentage de correspondance, basé sur la distance. Ce score de correspondance sera utilisé afin de calculer la correspondance globale, selon le score assigné dans le champ Confidence Weight.

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 : nouvelle version de l'algorithme phonétique Métaphone, qui produit des résultats plus précis. 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.

Soundex FR : algorithme phonétique utile pour la comparaison de prénoms, selon la prononciation française.

Jaro : fait correspondre les entrées traitées, selon les différences d'orthographe. Il compte le nombre de caractères correspondants entre deux chaînes de caractères. Plus la distance est grande, plus les chaînes sont semblables.

Jaro-Winkler : variante de Jaro, donnant plus d'importance au début de la chaîne de caractères.

Fingerprint key : met en correspondance des entrées après avoir effectué le processus séquentiel suivant :

  1. suppression des espaces blancs en début et fin de champ,

  2. passage de tous les caractères en minuscules,

  3. suppression de toute la ponctuation et de tous les caractères de contrôle,

  4. division de la chaîne de caractères en jetons séparés par des espaces blancs,

  5. tri des jetons et suppression des doublons,

  6. fusion des jetons,

    Comme les morceaux des chaînes de caractères sont triés, l'ordre donné des jetons n'importe pas. Cruise, Tom et Tom Cruise ont l'empreinte cruise tom et terminent dans le même cluster.

  7. normalisation des caractères occidentaux étendus en leur représentation ASCII, par exemple gödel en godel.

    Cela reproduit les erreurs des entrées de données effectuées lors de la saisie de caractères étendus avec un clavier ASCII. Cependant, cette procédure peut également conduire à de faux positifs. Par exemple, gödel et godél auraient une empreinte godel mais sont probablement des noms différents. Cela peut manquer d'efficacité pour des jeux de données dans lesquels des caractères étendus jouent un rôle de différenciation important.

q-grams : fait correspondre les entrées traitées en divisant les chaînes de caractères en blocs de lettres de longueur q, afin de créer un nombre de longueurs q-grammes. Le résultat de correspondance est donné comme le nombre de correspondances entre les q-grammes d'entrée et de référence, divisé par le nombre de q-grammes possibles.

custom... : permet de charger un algorithme externe de mise en correspondance à partir d'une bibliothèque Java via la colonne Custom Matcher Class.

Pour plus d'informations concernant le chargement d'une bibliothèque Java externe, consultez tLibraryLoad.

Pour plus d'informations concernant la création d'un algorithme de correspondance personnalisé, consultez Créer un algorithme de correspondance personnalisé.

Pour un scénario associé concernant l'utilisation d'un algorithme de correspondance personnalisé, consultez Scénario 2 : Utiliser un algorithme de mise en correspondance personnalisé pour faire correspondre des entrées.

 

Custom Matcher

Lorsque vous sélectionnez Custom comme type de correspondance, saisissez le chemin d'accès à la classe personnalisée (algorithme externe de mise en correspondance) à utiliser. Ce chemin d'accès est défini par vos soins dans le fichier de la bibliothèque (fichier .jar).

Par exemple, pour utiliser une classe MyDistance.class stockée dans le répertoire org/talend/mydistance dans une bibliothèque définie par l'utilisateur mydistance.jar, le chemin d'accès à saisir est org.talend.mydistance.MyDistance.

 

Weight

Définissez un poids numérique pour chaque attribut (colonne) de la définition de clé. Les valeurs doivent être supérieures à 0.

  

Handle Null

Pour gérer des valeurs Null, sélectionnez dans la liste l'opérateur à utiliser sur la colonne :

Null Match Null : un attribut Null correspond à un autre attribut Null uniquement.

Null Match None : un attribut Null ne correspond jamais à un autre attribut.

Null Match All : un attribut Null correspond à n'importe quelle autre valeur d'un attribut.

Par exemple, dans deux colonnes name et firstname pour lesquelles le nom n'est jamais null, le prénom peut être null.

Si vous avez deux enregistrements :

"Doe", "John"

"Doe", ""

Selon l'opérateur sélectionné, ces deux enregistrements peuvent correspondre ou ne pas correspondre :

Null Match Null : ne correspondent pas.

Null Match None : ne correspondent pas.

Null Match All : correspondent.

Pour les enregistrements

"Doe", ""

"Doe", ""

Null Match Null : correspondent.

Null Match None : ne correspondent pas.

Null Match All : correspondent.

Match Threshold

Saisissez la probabilité de correspondance. Deux enregistrements de données correspondent lorsque la probabilité est supérieure à la valeur définie.

Vous pouvez saisir un seuil de correspondance différent pour chaque règle de mise en correspondance.

Blocking Selection

Input Column

Au besoin, sélectionnez la (les) colonne(s) de flux d'entrée selon laquelle (lesquelles) vous souhaitez partitionner les données traitées en blocs, ce qui est habituellement appelé "blocking".

La création de blocs (ou de groupes) réduit le nombre de paires d'enregistrements nécessitant examen. Lors de la création de blocs, les données d'entrée sont partitionnées en blocs exhaustifs créés pour augmenter la proportion de correspondances observées lors de la réduction du nombre de paires à comparer. Les comparaisons sont limitées aux paires d'enregistrements dans chaque bloc.

Utiliser des colonnes de bloc est très utile lorsque vous traitez des données très volumineuses.

Advanced settings

Store on disk

Cochez cette case si vous souhaitez stocker les blocs de données traitées sur le disque, afin d'optimiser les performances de votre système.

Max buffer size : Saisissez la taille de la mémoire physique que vous souhaitez allouer aux données traitées.

Temporary data directory path : Définissez l'emplacement où stocker le fichier temporaire.

 

Multiple output

Cochez la case Separate output pour obtenir trois flux de sortie différents :

-Uniques : lorsque le score du groupe (distance minimale calculée dans l'enregistrement) est égal à 1, l'enregistrement est listé dans ce flux.

-Matches : lorsque le score du groupe (distance minimale calculée dans l'enregistrement) est supérieur au seuil défini dans le champ Confidence threshold, l'enregistrement est listé dans ce flux.

-Suspects : lorsque le score du groupe (distance minimale calculée dans l'enregistrement) est inférieur au seuil défini dans le champ Confidence threshold, l'enregistrement est listé dans ce flux.

Confident match threshold : configurez une valeur numérique entre la valeur de Match threshold et 1. Au-dessus de ce seuil, vous pouvez avoir confiance en la qualité du groupe.

 

Multi-pass

Cochez cette case pour permettre à un tMatchGroup de recevoir des ensembles de données provenant du tMatchGroup précédent dans le Job. Cela permet d'affiner les groupes reçus par chaque tMatchGroup tout en créant des partitions de données basées sur les différentes clés de bloc.

Pour un Job d'exemple, consultez Scénario 2 : Rapprocher des données clients via de multiples passes

 

Sort the output data by GID

Cochez cette case afin de regrouper les données de sortie par l'identifiant du groupe.

Les données de sortie sont classées selon l'ordre alphanumérique de l'identifiant du groupe.

 

Output distance details

Cochez cette case pour ajouter une colonne de sortie MATCHING_DISTANCES dans le schéma du composant. Cette colonne donne la distance entre les enregistrements d'entrée et les enregistrements maître de chaque groupe.

Note

Lorsque vous utilisez deux composants tMatchGroup dans un Job et que vous souhaitez utiliser l'option Output distance details, vous devez cocher cette case dans les deux composants avant de les relier. Si les composants sont reliés, cochez d'abord la case dans le second composant du flux du Job, puis dans le premier composant. Sinon, une erreur peut survenir car deux colonnes du schéma de sortie portent le même nom. Cocher cette case dans un seul tMatchGroup n'est pas utile et peut causer des erreurs de correspondance.

 

Display detailed labels

Cochez cette case pour que la colonne MATCHING_DISTANCES affiche le nom des colonnes utilisées comme attributs clé selon la règle appliquée en plus de la distance de correspondance.

Par exemple, si vous souhaitez effectuer une correspondance sur les champs de prénom; fname, et de nom, lname, la sortie est fname:1.0|lname:0.97 lorsque la case est cochée et 1.0|0.97 lorsqu'elle ne l'est pas.

 

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. Notez que cette case n'est pas disponible dans la version Map/Reduce de ce 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 un composant intermédiaire. Il requiert un flux d'entrée et un flux de sortie.

Assistant de configuration

L'assistant de configuration vous permet de créer différents environnements de production, Configurations et leurs règles de mise en correspondance. Vous pouvez également utiliser l'assistant de configuration pour importer les règles de mise en correspondance créées et testées dans le studio puis stockées dans le référentiel, afin de les utiliser dans vos Jobs de mise en correspondance. Pour plus d'informations, consultez Importer des règles de mise en correspondance depuis le référentiel du studio.

Vous ne pouvez pas ouvrir l'assistant de configuration sans avoir lié le composant d'entrée au tMatchGroup.

Pour ouvrir l'assistant de configuration :

  1. Dans l'espace de modélisation graphique, construisez votre Job et reliez les composants, comme montré ci-dessous.

  2. Vous pouvez :

    • double-cliquer sur le tMatchGroup,

    • cliquer-droit dessus et sélectionner Configuration Wizard dans le menu contextuel ou

    • cliquer sur Preview dans la vue Basic settings du tMatchGroup.

Cet assistant [Configuration wizard] se compose de trois zones :

  • la vue Configuration, qui permet de définir les règles de mise en correspondance et la (les) colonne(s) de bloc,

  • le graphique des correspondances, qui affiche les résultats graphiques de la mise en correspondance,

  • la table des correspondances, qui affiche les résultats détaillés de la mise en correspondance.

La vue Configuration

Dans cette vue, vous pouvez éditer la configuration du tMatchGroup ou définir différentes configurations dans lesquelles exécuter le Job. Vous pouvez, par exemple, utiliser ces différentes configurations pour effectuer des tests. Cependant, vous ne pouvez enregistrer qu'une configuration à partir de cet assistant, à savoir la configuration courante.

Dans chaque configuration, vous pouvez définir une ou plusieurs clés de bloc et plusieurs conditions utilisant différentes règles de mise en correspondance. Vous pouvez également définir différents intervalles de correspondance pour chaque règle. Les résultats de la mise en correspondance de plusieurs conditions listent les enregistrements de données qui répondent à au moins une des règles définies. Lorsqu'une configuration a plusieurs conditions, le Job effectue une opération de mise en correspondance de type OR. Il évalue les enregistrements de données par rapport à la première règle et les enregistrements qui correspondent à celle-ci ne sont pas évalués par rapport aux autres règles.

Les paramètres requis pour éditer ou créer une règle de correspondance sont :

  • le champ Limit. Il indique le nombre maximal de lignes à traiter par la (les) règle(s) de correspondance dans l'assistant. Par défaut, le nombre maximum de lignes est de 1000.

  • les paramètres Key definition.

  • le champ Match Threshold.

Pour créer une nouvelle configuration et de nouvelles règles de mise en correspondance dans l'assistant de configuration :

  1. Cliquez sur le bouton [+] dans le coin supérieur droit de la vue Configuration.

    Cela crée, dans un nouvel onglet, une copie identique de la dernière configuration.

  2. Modifiez ou renseignez les paramètres de la nouvelle configuration dans les tables Key definition et Blocking Selection.

  3. Selon vos besoins, vous pouvez définir plusieurs règles pour la configuration courante en procédant comme suit :

    • Cliquez sur le bouton [+] sur la barre de Match Rule

      Cela crée, dans un nouvel onglet, une copie identique de la dernière règle.

    • Saisissez les paramètres de la nouvelle règle dans les tables Key definition et définissez l'intervalle de correspondance.

    • Suivez les étapes ci-dessus afin de créer autant de règles que nécessaire pour une configuration. Vous pouvez définir un intervalle de correspondance différent pour chaque règle.

      Lorsqu'une configuration a plusieurs conditions, le Job effectue une opération de mise en correspondance de type OR. Il évalue les enregistrements de données par rapport à la première règle et les enregistrements qui correspondent à celle-ci ne sont pas évalués par rapport aux autres règles.

  4. Cliquez sur le bouton Chart en haut à droite de l'assistant afin d'exécuter le Job dans la configuration courante.

    Les résultats de correspondance sont affichés dans le graphique et la table des correspondances.

    Suivez les étapes ci-dessus afin de créer autant de configurations que nécessaire dans l'assistant.

  5. Pour exécuter le Job dans une configuration spécifique, ouvrez la configuration dans l'assistant et cliquez sur le bouton Chart. Les résultats de correspondance sont affichés dans le graphique et la table des correspondances.

  6. En bas à droite de l'assistant, cliquez soit :

    • sur le bouton OK pour sauvegarder la configuration courante.

      Vous ne pouvez sauvegarder qu'une configuration dans l'assistant.

    • sur le bouton Cancel pour fermer l'assistant et garder la configuration initialement sauvegardée dans l'assistant.

Le graphique des correspondances

Dans le graphique des correspondances, vous avez une vision globale des doublons dans les données analysées.

Le paramètre Hide groups less than, configuré à 2 par défaut, vous permet de sélectionner les groupes que vous souhaitez afficher dans le graphique. On souhaite généralement masquer les groupes de petite taille.

Par exemple, le graphique ci-dessus indique que :

  • 48 éléments sont analysés et divisés en 18 groupes selon une règle de mise en correspondance donnée et après avoir exclu les éléments en double. Le paramètre Hide groups less than avec la valeur 2 a été utilisé pour exclure les doublons.

  • 11 groupes ont chacun deux éléments. Dans chaque groupe, les deux éléments sont des doublons de l'autre.

  • Trois groupes ont chacun trois éléments. Dans chaque groupe, ces éléments sont des doublons d'un autre.

  • Trois groupes ont quatre éléments chacun. Dans chaque groupe, ces éléments sont des doublons d'un autre.

  • Un seul groupe a cinq éléments en doublon.

La table des correspondances

Dans la table des correspondances, vous pouvez voir les détails des différents doublons.

Cette table affiche le détail des correspondances des éléments de chaque groupe et les colore selon leur couleur dans le graphique.

Vous pouvez décider des groupes à afficher dans cette table en modifiant le paramètre Hide groups less than, configuré à 2 par défaut. Ce paramètre vous permet de masquer les groupes de petite taille.

Les boutons sous la table vous permettent de naviguer entre les différents pages.

Importer des règles de mise en correspondance depuis le référentiel du studio

Dans l'assistant de configuration du tMatchGroup, vous pouvez importer des clés de correspondance depuis les règles de mise en correspondance créées et testées dans la perspective Profiling du studio, puis stockées dans le référentiel. Vous pouvez, utiliser ces clés de correspondance importées dans vos Jobs de mise en correspondance.

Le composant tMatchGroup est basé sur l'algorithme VSR. Vous ne pouvez importer de règles de correspondance configurée avec l'algorithme T-Swoosh. Un message d'avertissement s'affiche dans l'assistant lorsque vous essayez d'importer des règles avec T-Swoosh.

L'algorithme VSR prend un groupe d'enregistrements en entrée et regroupe les doublons rencontrés selon les règles de mise en correspondance définies. Il compare des paires d'enregistrements et les assigne à des groupes. Le premier enregistrement traité dans chaque groupe est l'enregistrement maître du groupe. L'algorithme VSR compare chaque enregistrement par rapport au maître de chaque groupe et utilise les distances calculées, depuis les enregistrements maître, pour décider du groupe auquel un enregistrement doit appartenir.

Pour importer des règles de mise en correspondance depuis le référentiel du studio :

  1. Dans l'assistant de configuration, cliquez sur l'icône dans le coin supérieur droit.

    L'assistant [Match Rule Selector] s'ouvre et liste toutes les règles de mise en correspondance créées dans le studio et sauvegardées dans le référentiel.

  2. Sélectionnez la règle de mise en correspondance que vous souhaitez importer dans le composant tMatchGroup et utiliser sur vos données.

    Note

    - Un avertissement s'affiche dans l'assistant si la règle de mise en correspondance que vous souhaitez importer et définie sur des colonnes qui n'existent pas de le schéma d'entrée du tMatchGroup. Vous pouvez définir des colonnes d'entrée ultérieurement dans l'assistant de configuration.

    - Un message d'avertissement s'affiche dans l'assistant si vous essayez d'importer des règles de mise en correspondance configurées avec l'algorithme T-Swoosh. Pour plus d'informations concernant l'algorithme T-Swoosh, consultez le Guide utilisateur du Studio Talend.

  3. Cochez la case Overwrite current Match Rule in the analysis si vous souhaitez remplacer la règle dans l'assistant de configuration par la règle importée.

    Si vous laissez la case décochée, les clés de correspondance sont importées dans un nouvel onglet Match Rule sans écraser la règle de mise en correspondance courante dans l'assistant.

  4. Cliquez sur OK.

    La clé de correspondance est importée de la règle de mise en correspondance et listée en tant que nouvelle règle de l'assistant de configuration.

  5. Cliquez dans la colonne Input Key Attribute et sélectionnez parmi les données d'entrée la colonne sur laquelle appliquer la clé de correspondance.

  6. Dans le champ Match threshold, saisissez le seuil de probabilité. Deux enregistrements de données correspondent lorsque le score de correspondance est supérieur à la valeur définie.

  7. Dans la table Blocking Selection, sélectionnez les colonnes du flux d'entrée que vous souhaitez utiliser comme clé de bloc.

    Définir une clé de bloc n'est pas obligatoire mais recommandé. Utiliser une clé de bloc permet de partitionner les données en blocs et de réduire le nombre d'enregistrements à examiner, puisque les comparaisons sont restreintes aux paires d'enregistrements dans chaque bloc. Utiliser des clés de bloc est très utile lors du traitement de données très volumineuses.

    Notez que la table Blocking Selection du composant est différente de la table Generation of Blocking Key dans l'éditeur de règles de mise en correspondance de la perspective Profiling.

    La colonne de bloc du tMatchGroup peut provenir d'un composant tGenKey (et serait appelée T_GEN_KEY) ou directement du schéma d'entrée (une colonne ZIP par exemple). La table Generation of Blocking Key, dans l'éditeur de règle de mise en correspondance définit les paramètres nécessaires pour générer une clé de bloc. Cette table est équivalente au composant tGenKey. Elle génère une colonne de bloc BLOCK_KEY utilisée pour la création de blocs.

  8. Cliquez sur le bouton Chart dans le coin supérieur droit de l'assistant afin d'exécuter le Job à l'aide de la règle de mise en correspondance importée et d'afficher les résultats de la mise en correspondance dans l'assistant.