Le composant tMatchGroup dans les Jobs Talend Map/Reduce - 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

Les informations contenues dans cette section concernent uniquement les utilisateurs ayant souscrit à l'une des solutions Big Data de Talend et ne sont pas applicables aux utilisateurs de Talend Open Studio for Big Data.

Dans un Job Talend Map/Reduce, le composant tMatchGroup, ainsi que les autres composants Map/Reduce qui le précédent, génèrent du code Map/Reduce natif. Cette section présente les propriétés spécifiques du tMatchGroup lorsqu'il est utilisé dans le cas présent. Pour plus d'informations sur les Jobs Talend Map/Reduce Job, consultez le Guide de prise en main de Talend Big Data.

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 dans des Jobs Map/Reduce

Dans un Job Talend Map/Reduce, 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 Talend Map/Reduce, consultez les sections décrivant comment créer, convertir et configurer un Job Talend Map/Reduce, dans le Guide de prise en main de Talend Big Data.

Pour un scénario présentant un Job Map/Reduce utilisant ce composant, consultez Scénario : 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.

Principes de travail

Ce composant implémente l'algorithme MapReduce, selon les clés de blocs définies dans la table Blocking definition de la vue Basic settings.

Cette implémentation est la suivante :

  1. Divise les lignes d'entrée en groupes d'une taille donnée.

  2. Implémente une classe Map créant un mapping entre chaque clé et une liste d'enregistrements.

  3. Mélange les enregistrements afin de regrouper ceux ayant la même clé.

  4. Applique, sur chaque clé, l'algorithme défini dans la table Key definition de la vue Basic settings.

    Ce composant lit les enregistrements, les compare aux enregistrements maître, regroupe les enregistrements similaires et classe les autres en tant qu'enregistrements maître.

  5. Le composant écrit en sortie les groupes d'enregistrements similaires avec leur ID de groupe, la taille de leur groupe, les distances et les scores de correspondance.

Assistant de configuration dans des Jobs Map/Reduce

Avertissement

Les information contenues dans cette section s'adressent aux utilisateurs ayant souscrit à l'une des solutions Big Data de Talend et ne sont pas applicables aux utilisateurs de Talend Open Studio for Big Data.

Dans un Job Map/Reduce Talend, le tMatchGroup et le Job Map/Reduce entier l'utilisant génèrent nativement du code Map/Reduce. Cette section présente les paramètres spécifiques, dans l'assistant de configuration du tMatchGroup, lorsqu'il est utilisé dans cette situation. Pour plus d'informations concernant les Jobs Map/Reduce Talend, consultez le Guide de prise en main de Talend Big Data.

Vous ne pouvez ouvrir l'assistant de configuration avant de connecter un composant d'entrée au tMatchGroup.

Dans l'assistant de configuration du tMatchGroup, vous pouvez :

  • définir différentes conditions à l'aide de différentes règles de rapprochement afin de grouper des données,

  • configurer différents intervalles de correspondance pour chaque règle,

  • importer les règles de rapprochement créées et testées dans le studio et stockées dans le Repository et les utiliser dans vos Jobs de rapprochement. Vous pouvez importer uniquement des règles configurées avec l'algorithme VSR. Pour plus d'informations, consultez Importer des règles de mise en correspondance depuis le référentiel du studio.

  • sélectionner une clé de bloc pour partitionner les données.

Les résultats de correspondance des différentes conditions listent les enregistrements de données répondant aux règles définies.

Pour créer des règles de rapprochement dans l'assistant de configuration, procédez comme suit :

  1. Cliquez sur le bouton [+] dans la barre des règles de correspondance.

  2. Configurez les paramètres de la nouvelle règle dans la table Key definition et définissez son intervalle de correspondance.

  3. Répétez les étapes ci-dessus pour créer les règles de rapprochement selon vos besoins. Vous pouvez définir un intervalle de correspondance différent pour chaque règle.

    Lorsque vous définissez différentes règles, le Job effectue une opération de correspondance OR. Cela permet d'évaluer des enregistrements de données par rapport à la première règle. Les enregistrements qui correspondent ne sont pas évalués par rapport à la seconde règle.

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

    Définir une clé de bloc n'est pas obligatoire mais très utile lors du traitement d'ensemble de Big Data volumineux. Une clé de bloc partitionne des données en blocs et réduit le nombre d'enregistrements à examiner Cette clé provient d'un composant tGenKey (et est appelée T_GEN_KEY) ou directement du schéma d'entrée.

  5. Dans le coin inférieur droit de l'assistant, vous pouvez cliquer sur :

    • OK pour sauvegarder la configuration actuelle.

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