Rapprochement via de multiples passes - 7.1

Data matching

author
Talend Documentation Team
EnrichVersion
7.1
EnrichProdName
Talend Big Data Platform
Talend Data Fabric
Talend Data Management Platform
Talend Data Services Platform
Talend MDM Platform
Talend Real-Time Big Data Platform
task
Création et développement > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement de données
Gouvernance de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement de données
Qualité et préparation de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement de données
EnrichPlatform
Studio Talend

Vous pouvez créer un Job ayant plusieurs tMatchGroup à la suite afin de créer des partitions de données basées sur différentes clés de bloc.

Par exemple, vous souhaitez chercher les doublons ayant la même ville ou le même code postal dans une base de données clients. Dans ce cas, vous pouvez utiliser deux composants tMatchGroup à la suite afin de traiter les partitions de données :

  • Un tMatchGroup pour lequel la colonne "city" est la clé de bloc.
  • Un tMatchGroup pour lequel la colonne "ZipCode" est la clé de bloc.

Qu'est-ce que le rapprochement via de multiples passes ?

L'idée sur laquelle repose le rapprochement via de multiples passes consiste à réutiliser des enregistrements maître définis dans la passe précédente en tant que données d'entrée du composant tMatchGroup. Le rapprochement via de multiples passes est plus efficace si les clés de bloc ne sont presque pas corrélées. Par exemple, il n'est pas pertinent de définir la colonne "country" (pays) en tant que clé de bloc et la colonne "city" (ville), comme autre clé de bloc, car toutes les comparaison effectuées avec la clé de bloc "city" seront également effectuées avec la clé de bloc "country".

Lorsque vous utilisez le rapprochement via de multiples passes avec l'algorithme Simple VSR Matcher, seuls les enregistrements maître de taille 1 (enregistrements pour lesquels il n'y a eu aucune correspondance) sont comparés aux enregistrements maîtres, quelle que soit leur taille. Il n'y aucune comparaison entre deux enregistrements maître créés à partir d'au moins deux enfants chacun.

Exemple de rapprochement via de multiples passes

Dans l'exemple suivant, le jeu de données contient quatre enregistrements. Le premier composant tMatchGroup a une clé de bloc définie sur la colonne "ZipCode", le deuxième composant tMatchGroup a une clé de bloc définie sur la colonne "city". L'attribut "name" est utilisé en tant que clé de rapprochement.

id name city ZipCode
1 John Doe Nantes 44000
2 John B. Doe Nantes  
3 Jon Doe Nantes 44000
4 John Doe Nantes  

Après la première passe, les enregistrements 1 et 3 sont regroupés d'une part, les enregistrements 2 et 4 sont regroupés d'autre part. Dans ces groupes, l'enregistrement 1 et l'enregistrement 2 sont des enregistrements maître.

Dans le deuxième tMatchGroup, seuls les enregistrements maître de la première passe, l'enregistrement 1 et l'enregistrement 2, sont comparés. Puisque la taille des groupes est strictement supérieure à 1, ils ne font l'objet d'aucune comparaison. L'ordre dans lequel les enregistrements en entrée sont classés est donc très important.

Les résultats suivants sont retournés :

id name city ZipCode GID GRP_SIZE MASTER SCORE GRP_QUALITY
1 John Doe Nantes 44000 0 2 true 1.0 0.875
3 Jon Doe Nantes 44000 0 0 false 0.85 0
2 John B. Doe Nantes   1 2 true 1.0 0.72
4 John Doe Nantes   1 0 false 0.72 0

Lorsque vous utilisez l'algorithme T-Swoosh avec les mêmes paramètres et la fonction de consolidation Most common, les résultats suivants sont retournés :

id name city ZipCode GID GRP_SIZE MASTER SCORE GRP_QUALITY
1 John Doe Nantes 44000 0 4 true 1.0 0.72
1 John Doe Nantes 44000 0 0 true 0.875 0
3 Jon Doe Nantes 44000 0 0 false 0.875 0
2 John B. Doe Nantes   0 0 true 0.72 0
4 John Doe Nantes   1 0 false 0.72 0