Scénario 2 : Comparer les colonnes et regrouper dans le flux de sortie les enregistrements en doublon ayant la même clé fonctionnelle - 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

Ce second scénario décrit un Job dont le but est de :

  • générer une clé fonctionnelle utilisant un algorithme sur l'une des colonnes d'entrée, DoB ;

  • mettre en correspondance les deux colonnes d'entrée à l'aide de l'algorithme Jaro-Winkler.

  • regrouper les colonnes de sortie via la clé fonctionnelle générée afin d'optimiser l'opération de mise en correspondance et comparer uniquement les enregistrements ayant la même valeur de bloc, la clé fonctionnelle dans ce scénario. Pour plus d'informations concernant le regroupement des colonnes de sortie et l'utilisation des valeurs de bloc, consultez tMatchGroup.

Construire le Job

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : un tRowGenerator, un tGenKey et un tMatchGroup.

  2. Connectez les composants les uns aux autres à l'aide de liens Row > Main.

Configurer les données d'entrée

  1. Double-cliquez sur le tRowGenerator afin de définir son schéma comme suit :

    Le composant tRowGenerator génèrera un flux de données d'entrée comprenant trois colonnes : Firstname, Lastname, et DoB (date de naissance). Ces données peuvent contenir des problèmes, comme des doublons, des prénoms ou des noms écrits différemment ou mal orthographiés, des informations différentes sur un même client, etc.

  2. Cliquez sur OK pour valider les paramètres et fermer la boîte de dialogue. Acceptez la propagation des modifications lorsque cela vous est proposé.

Configurer la génération de clé

  1. Double-cliquez sur le tGenKey pour afficher sa vue Basic settings et définir ses propriétés.

    Cliquez sur le bouton pour importez les clés de bloc à partir des règles de mise en correspondance créées avec l'algorithme VSR et testées dans la perspective Profiling du Studio Talend et les utiliser dans votre Job. Sinon, vous pouvez également configurer les paramètres des clés de bloc comme décrit dans les étapes ci-dessous.

  2. Sous le tableau Algorithm, cliquez sur le bouton [+] afin d'ajouter une ligne.

  3. Dans la colonne column, cliquez sur la nouvelle ligne et sélectionnez dans la liste la colonne sur laquelle vous souhaitez appliquer l'algorithme. Dans cet exemple, sélectionnez DoB.

  4. Dans la colonne algorithm, cliquez sur la nouvelle ligne et sélectionnez dans la liste l'algorithme que vous souhaitez appliquer à la colonne correspondante. Dans cet exemple, sélectionnez substring(a,b).

  5. Cliquez sur la colonne value et saisissez la valeur de l'algorithme sélectionné, si besoin. Dans ce scénario, saisissez 6,10.

    Note

    L'algorithme substring(a,b) permet d'extraire les caractères d'une chaîne situés entre deux indices, et de retourner la nouvelle sous-chaîne. Le premier caractère est numéroté 0. Dans ce scénario, pour une date de naissance "21-01-1995", la valeur 6,10 retourne uniquement l'année de naissance, soit "1995" qui correspond à la sous-chaîne du 7ème au 10ème caractère.

    Dans cet exemple, générez une clé fonctionnelle contenant les quatre derniers caractères, correspondant à l'année dans la date de naissance (DoB), pour chaque ligne de données, et ne définissez aucune option supplémentaire pour ces colonnes.

    Note

    Vous pouvez cocher la case Show help afin d'afficher les instructions concernant la définition des paramètres des algorithmes et des options.

    Après avoir paramétré le composant tGenKey, vous pouvez afficher une vue statistique de ces paramètres. Pour ce faire :

  6. Cliquez-droit sur le composant tGenKey et sélectionnez View Key Profile dans le menu contextuel.

    L'éditeur View Key Profile s'affiche et vous permet de visualiser les statistiques du nombre de blocs et d'adapter les paramètres selon le résultat que vous souhaitez obtenir.

    Note

    Lors du traitement de données volumineuses et lorsque ce composant est utilisé pour partitionner les données afin de les utiliser dans un composant de mise en correspondance (tRecordMatching ou tMatchGroup par exemple), il est préférable d'avoir un nombre restreint de lignes par blocs. La configuration est considérée comme optimale autour de 50 lignes par blocs, mais cela dépend du nombre de champs à comparer, du nombre total de lignes et du temps considéré comme acceptable pour le traitement des données.

    Depuis l'éditeur de, vous pouvez :

    • éditer la limite (Limit) du nombre de lignes utilisées pour calculer les statistiques ;

    • cliquer sur l'icône et importer les clés de bloc depuis le référentiel du studio et les utiliser dans votre Job ;

    • modifier la colonne d'entrée que vous souhaitez traiter à l'aide d'un algorithme ;

    • modifier les paramètres de l'algorithme à appliquer aux colonnes d'entrée.

    Note

    Pour chaque modification effectuée, vous pouvez visualiser ses implications en cliquant sur le bouton Refresh situé en haut à droite de l'éditeur.

  7. Cliquez sur OK pour fermer l'éditeur View Key Profile.

