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

Ces propriétés sont utilisées pour configurer le tMatchGroup s'exécutant dans le framework de Jobs MapReduce.

Le composant tMatchGroup MapReduce appartient à la famille Data Quality.

Le composant de ce framework est disponible dans tous les produits Talend Platform avec Big Data et dans Talend Data Fabric.

Basic settings

Schema et Edit schema

Un schéma est une description de lignes. Il définit le nombre de champs (colonnes) à traiter et à passer au composant suivant. Lorsque vous créez un Job Spark, évitez le mot réservé line lors du nommage des champs.

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

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.
Remarque :

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 voulez un identifiant de groupe de type String, vous devez remplacer le tMatchGroup dans ces Jobs par un tMatchGroup depuis 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 est comparé à l'enregistrement maître.

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

Si le composant 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é localement pour ce composant seulement. scénario associé : consultez le Guide utilisateur du Studio Talend .

 

Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans divers projets et Jobs. Scénario associé : consultez le Guide utilisateur du Studio Talend .

Algorithme de rapprochement

Sélectionnez dans la liste l'algorithme que vous souhaitez utiliser dans le composant : Simple VSR est le seul algorithme de rapprochement que vous pouvez utiliser avec la version Map/Reduce de ce composant.

Si vous avez converti un Job standard utilisant un tMatchGroup avec l'algorithme T-Swoosh en un Job Map/Reduce, sélectionnez Simple VSR dans la liste et sauvegardez le Job converti avant son exécution. Sinon, une erreur survient.

Définition de la clé

Attribut de la clé d'entrée

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

Remarque : Lorsque vous sélectionnez une colonne de dates sur laquelle appliquer un algorithme ou un algorithme de rapprochement, 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.

 

Fonction de correspondance

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

Exact : met en correspondance 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 : met en correspondance 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 : met en correspondance les entrées traitées selon l'algorithme de prononciation britannique. Indexe les chaînes de caractères par son, selon la prononciation anglaise. Par exemple "Hello": "H400".

Levenshtein (distance d'édition) : calcule le nombre minimal 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 : 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 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.

Soundex FR : met en correspondance les entrées traitées selon l'algorithme de prononciation française.

Jaro : met en correspondance les entrées traitées selon des erreurs 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 obtiennent finalement l'empreinte (clé) cruise tom et terminent dans le même cluster.

  7. normalise les caractères occidentaux étendus par leur représentations ASCII, par exemple gödel par 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 amener à de faux positifs, par exemple gödel et godél obtiennent godel comme empreinte mais ce 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 : met en correspondance 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.

Hamming : calcule le nombre minimal de substitutions requises pour transformer une chaîne de caractères en une autre de la même longueur. Par exemple, la distance de Hamming entre "masking" and "pairing" est égale à 3.

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

Pour plus d'informations concernant le chargement d'une bibliothèque externe Java, 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 Utiliser un algorithme de mise en correspondance personnalisé pour faire correspondre des entrées.

custom matcher class

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.

 

Importance

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

Gestion des 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 rapprochement.

Sélection des blocs

Colonne d'entrée

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 la case Store on disk 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.

Sorties multiples

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-passe

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 Rapprocher des données clients via de multiples passes.

Trier les données par ID de groupe

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.

Détails de la distance de sortie

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.

Remarque :

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.

Afficher les libellés détaillés

Cochez cette case pour que la colonne de sortie 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énomn, 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 afin de collecter les données de log au niveau du composant. Notez que cette case n'est pas disponible dans la version Map/Reduce de ce composant.

Global Variables

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, lorsque le composant contient cette case.

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

Règle d'utilisation

Dans un Job Map/Reduce Talend, il est utilisé comme étape intermédiaire, avec d'autres composants Map/Reduce. Ils génèrent nativement du code Map/Reduce pouvant être exécuté directement dans Hadoop.

Vous devez utiliser l'onglet Hadoop Configuration de la vue Run afin de définir la connexion à une distribution Hadoop donnée pour le Job complet.

Pour plus d'informations concernant les Jobs Map/Reduce Talend, consultez les sections décrivant comment créer, convertir et configurer un Job Map/Reduce Talend, dans le Guide de prise en main de Talend Open Studio for Big Data.

Pour un exemple de scénario de Job Map/Reduce Job utilisant ce composant, consultez le Faire correspondre des données via de multiples passes à l'aide de composants Map/Reduce.

Notez que, dans cette documentation, sauf mention contraire, un scénario présente uniquement des Jobs Standard, c'est-à-dire des Jobs Talend traditionnels d'intégration de données et non des Jobs Map/Reduce.