Qu'est-ce que le rapprochement de données ?
Définition générale
- de chercher des doublons, des paires suspectes et des enregistrements uniques dans une source de données,
- d'analyser des données et de retourner des probabilités pondérées de correspondance,
- de fusionner les entrées identiques ou similaires en une seule entrée et
- de réduire les disparités entres les différentes sources de données.
Rapprochement d'enregistrements
Le rapprochement consiste en une identification des enregistrements faisant référence à une même entité dans un jeu de données.
- le rapprochement des enregistrements déterministe, basé sur des identifiants qui entrent en correspondance et
- le rapprochement des enregistrements probabiliste, basé sur la probabilité que deux identifiants correspondent.
Que faire avant le rapprochement ?
Profiling des données
Le profiling des données aide à évaluer le niveau de qualité des données selon des objectifs définis.
Les problèmes de qualité des données peuvent avoir différentes causes dont les systèmes hérités, les migrations de données, les modifications de bases de données, les incohérences en matières de communications humaines et bien d'autres anomalies potentielles. Indépendamment de leur source, les problèmes de qualité des données peuvent avoir un impact sur la capacité des entreprises à utiliser leurs données afin de prendre des décisions éclairées.
Si des données sont de faible qualité ou gérées dans des structures dont l'intégration ne permet pas de satisfaire les besoins de l'entreprise, les processus et la prise de décision en pâtissent.
En comparaison avec les techniques d'analyse manuelle, la technologie de profiling des données améliore la capacité de l'entreprise à relever le défi de la gestion de la qualité des données et à surmonter les difficultés rencontrées lors de migrations et d'intégration de données.
Standardisation des données
- Vous pouvez standardiser des données grâce à des index de synonymes. Les synonymes sont standardisés et convertis en mots "maîtres".
Pour plus d'informations concernant les dictionnaires des synonymes de données, consultez Dictionnaires des synonymes des données.
- Vous pouvez utiliser des composants de validation d'adresses afin de valider des données d'adresses par rapport aux outils de validation d'Experian QAS, Loqate et MelissaData. Les adresses renvoyées par ces outils sont cohérentes et les variations dans la représentation des adresses sont éliminées. Les adresses étant standardisées, le rapprochement est plus facile.
Pour plus d'informations concernant les composants tQASBatchAddressRow, tLoqateAddressRow et tMelissaDataAddress, consultez Standardisation d'adresses.
- Vous pouvez utiliser le tStandardizePhoneNumber pour standardiser un numéro de téléphone, selon les conventions de formatage du pays d'origine.
Pour plus d'informations concernant la standardisation des numéros de téléphone, consultez Standardisation de numéros de téléphone.
- Vous pouvez utiliser d'autres composants plus génériques afin de transformer vos données et obtenir des enregistrements plus standardisés, comme le tReplace, le tReplaceList, le tVerifyEmail, le tExtractRegexFields ou le tMap.
Comment rapprocher des données ?
L'approche classique du rapprochement de données
Technique des blocs par partition
Elle consiste en un tri des données en partitions de même tailles ayant le même attribut. L'objectif est de restreindre les comparaisons aux enregistrements groupés dans la même partition.
Pour créer des partitions efficaces, vous devez trouver des attributs qui ne risquent pas de changer, comme un prénom ou un nom. De ce fait, vous améliorez la fiabilité de la méthode des blocs et la vitesse d'exécution de la tâche.
Il est recommandé d'utiliser le composant tGenKey pour générer des clés de bloc et visualiser la distribution des blocs.
Pour plus d'informations sur la génération de clés de bloc, consultez Identification.
Choisir les métriques et définir les règles de rapprochement
Après avoir bloqué les données dans un groupe de la même taille, vous pouvez créer des règles de rapprochement et les tester avant de les utiliser dans le composant tMatchGroup.
Pour plus d'informations concernant la création d'une analyse de rapprochement, consultez Créer une analyse de rapprochement.
Rapprochement des fonctions dans le composant tMatchGroup
Le tMatchGroup permet de créer des groupes d'enregistrements de données similaires dans n'importe quelle source de données, y compris avec des données volumineuses, à l'aide d'une ou plusieurs règles de rapprochement.
- Des algorithmes phonétiques tels que Soundex ou Metaphone, qui sont utilisés pour rapprocher les noms.
- La distance de Levensthein, qui calcule le nombre minimum de modifications requises pour transformer une chaîne de caractères en une autre.
- La distance de Jaro, qui rapproche les entrées traitées en fonction des variations orthographiques.
- La distance de Jaro-Winkler, qui est une variante de la distance de Jaro et qui accorde plus d'importance au début de la chaîne de caractères.
Pour plus d'informations concernant l'utilisation du composant tMatchGroup dans des Jobs Standard et Map/Reduce, consultez Rapprochement classique.
Algorithmes Simple VSR Matcher et T-Swoosh
- Le Simple VSR Matcher
- Le T-Swoosh
Pour plus d'informations concernant les analyses de rapprochement, consultez "Créer une règle de rapprochement" sur Talend Help Center.
Quand est-ce que les enregistrements se rapprochent ?
- Lorsque vous utilisez l'algortihme T-Swoosh, le score retourné pour chaque fonction de rapprochement doit être supérieur au seuil que vous avez défini.
- Le score global, score pondéré calculé d'après les différentes fonctions de rapprochement, doit être supérieur au seuil de rapprochement.
Multiples passes
En général, des schémas de partitionnement différents sont nécessaires. Cela requiert d'utiliser des composants tMatchGroup de façon séquentielle pour rapprocher les données avec différentes clés de bloc.
Pour un exemple de rapprochement de données via de multiples passes, consultez Rapprochement classique.
Utilisation du composant tRecordMatching
Le tRecordMatching effectue une jointure entre les colonnes comparées du flux principal et les colonnes de référence du flux Lookup. En fonction de la stratégie de rapprochement que vous avez définie, le tRecordMatching écrit en sortie les données de rapprochement, les éventuelles données de rapprochement et les données rejetées. Au moment de définir votre stratégie de rapprochement, les scores de rapprochement définis par l'utilisateur ou l'utilisatrice sont cruciaux pour déterminer le niveau de rapprochement des données qui vous intéressent.
Pour plus d'informations concernant le composant tRecordMatching, consultez Rapprochement classique.
L'approche de l'apprentissage automatique
L'approche de l'apprentissage automatique est utile lorsque vous souhaitez mettre en correspondance un important volume de données.
Le processus de rapprochement des données peut être automatisé en construisant un modèle permettant de prédire les correspondances.
Le processus de rapprochement de données
Les avantages de l'apprentissage automatique sur l'approche classique sont les suivants :
- Les différents mécanismes de blocking permettent une augmentation de la vitesse du calcul et une montée en charge. Dans le cadre de l'apprentissage automatique, le blocking est différent du partitionnement : un enregistrement peut appartenir à plusieurs blocs et la taille des blocs est clairement délimitée, ce n'est pas nécessairement le cas lors de l'utilisation du composant tGenKey.
- Les règles apprises et stockées par le modèle d'apprentissage automatique peuvent être plus complexes et moins arbitraires que les règles de rapprochement définies manuellement.
- La configuration des composants est plus simple. Le modèle de rapprochement apprend automatiquement les distances de correspondance et les seuils de similarité, entre autres.
- La première étape consiste en une pré-analyse du jeu de données à l'aide du tMatchPairing. Les enregistrements uniques, les enregistrements correspondant exactement, les paires suspectes et un échantillon des paires suspectes sont écrits en sortie par le tMatchPairing.
Pour plus d'exemples, consultez Calculer des paires suspectes et écrire un échantillon dans Talend Data Stewardship et Calculer des paires suspectes et des échantillons suspects depuis les données source.
- La deuxième étape consiste à libeller manuellement les paires suspectes en tant que "match" ou "no-match". Vous pouvez utiliser Talend Data Stewardship pour libeller les paires suspectes plus facilement.
Vous pouvez utiliser une ou plusieurs classes, par exemple “match”, “potential match” et “different”.
Pour plus d'informations concernant la gestion des tâches de regroupement pour décider des relations entre les paires d'enregistrements dans Talend Data Stewardship, consultez Exemples d'utilisation de Talend Data Stewardship.
- La troisième consiste à soumettre les paires suspectes que vous avez libellées au tMatchModel afin d'apprendre et de générer un modèle de classification.
Pour des exemples de générations de modèles de rapprochement, consultez les scénarios.
- La quatrième étape consiste à libeller les paires suspectes dans des jeux de données volumineux automatiquement en utilisant, avec le tMatchPredict, le modèle calculé par le tMatchModel.
Pour voir un exemple de procédure pour libeller des paires suspectes avec des libellés assignés, consultez le scénario.
Qu'est-ce qu'un bon échantillon ?
L'échantillon doit être équilibré : le nombre d'enregistrements dans chaque classe - "match" et "no match" - doit être approximativement le même. Un échantillon déséquilibré aboutit à un modèle insatisfaisant.
L'échantillon doit être diversifié : plus les exemples sont diversifiés, plus les règles apprises par le modèles seront efficaces.
L'échantillon doit avoir la bonne taille : si vous disposez d'un important jeu de données constitué de millions d'enregistrements, quelques centaines ou milliers d'exemples peuvent suffire. Si votre jeu de données est constitué de moins de 10 000 enregistrements, la taille de l'échantillon doit se situer entre 1 et 10 % du jeu de données total.
Comment le tMatchModel génère-t-il un modèle ?
L'algorithme d'apprentissage automatique calcule différentes mesures, appelées attributs, afin d'obtenir le plus d'informations possibles sur les colonnes choisies.
Pour générer le modèle, le tMatchModel analyse les données en utilisant l'algorithme Random Forest. Une forêt aléatoire (random forest) est une collection d'arbres de décision utilisée pour résoudre un problème de classifications. Dans un arbre de décision, chaque nœud correspond à une question sur les attributs associés aux données d'entrée. Une forêt aléatoire génère plusieurs arbres de décision afin d'améliorer la précision de la classification et de générer un modèle.
Pour plus d'informations concernant le rapprochement de données dans Apache Spark, consultez les propriétés du tMatchModel.
Créer des enregistrements consolidés
Fusionner les enregistrements à l'aide du tRuleSurvivorship
Après avoir estimé les doublons et regroupé les paires suspectes, vous pouvez utiliser le tRuleSurvivorship créer un représentant unique de chaque groupe de doublons en choisissant les données les plus adaptées. Cette représentation est appelée "enregistrement consolidé".
Pour un exemple de création d'un jeu de données nettoyées à partir des paires suspectes libellées par le tMatchPredict et les enregistrements uniques calculés par le tMatchPairing, consultez Rapprochement utilisant l'apprentissage automatique.
Utiliser Talend Data Stewardship pour examiner manuellement et fusionner les enregistrements
Vous pouvez ajouter des campagnes de fusion dans Talend Data Stewardship pour examiner et modifier les règles, créer des représentants uniques et fusionner les données.
Pour plus d'informations concernant la fusion de campagnes dans Talend Data Stewardship, consultez Exemples d'utilisation de Talend Data Stewardship.
Dans Talend Data Stewardship, les data stewards sont des utilisateur·trice·s métier chargé·e·s de résoudre les tâches de fusion :- Classification des données en assignant des libellés choisis parmi une liste prédéfinie de choix d'arbitrage.
- Fusion d'enregistrements suspects en un seul enregistrement.
Tâches de fusion permettant aux data stewards de fusionner plusieurs suspects parmi les enregistrements source en un seul enregistrement (enregistrement consolidé). Le résultat d'une tâche de fusion est l'enregistrement maître produit par les data stewards.
Pour plus d'informations concernant la fusion de tâches dans Talend Data Stewardship, consultez Exemples d'utilisation de Talend Data Stewardship.
Les enregistrements source peuvent provenir d'une même source (dédoublonnage de base de données) ou de sources différentes (réconciliation de bases de données).
Comment utiliser la fonction de rapprochement continue à l'aide de composants d'apprentissage automatique ?
Effectuer un rapprochement continu
Si vous voulez rapprocher de nouveaux enregistrements et un jeu de données nettoyées, il n'est pas nécessaire de reprendre le processus de rapprochement depuis le début.
Vous pouvez réutiliser et indexer le jeu de données nettoyées et effectuer un rapprochement continu.Afin d'effectuer des tâches de rapprochement continu, vous devez avoir lancé Elasticsearch version 5.1.2+.
Le processus de rapprochement continu comprend les étapes suivantes :
- La première étape consiste à calculer les suffixes pour séparer les enregistrements nettoyés et dédoublonnés d'un jeu de données et à les indexer dans Elasticsearch à l'aide du tMatchIndex.
Pour un exemple d'indexation de données dans Elasticsearch à l'aide du tMatchIndex, consultez ce scénario.
- La deuxième étape consiste à comparer les enregistrements indexés à de nouveaux enregistrements ayant le même schéma et à écrire en sortie les doublons et les enregistrements uniques à l'aide du tMatchIndexPredict. Ce composant utilise le modèle permettant d'apparier les données et le modèle de rapprochement générés par le tMatchPairing et le tMatchModel
Pour un exemple de rapprochement de nouveaux enregistrements avec des enregistrements d'un jeu de données de référence, consultez ce scénario.
Vous pouvez ensuite nettoyer et dédoublonner les enregistrements n'ayant aucune correspondance à l'aide du tRuleSurvivorship et alimenter le jeu de données nettoyées indexé dans Elasticsearch à l'aide du tMatchIndex.
Exact matching (Correspondance exacte)
Cette option considère que deux enregistrements sont une correspondance exacte lorsqu'un sous-ensemble de leurs attributs est identique.
Composant
tUniqRow
Ce composant assure une qualité de données des flux d'entrée et de sortie du Job.
Le composant tUniqRow compare les entrées et trie les doublons du flux d'entrée.
Ce composant n'est pas intégré par défaut à votre Studio Talend. Vous devez l'installer à l'aide du gestionnaire des fonctionnalités. Pour plus d'informations, consultez Installer les fonctionnalités à l'aide du Gestionnaire des fonctionnalités.
Propriétés du tUniqRow Standard
Ces propriétés sont utilisées pour configurer le tUniqRow s'exécutant dans le framework de Jobs Standard.
Le composant tUniqRow Standard appartient à la famille Qualité de données.
Le composant de ce framework est disponible dans tous les produits Talend.
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. Créez le schéma en cliquant sur le bouton Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :
Ce composant offre la fonction de schéma dynamique. Cela vous permet de récupérer des colonnes inconnues de fichiers sources ou de copier des lots de colonnes d'une source sans avoir à mapper chaque colonne individuellement. Pour plus d'informations concernant les schémas dynamiques, consultez Schéma dynamique. Cette fonctionnalité de schéma dynamique est conçue pour permettre de récupérer des colonnes inconnues d'une table. Il est recommandé de l'utiliser uniquement à cet effet et non pour créer des tables. |
|
Built-in : le schéma est créé et conservé localement pour ce composant seulement. |
|
Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans des Jobs et projets. |
Unique key |
Sélectionnez dans cette zone une ou plusieurs colonnes sur lesquelles le dédoublonnage sera effectué. - Cochez la case Key attribute afin d'effectuer le dédoublonnage sur toutes les colonnes. - Cochez la case Case sensitive afin de différencier les majuscules et les minuscules. |
Paramètres avancés
Only once each duplicated key |
Cochez cette case si vous souhaitez envoyer uniquement les premières entrées en doublon des colonnes définies comme clé(s) vers le flux de sortie des doublons. |
Use of disk (suitable for processing large row set) |
Cochez cette case pour permettre la génération de fichiers temporaires sur le disque dur lors du traitement de données volumineuses. Cela permet d'éviter les échecs d'exécution liés à une surcharge de la mémoire. Quand cette case est cochée, vous devez également définir les éléments suivants : - Buffer size in memory : sélectionnez le nombre de lignes à mettre en mémoire tampon avant qu'un fichier temporaire ne soit généré sur le disque dur. - Directory for temp files : indiquez l'endroit où les fichiers temporaires doivent être enregistrés. Avertissement :
Assurez-vous de spécifier un répertoire existant pour les fichiers temporaires, sinon l'exécution du Job échouera. |
Ignore trailing zeros for BigDecimal |
Cochez cette case pour ignorer les zéros non nécessaires dans le traitement de données BigDecimal. |
Statistiques du tStatCatcher |
Cochez cette case pour collecter les métadonnées de traitement du Job au niveau du Job ainsi qu'au niveau de chaque composant. |
Variables globales
Variables globales |
NB_UNIQUES : nombre de lignes uniques. Cette variable est une variable After et retourne un entier. NB_DUPLICATES : nombre de lignes en doublon. 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, 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 Utiliser les contextes et les variables. |
Utilisation
Règle d'utilisation |
Ce composant est un composant intermédiaire puisqu'il sert à traiter un flux de données. Ainsi, il nécessite un composant d'entrée et un composant de sortie. |
Propriétés du tUniqRow pour Apache Spark Batch
Ces propriétés sont utilisées pour configurer le tUniqRow s'exécutant dans le framework de Jobs Spark Batch.
Le composant tUniqRow Spark Batch appartient à la famille Processus en cours.
Le composant de ce framework est disponible dans tous les produits Talend avec Big Data nécessitant une souscription 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. Créez le schéma en cliquant sur le bouton Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :
|
|
Built-in : le schéma est créé et conservé localement pour ce composant seulement. |
|
Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans des Jobs et projets. |
Unique key |
Sélectionnez dans cette zone une ou plusieurs colonnes sur lesquelles le dédoublonnage sera effectué. - Cochez la case Key attribute afin d'effectuer le dédoublonnage sur toutes les colonnes. - Cochez la case Case sensitive afin de différencier les majuscules et les minuscules. |
Paramètres avancés
Only once each duplicated key |
Cochez cette case si vous souhaitez envoyer uniquement les premières entrées en doublon des colonnes définies comme clé(s) vers le flux de sortie des doublons. |
Utilisation
Règle d'utilisation |
Ce composant est utilisé comme étape intermédiaire. Ce composant, ainsi que la Palette Spark Batch à laquelle il appartient, ne s'affiche que lorsque vous créez un Job Spark Batch. 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. |
Connexion à Spark |
Dans l'onglet Spark Configuration de la vue Run, définissez la connexion à un cluster Spark donné pour le Job complet. De plus, puisque le Job attend ses fichiers .jar dépendants pour l'exécution, vous devez spécifier le répertoire du système de fichiers dans lequel ces fichiers .jar sont transférés afin que Spark puisse accéder à ces fichiers :
Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie. |
Propriétés du tUniqRow pour Apache Spark Streaming
Ces propriétés sont utilisées pour configurer le tUniqRow s'exécutant dans le framework de Jobs Spark Streaming.
Le composant tUniqRow Spark Streaming appartient à la famille Processus en cours.
Ce composant est disponible dans Talend Real Time Big Data Platform 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. Créez le schéma en cliquant sur le bouton Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :
|
|
Built-in : le schéma est créé et conservé localement pour ce composant seulement. |
|
Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans des Jobs et projets. |
Unique key |
Sélectionnez dans cette zone une ou plusieurs colonnes sur lesquelles le dédoublonnage sera effectué. - Cochez la case Key attribute afin d'effectuer le dédoublonnage sur toutes les colonnes. - Cochez la case Case sensitive afin de différencier les majuscules et les minuscules. |
Paramètres avancés
Only once each duplicated key |
Cochez cette case si vous souhaitez envoyer uniquement les premières entrées en doublon des colonnes définies comme clé(s) vers le flux de sortie des doublons. |
Utilisation
Règle d'utilisation |
Ce composant est utilisé comme étape intermédiaire. Ce composant, ainsi que les composants Spark Streaming de la Palette à laquelle il appartient, s'affichent uniquement lorsque vous créez un Job Spark Streaming. 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. |
Connexion à Spark |
Dans l'onglet Spark Configuration de la vue Run, définissez la connexion à un cluster Spark donné pour le Job complet. De plus, puisque le Job attend ses fichiers .jar dépendants pour l'exécution, vous devez spécifier le répertoire du système de fichiers dans lequel ces fichiers .jar sont transférés afin que Spark puisse accéder à ces fichiers :
Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie. |
Scénarios
Dédoublonner des données
Ce scénario décrit un Job à cinq composants, dont le but est de trier des entrées à partir d'une liste d'entrées comprenant des noms, de trouver des noms en doublons et d'afficher les noms uniques ainsi que les noms en doublon dans la console de la vue Run.
Configurer votre Job
Procédure
- Déposez un tFileInputDelimited, un tSortRow, un tUniqRow et deux tLogRow de la Palette dans l'espace de modélisation graphique.
- Facultatif : Pour renommer les composants, double-cliquez dessus.
- Reliez le tFileInputDelimited, le tSortRow et le tUniqRow à l'aide de liens .
- Reliez le tUniqRow et le premier tLogRow à l'aide d'un lien .
- Reliez le tUniqRow et le second tLogRow à l'aide d'un lien .
Configurer les composants
Procédure
Exécuter le Job
Procédure
Dédoublonnage d'entrées en se basant sur le schéma dynamique
Ce composant est disponible dans Talend Data Management Platform, Talend Big Data Platform, Talend Real Time Big Data Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.
Dans cet exemple, vous utilisez un Job similaire à celui décrit dans le scénario précédent pour dédoublonner les données d'entrée de plusieurs familles, de telle manière qu'une seule personne par famille reste sur la liste des noms. Comme tous les composants de ce Job supportent le schéma dynamique, vous pouvez utiliser cette option pour gagner du temps en évitant de configurer chaque colonne des schémas.
Configurer le Job
Procédure
- Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : un tFileInputDelimited, un tExtractDynamicFields, un tUniqRow, un tFileOutputDelimited et un tLogRow. Renommez-les comme ci-dessus pour mieux identifier leur rôle au sein du Job.
- Facultatif : Pour renommer les composants, double-cliquez dessus.
- Reliez le tFileInputDelimited, le tExtractDynamicFields et le tUniqRow à l'aide de liens .
- Reliez le tUniqRow et le premier tLogRow à l'aide d'un lien .
- Reliez le tUniqRow et le second tLogRow à l'aide d'un lien .
Configurer les composants
Procédure
Exécuter le Job
Procédure
Rapprochement flou (Fuzzy matching)
Le rapprochement flou vous permet de déterminer les enregistrements correspondant partiellement.
Composants
tFuzzyMatch
Ce composant 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.
Ce composant n'est pas intégré par défaut à votre Studio Talend. Vous devez l'installer à l'aide du gestionnaire des fonctionnalités. Pour plus d'informations, consultez Installer les fonctionnalités à l'aide du Gestionnaire des fonctionnalités.
Propriétés du tFuzzyMatch Standard
Ces propriétés sont utilisées pour configurer le tFuzzyMatch s'exécutant dans le framework de Jobs Standard.
Le composant tFuzzyMatch Standard appartient à la famille Qualité de données.
Le composant de ce framework est disponible dans tous les produits Talend.
Basic settings
Schema et Edit schema |
Un schéma est une description de lignes, il définit le nombre de champ 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 automatiquement ajoutées au schéma de sortie : Value et Match. |
|
Built-in : le schéma est créé et conservé pour ce composant uniquement. Pour plus d'informations concernant les schémas des composants dans l'onglet Basic settings (Paramètres simples), consultez Onglet Basic settings. |
|
Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans divers projets et Jobs. Pour plus d'informations concernant les schémas des composants dans l'onglet Basic settings (Paramètres simples), consultez Onglet Basic settings. |
Matching type |
Sélectionnez l'algorithme de correspondance approprié parmi les suivants : Levenshtein : cette option se base sur la théorie de la distance d'édition. Elle calcule le nombre d'insertions, suppressions ou substitutions nécessaires pour qu'une entrée corresponde à l'entrée de référence. 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. Les caractères chinois ne sont pas supportés. 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. Les caractères chinois ne sont pas supportés. |
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 à 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 séparateur entre chaque correspondance. |
Advanced settings
tStatCatcher Statistics |
Cochez cette case pour collecter les données de log au niveau des composants. |
Variables globales
Variables globales |
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, 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 Utiliser les contextes et les variables. |
Utilisation
Règle d'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. |
tFuzzyUniqRow
Ce composant compare des colonnes dans le flux d'entrée, en utilisant une méthode de rapprochement définie, et collecte les doublons rencontrés.
Ce composant n'est pas intégré par défaut à votre Studio Talend. Vous devez l'installer à l'aide du gestionnaire des fonctionnalités. Pour plus d'informations, consultez Installer les fonctionnalités à l'aide du Gestionnaire des fonctionnalités.
Propriétés du tFuzzyUniqRow Standard
Ces propriétés sont utilisées pour configurer le tFuzzyUniqRow s'exécutant dans le framework de Jobs Standard.
Le composant tFuzzyUniqRow Standard appartient à la famille Qualité de données.
Ce composant est disponible dans Talend Data Management Platform, Talend Big Data Platform, Talend Real Time Big Data Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.
Basic settings
Schema et Edit schema |
Un schéma est une description de lignes, il définit le nombre de champ qui sont traités et passés au composant suivant. Le schéma est soit local (Built-in), soit distant dans le Repository. |
|
Built-in : le schéma est créé et stocké localement pour ce composant seulement. Pour plus d'informations concernant les schémas des composants dans l'onglet Basic settings (Paramètres simples), consultez Onglet Basic settings. |
|
Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans divers projets et Jobs. Pour plus d'informations concernant les schémas des composants dans l'onglet Basic settings (Paramètres simples), consultez Onglet Basic settings. |
Column (Colonne) |
Liste de toutes les colonnes du flux d'entrée. |
Key attribute |
Cochez les cases à côté des colonnes que vous voulez sélectionnez. |
Matching type |
Sélectionnez l'algorithme de correspondance dans la liste : Exact Match : associe chaque entrée traitée à toutes les entrées possibles de référence qui ont exactement la même valeur. Levenshtein : cette option se base sur la théorie de la distance d'édition. Elle calcule le nombre d'insertions, suppressions ou substitutions nécessaires pour qu'une entrée corresponde à l'entrée de référence. 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. Les caractères chinois ne sont pas supportés. 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. Les caractères chinois ne sont pas supportés. |
Min Distance |
Uniquement pour Levenshtein. Paramétrez le nombre minimal de changements permis afin de correspondre à la référence. Si vous saisissez 0, seules les correspondances parfaites (Exact Match) seront retournées. |
Max Distance |
Uniquement pour Levenshtein. Paramétrez le nombre maximal de changements permis afin de correspondre à la référence. |
Paramètres avancés
tStat Catcher Statistics |
Cochez cette case afin de collecter les données au niveau du composant. |
Variables globales
Variables globales |
NB_UNIQUES : nombre de lignes uniques. Cette variable est une variable After et retourne un entier. NB_DUPLICATES : nombre de lignes en doublon. 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, 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 Utiliser les contextes et les variables. |
Utilisation
Règle d'utilisation |
Ce composant n'est pas un composant de début (fond vert), il nécessite un composant d'entrée, et deux composants de sortie. |
tBlockedFuzzyJoin
Ce composant améliore la qualité des données de toute source, en les à une source de données de référence.
Le tBlockedFuzzyJoin effectue une jointure entre deux tables en faisant un rapprochement flou sur plusieurs colonnes. Il compare les colonnes du flux principal par rapport aux colonnes du flux de référence et écrit en sortie les données correspondantes, les données pouvant correspondre, et les données rejetées.
Propriétés du tBlockedFuzzyJoin Standard
Ces propriétés sont utilisées pour configurer le tBlockedFuzzyJoin s'exécutant dans le framework de Jobs Standard.
Le composant tBlockedFuzzyJoin Standard appartient à la famille Qualité de données.
Ce composant est disponible dans Talend Data Management Platform, Talend Big Data Platform, Talend Real Time Big Data Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.
Basic settings
Schema et Edit Schema |
Un schéma est une description de lignes, il définit le nombre de champ qui sont traités et passés au composant suivant. Le schéma est soit local (Built-in), soit distant dans le Repository. |
|
Built-in : le schéma est créé et stocké localement pour ce composant seulement. Pour plus d'informations concernant les schémas des composants dans l'onglet Basic settings (Paramètres simples), consultez Onglet Basic settings. |
|
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. Pour plus d'informations concernant les schémas des composants dans l'onglet Basic settings (Paramètres simples), consultez Onglet Basic settings. |
Replace output column with lookup column if matches or possible matches |
Cochez cette case pour remplacer la colonne de sortie par la colonne de référence en cas de correspondance ou de valeurs de correspondances possibles. |
Input key attribute |
Sélectionnez la ou les colonne(s) du flux principal devant être vérifiées par rapport à la colonne clé de référence (lookup). |
Lookup key attribute |
Sélectionnez les colonnes clé du flux lookup que vous utiliserez comme référence, c'est-à-dire auxquelles vous souhaitez comparer les colonnes du flux d'entrée. |
Matching type |
Sélectionnez l'algorithme de correspondance dans la liste : Exact Match : cette option associe chaque entrée traitée à toutes les entrées possibles de référence qui ont exactement la même valeur. Levenshtein : cette option se base sur la théorie de la distance d'édition. Elle calcule le nombre d'insertions, suppressions ou substitutions nécessaires pour qu'une entrée corresponde à l'entrée de référence. 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 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. |
Sensible à la casse |
Cochez cette case pour prendre en compte la casse. |
Min. distance |
Uniquement pour Levenshtein. Paramétrez le nombre minimal de changements permis afin de correspondre à la référence. Si vous saisissez 0, seules les correspondances parfaites (Exact Match) seront retournées. Remarque :
Vous pouvez créer et stocker des variables de contexte pour les distances minimale et maximale, et faire en sorte que votre Job fasse une boucle sur ces valeurs, en commençant par la valeur maximale inférieure de correspondance et terminant par la valeur maximale supérieure afin de correspondre au plus grand nombre de lignes possible. Vous pouvez appuyer sur Ctrl+Espace pour accéder à la liste des variables et sélectionner les nouvelles variables de contexte. Pour plus d'informations concernant les variables de contexte, consultez Utiliser les contextes et les variables. |
Max. distance |
Uniquement pour Levenshtein. Paramétrez le nombre maximal de changements permis afin de correspondre à la référence. |
Paramètres avancés
tStat Catcher Statistics |
Cochez cette case afin de collecter les données au niveau du composant. |
Variables globales
Variables globales |
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 Utiliser les contextes et les variables. |
Utilisation
Règle d'utilisation |
Ce composant est déprécié. Vous pouvez utiliser le composant tRecordMatching pour le remplacer. Ce composant n'est pas un composant de début (fond vert). Il requiert deux composants d'entrée et au moins un composant de sortie. |
tFuzzyJoin
Ce composant effectue une jointure de deux tables, en appliquant le rapprochement flou sur plusieurs colonnes. Il compare les colonnes du flux principal et les colonnes de référence du flux de référence (Lookup), puis écrit en sortie les données du flux principal et/ou les données rejetées.
Propriétés du tFuzzyJoin Standard
Ces propriétés sont utilisées pour configurer le tFuzzyJoin s'exécutant dans le framework de Jobs Standard.
Le composant tFuzzyJoin Standard appartient à la famille Qualité de données.
Ce composant est disponible dans Talend Data Management Platform, Talend Big Data Platform, Talend Real Time Big Data Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.
Basic settings
Schema et Edit Schema |
Un schéma est une description de lignes, il définit le nombre de champ qui sont traités et passés au composant suivant. Le schéma est soit local (Built-in), soit distant dans le Repository. |
|
Built-in : le schéma est créé et stocké localement pour ce composant seulement. Pour plus d'informations concernant les schémas des composants dans l'onglet Basic settings (Paramètres simples), consultez Onglet Basic settings. |
|
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. Pour plus d'informations concernant les schémas des composants dans l'onglet Basic settings (Paramètres simples), consultez Onglet Basic settings. |
Include lookup columns in output |
Cochez cette case pour inclure les colonnes de référence (lookup), que vous avez définies, dans le flux de sortie. |
Input key attribute |
Sélectionnez la ou les colonne(s) du flux principal devant être vérifiées par rapport à la colonne clé de référence (lookup). |
Lookup key attribute |
Sélectionnez les colonnes clé du flux lookup que vous utiliserez comme référence, c'est-à-dire auxquelles vous souhaitez comparer les colonnes du flux d'entrée. |
Matching type |
Sélectionnez l'algorithme de correspondance dans la liste : Exact Match : associe chaque entrée traitée à toutes les entrées possibles de référence qui ont exactement la même valeur. Levenshtein : cette option se base sur la théorie de la distance d'édition. Elle calcule le nombre d'insertions, suppressions ou substitutions nécessaires pour qu'une entrée corresponde à l'entrée de référence. 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 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. |
Sensible à la casse |
Cochez cette case pour prendre en compte la casse. |
Min. distance |
Uniquement pour Levenshtein. Paramétrez le nombre minimal de changements permis afin de correspondre à la référence. Si vous saisissez 0, seules les correspondances parfaites (Exact Match) seront retournées. Remarque :
Vous pouvez créer et stocker des variables de contexte pour les distances minimale et maximale, et faire en sorte que votre Job fasse une boucle sur ces valeurs, en commençant par la valeur maximale inférieure de correspondance et terminant par la valeur maximale supérieure afin de correspondre au plus grand nombre de lignes possible. Vous pouvez appuyer sur Ctrl+Espace pour accéder à la liste des variables et sélectionner les nouvelles variables de contexte. Pour plus d'informations concernant les variables de contexte, consultez Utiliser les contextes et les variables. |
Max. distance |
Uniquement pour Levenshtein. Paramétrez le nombre maximal de changements permis afin de correspondre à la référence. |
Inner join (with reject output) |
Cochez cette case pour joindre d'abord les deux tables et ensuite rassembler les données rejetées du flux principal. |
Advanced settings
tStat Catcher Statistics |
Cochez cette case afin de collecter les données au niveau du composant. |
Variables globales
Variables globales |
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 Utiliser les contextes et les variables. |
Utilisation
Règle d'utilisation |
Ce composant est déprécié. Vous pouvez utiliser le composant tRecordMatching pour le remplacer. Ce composant est un composant intermédiaire, il nécessite un composant d'entrée et un composant de sortie. |
Scénarios
Calculer la 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.
Configurer votre Job
Procédure
- Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : deux composants tFixedFlowInput, un tFuzzyMatch et un tLogRow.
- Reliez le premier composant tFixedFlowInput au tFuzzyMatch à l'aide d'un lien Row > Main.
- Reliez le second tFixedFlowInput au tFuzzyMatch à l'aide d'un lien de type Row > Main (qui apparaît comme Lookup dans l'espace de modélisation graphique).
- Reliez le tFuzzyMatch au composant de sortie tLogRow, à l'aide d'un lien Row > Main.
Configurer les composants
Procédure
Exécuter le Job
Procédure
Brad|Los angeles|0|Brad
Jason|New York|0|Jason
Margaret||0|Margaret
Kourtney|Seattle||
Nicole|Saint-Louis|0|Nicole
John|Denver||
Résultats
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 le scénario.
Calcul de la distance de Levenshtein de 1 ou 2 pour les prénoms
Procédure
Résultats
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.
Vérifier la distance métaphonique pour les prénoms
Procédure
Comparaison de quatre colonnes en utilisant différentes méthodes de correspondance et collecte de doublons rencontrés
Ce composant est disponible dans Talend Data Management Platform, Talend Big Data Platform, Talend Real Time Big Data Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.
Ce scénario décrit un Job à quatre composants, dont le but est de collecter dans deux fichiers séparés toutes les entrées uniques et tous les doublons d'entrées depuis des colonnes traitées définies, à partir des types de correspondance Levenshtein et Double Métaphone.
Le fichier d'entrée dans cet exemple ressemble à ceci :
ID;Status;FirstName;Email;City;Initial;ZipCode
1;married;Paul;pnewman@comp.com;New York;P.N.;55677
2;single;Raul;rnewman@comp.com;New Ork;R.N.;55677
3;single;Mary;mnewman@comp.com;Chicago;M.N;66898
Configurer le Job
Procédure
Configurer les composants
Procédure
Exécuter le Job
Procédure
Résultats
Le tFuzzyUniqRow utilise la méthode de Levenshtein pour comparer séparément chacune des trois colonnes définies, il utilise la méthode du Double Metaphone, afin de comparer les données de la colonne City, puis passer la ligne unique et les doublons aux fichiers de sortie définis. Dans notre exemple, les deux premières lignes correspondent, cependant, la deuxième ligne ira dans la sortie duplicates.
La colonne FID générée fournit un identifiant de référence de l'enregistrement original auquel se réfère l'enregistrement actuel.
La troisième ligne est unique et ira dans la sortie uniques.
La colonne UID générée contient les identifiants générés pour l'enregistrement principal.
Correspondance floue entre deux colonnes et écriture en sortie des valeurs de correspondance, de correspondance possible et de non correspondance
Ce composant est disponible dans Talend Data Management Platform, Talend Big Data Platform, Talend Real Time Big Data Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.
Ce scénario Java décrit un Job comprenant six composants, ayant pour but de :
-
faire correspondre chaque numéro de groupe de la colonne grp aux entrées ayant exactement les mêmes valeurs dans le fichier d'entrée de référence,
-
vérifier la distance d'édition entre les entrées de la colonne firstname d'un fichier d'entrée et du fichier d'entrée de référence.
Les sorties de ces deux types de correspondances sont écrites dans trois fichiers de sortie : le premier pour les valeurs de correspondance, le deuxième pour les valeurs de correspondance possible, et le troisième pour les valeurs n'ayant aucune correspondance dans le fichier de référence.
Dans ce scénario, vous avez déjà stocké les schémas principaux et de référence dans le Repository. Pour plus d'informations concernant le stockage des schémas de métadonnées dans la vue Repository, consultez Gestion des métadonnées dans le Studio.
Le fichier d'entrée contient quatre colonnes : grp, gender, firstname et count. Les données dans ce fichier d'entrée sont parfois en doublons, contiennent des noms écrits différemment, ou mal orthographiés, ou différentes informations sur un même client.
Configurer le Job
Configurer les composants d'entrée
Procédure
La capture d'écran ci-dessous montre les propriétés du fichier d'entrée principal.
La capture d'écran ci-dessous montre les propriétés du fichier d'entrée de référence.