Configurer le groupement des données de sortie

  1. Double-cliquez sur le composant tMatchGroup pour afficher sa vue Basic settings et définir ses propriétés. Cliquez sur le bouton Edit schema afin de voir les colonnes d'entrée et de sortie et d'effectuer des modifications dans le schéma de sortie, si nécessaire.

    Dans le schéma de sortie de ce composant, des colonnes standard de sortie sont en lecture seule. Pour plus d'informations, consultez Propriétés du tMatchGroup.

  2. Cliquez sur OK pour fermer la boîte de dialogue.

  3. Double-cliquez sur le composant tMatchGroup pour afficher l'assistant [Configuration Wizard] et configurer les propriétés du composant.

    Note

    Si vous souhaitez ajouter une colonne de sortie fixe, MATCHING_DISTANCES, donnant les détails de la distance entre chaque colonne, cliquez sur l'onglet Advanced settings et cochez la case Output distance details. Pour plus d'informations, consultez Propriétés du tMatchGroup.

  4. Dans la table Key definition, cliquez sur le bouton [+] pour ajouter à la liste les colonnes sur lesquelles effectuer l'opération de mise en correspondance, FirstName et LastName, dans ce scénario.

  5. Cliquez sur la première et la deuxième cellules de la colonne Matching Function et sélectionnez dans la liste l'algorithme (les algorithmes) à utiliser pour effectuer la mise en correspondance, Jaro-Winkler dans cet exemple.

  6. Cliquez sur la première et la deuxième cellules de la colonne Weight et définissez les poids numériques pour chacune des colonnes utilisées comme attributs de clés.

  7. Dans le champ Match threshold, saisissez le seuil de probabilité. Deux enregistrements de données correspondent lorsque le seuil de probabilité est supérieur à cette valeur.

  8. Cliquez sur le bouton [+] sous le tableau Blocking Selection afin d'ajouter une ligne, puis cliquez sur cette ligne et sélectionnez dans la liste la colonne que vous souhaitez utiliser comme une valeur de bloc, T_GEN_KEY dans cet exemple.

    Utiliser une valeur de bloc réduit le nombre de paires d'enregistrements à examiner. Les données d'entrée sont partitionnées en blocs exhaustifs basés sur la clé fonctionnelle. Cela permet de diminuer le nombre de paires à comparer, puisque la comparaison est limitée aux paires d'enregistrements dans chaque bloc.

  9. Cliquez sur le bouton Chart dans le coin supérieur droit de l'assistant afin d'exécuter le Job avec la configuration définie et voir directement les résultats de correspondance dans l'assistant.

    Le diagramme de correspondances montre une vue d'ensemble des doublons dans les données analysées. La table des correspondances indique les détails des éléments de chaque groupe et colore les groupes selon leur couleur dans le diagramme.

Configurer l'écriture en sortie

  1. Double-cliquez sur le composant tLogRow afin d'afficher sa vue Basic settings et définir ses propriétés.

  2. Dans la zone Mode, sélectionnez l'option Table pour afficher les résultats d'exécution du Job sous forme de tableau.

Exécuter le Job

  • Sauvegardez votre Job et appuyez sur F6 pour l'exécuter.

    Les colonnes de sortie incluent la colonne T_GEN_KEY contenant la clé fonctionnelle générée par le composant tGenKey. Vous pouvez constater que tous les enregistrements ayant la même clé fonctionnelle sont regroupés en groupes de blocs différents. Tous les enregistrements ayant la même clé fonctionnelle sont partitionnés en groupes de blocs. L'identifiant de chaque groupe est affiché dans la colonne GID à côté de l'enregistrement correspondant. Le nombre d'enregistrements dans chacun des blocs de sortie est listé dans la colonne GRP_SIZE et calculé uniquement sur l'enregistrement maître. La colonne MASTER indique par true/false si l'enregistrement correspondant est un enregistrement maître ou non. La colonne SCORE affiche la distance calculée entre l'enregistrement d'entrée et l'enregistrement maître selon l'algorithme de correspondance Jaro-Winkler.

    Pour un exemple sur la création de partitions de données basées sur différentes clés de bloc, ainsi que sur leur utilisation avec plusieurs composants tMatchGroup, consultez tMatchGroup.