Scénario 1 : Grouper les données de sortie dans des flux séparés, selon la distance minimale calculée dans chaque enregistrement - 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 scénario décrit un Job simple comparant des colonnes dans le fichier d'entrée à l'aide de la méthode de Jaro-Winkler, sur les colonnes lname et fname, ainsi qu'à l'aide de la méthode de correspondance de q-grams sur la colonne address1. Le Job regroupe ensuite les enregistrements de sortie dans trois flux de sortie :

  • Uniques : liste les enregistrements dont le score du groupe (distance minimale calculée dans l'enregistrement) est égal à 1.

  • Matches : liste les enregistrements dont le score du groupe (distance minimale calculée dans l'enregistrement) est supérieur au seuil défini dans le champ Confidence threshold.

  • Suspects : liste les enregistrements dont le score du groupe (distance minimale calculée dans l'enregistrement) est inférieur au seuil défini dans le champ Confidence threshold.

Pour un autre scénario regroupant les enregistrements de sortie dans un flux de sortie unique, consultez Scénario 2 : Comparer les colonnes et regrouper dans le flux de sortie les enregistrements en doublon ayant la même clé fonctionnelle.

Configurer le Job

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

  2. Reliez le tFileInputExcel au tMatchGroup à l'aide d'un lien Row > Main.

  3. Reliez le tMatchGroup aux trois tLogRow à l'aide de liens Unique rows, Confident groups et Uncertain groups.

    Avertissement

    Pour configurer différents flux de sortie pour les enregistrements traités, vous devez d'abord cocher la case Separate output dans la vue Advanced settings du composant tMatchGroup. Pour plus d'informations, consultez la section concernant la configuration du tMatchGroup.

Configurer le composant d'entrée

Le fichier d'entrée principal contient huit colonnes : account_num, lname, fname, mi, address1, city, state_province et postal_code. Les données dans ce fichier d'entrée contiennent des inexactitudes, comme des doublons, des noms écrits de manières différentes ou mal orthographiés, des informations différentes pour un même client.

Vous pouvez créer le fichier d'entrée utilisé dans ce scénario si vous exécutez les Jobs c0 et c1 du projet Démo de qualité de données, TDQEEDEMOJAVA, que vous pouvez importer depuis la fenêtre de login de votre Studio Talend. Pour plus d'informations, consultez le Guide utilisateur du Studio Talend.

  1. Dans la vue Basic settings du tFileInputExcel, renseignez le champ File Name en parcourant votre système jusqu'au fichier d'entrée. Paramétrez les autres propriétés si les informations ne sont pas stockées dans le Repository.

  2. Créez le schéma en cliquant sur le bouton Edit Schema, s'il n'est pas déjà stocké dans le Repository. Pensez à configurer le type de données dans la colonne Type.

Configurer le composant tMatchGroup

  1. Double-cliquez sur le tMatchGroup pour afficher sa vue Basic settings.

  2. Cliquez sur le bouton Sync columns afin de récupérer le schéma du composant précédent.

  3. Cliquez sur le bouton Edit schema pour visualiser le schéma d'entrée ainsi que le schéma de sortie et effectuer les modifications nécessaires dans le schéma de sortie.

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

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

  5. Cliquez sur Preview pour ouvrir l'assistant de configuration et définir la ou les règle(s) de mise en correspondance, ainsi que la configuration du composant.

    Vous pouvez utiliser l'assistant de configuration pour importer des règles de mise en correspondance créées et testées dans le studio puis stockées dans le référentiel, afin de les utiliser dans vos Jobs de mise en correspondance. Pour plus d'informations, consultez Importer des règles de mise en correspondance depuis le référentiel du studio.

  6. Définissez la première règle de correspondance comme suit :

    • Dans la table Key definition, cliquez sur le bouton [+] pour ajouter à la liste la (les) colonne(s) sur laquelle (lesquelles) appliquer l'opération de correspondance, lname et fname dans ce scénario.

      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.

    • Cliquez dans la cellule de la colonne Matching type et sélectionnez dans la liste la (les) méthode(s) à utiliser pour l'opération de mise en correspondance, Jaro-Winkler dans cet exemple.

      Si vous sélectionnez custom comme type de correspondance, vous devez saisir, dans la colonne Custom Matcher Class, le chemin d'accès pointant vers 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).

    • Cliquez dans la cellule de la colonne Confidence Weight afin de configurer les paramètres avancés de la colonne, ainsi que les poids numériques des trois colonnes utilisées comme attributs de clés.

    • Cliquez dans la cellule de la colonne Handle Null et sélectionnez l'opérateur à utiliser pour gérer les attributs null dans les colonnes. Dans cet exemple, sélectionnez Null Match None afin d'avoir un impact minimal des valeurs nulles dans les résultats de correspondance.

    • Configurez la probabilité de correspondance dans le champ Match Interval.

  7. Suivez la même procédure que celle détaillée ci-dessus afin de définir la deuxième règle de mise en correspondance.

    Définissez la colonne address1 comme attribut d'entrée et sélectionnez le type de correspondance Jaro. Sélectionnez l'opérateur de valeurs nulles Null Match None. Enfin, définissez la probabilité de correspondance. Cette dernière peut être différente de celle définie dans la première règle de mise en correspondance.

  8. Définissez le paramètre Hide groups less than afin de décider des groupes que vous souhaitez afficher dans le graphique de résultats et dans la table des correspondances. Ce paramètre vous permet de masquer les groupes de petite taille.

  9. Cliquez sur l'onglet Advanced settings et configurez les paramètres avancés du tMatchGroup comme suit :

    • Cochez la case Separate output.

      Le composant crée trois flux de sortie séparés : Unique rows, Confident groups et Uncertain groups.

      Si la case n'est pas cochée, le composant tMatchGroup n'a qu'un flux de sortie regroupant toutes les données de sortie. Pour un scénario d'exemple, consultez Scénario 2 : Comparer les colonnes et regrouper dans le flux de sortie les enregistrements en doublon ayant la même clé fonctionnelle.

    • Cochez la case Sort the output data by GID afin de classer les données de sortie selon l'identifiant de leur groupe.

    • Cochez les cases Output distance details et Display detailed labels.

      Le composant écrit en sortie la colonne MATCHING_DISTANCES. Cette colonne donne la distance entre les colonnes d'entrée et la colonne maître de chaque groupe. Elle donne également le nom des colonnes mises en correspondance avec les enregistrements, selon la règle appliquée.

  10. Dans l'assistant, cliquez sur le bouton Chart afin d'exécuter le Job dans la configuration définie. Les résultats de la correspondance s'affichent directement dans l'assistant.

    Le graphique des correspondances donne une image globale des doublons présents dans les données analysées. La table des correspondances donne les détails des éléments de chaque groupe et les colore selon leur couleur dans le graphique des correspondances.

    Le Job effectue une opération de mise en correspondance de type OR. Il évalue les enregistrements de données par rapport à la première règle et les enregistrements qui correspondent à celle-ci ne sont pas évalués par rapport aux autres règles. La colonne MATCHING_DISTANCES vous permet de voir la règle qui a été utilisée sur chaque enregistrement. Par exemple, dans le groupe jaune, l'élément Amole Sarah a été évalué par rapport à la deuxième règle en utilisant address1 comme attribut clé. Les autres enregistrements, en revanche, ont été évalués par rapport à la première règle en utilisant lname et fname comme attributs clé.

    Vous pouvez configurer le paramètre Hide groups less than afin de définir les groupes à afficher dans le graphique et la table des correspondances.

Finaliser et exécuter le Job

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

  2. Sauvegarder votre Job et appuyez sur F6 pour l'exécuter.

    Vous pouvez constater que les enregistrements sont regroupés dans trois groupes différents. Chaque enregistrement est listé dans un des trois groupes, selon la valeur du score de groupe, représentant la distance minimale calculée dans le groupe.

    L'identifiant de chaque groupe, de type String, s'affiche dans la colonnes GID à côté de l'enregistrement correspondant. L'identifiant est de type Long pour les Jobs migrés depuis d'anciennes versions. Si vous souhaitez avoir un identifiant de groupe de type String, remplacez le composant tMatchGroup dans le Job importé par un tMatchGroup de la Palette. Le nombre d'enregistrements dans chacun des trois blocs de sortie est listé dans la colonne GRP_SIZE et calculé uniquement sur l'enregistrement maître. La colonne MASTER indique par true ou false si l'enregistrement correspondant est l'enregistrement maître ou non. La colonne SCORE liste la distance calculée entre l'enregistrement d'entrée et l'enregistrement maître, selon les algorithmes de correspondance Jaro-Winkler et Jaro.

    Le Job évalue les enregistrements par rapport à la première règle et les enregistrements qui correspondent à celle-ci ne sont pas évalués par rapport à la seconde règle.

    Tous les enregistrements dont le score de groupe est compris entre l'intervalle de correspondance 0.95 ou, selon la règle appliquée, 0.85, et le seuil de confiance Confidence Threshold défini dans la vue Advanced settings du tMatchGroup sont listés dans le flux de sortie Suspects.

    Tous les enregistrements dont le score de groupe est supérieur à l'une des probabilités de correspondance sont listés dans le flux de sortie Matches.

    Tous les enregistrements dont la taille du groupe est égale à 1 sont listés dans le flux de sortie Uniques.

Pour un autre scénario regroupant les enregistrements de sortie en un flux de sortie unique, basé sur une clé fonctionnelle générée, consultez Scénario 2 : Comparer les colonnes et regrouper dans le flux de sortie les enregistrements en doublon ayant la même clé fonctionnelle.