Accéder au contenu principal Passer au contenu complémentaire

Algorithme Simple VSR

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. Il groupe ensuite les enregistrements de sortie dans des 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 ou égal au seuil défini dans le champ Confident match 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 Confident match threshold.

Ce scénario s'applique uniquement à Talend Data Management Platform, Talend Big Data Platform, Talend Real-Time Big Data Platform, Talend MDM Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.

Note InformationsRemarque : Ce scénario a été effectué avec le composant Standard mais vous pouvez utiliser le composant Apache Spark Batch.

Configurer votre Job

Procédure

  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 Main > Row.
    Note InformationsConseil : Si vous utilisez le framework de Jobs Spark Batch, remplacez le tFileInputExcel par le tFileInputDelimited.
  3. Cliquez sur le composant tMatchGroup et cochez la case Separate output dans la vue Advanced settings.
  4. Reliez le tMatchGroup aux trois tLogRow à l'aide de liens Uniques, Matches et Suspects.
    Job utilisant les composants tFileInputExcel, tMatchGroup et tLogRow.

Configurer le composant d'entrée

Pourquoi et quand exécuter cette tâche

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. Échantillon des données d'entrée.

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 Importer un projet démo en tant que nouveau projet.

Procédure

  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.
    Configuration du composant tFileInputExcel.
  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.
    Schéma du composant tFileInputExcel.

Configurer le composant tMatchGroup

Procédure

  1. Double-cliquez sur le tMatchGroup pour afficher sa vue Basic settings et définir ses propriétés.
  2. Dans la liste Matching Algorithm, sélectionnez Simple VSR.
    Dans ce scénario, la règle de rapprochement utilise l'algorithme VSR.
  3. Cliquez sur le bouton Sync columns pour récupérer le schéma du composant précédent.
  4. Cliquez sur le bouton près du champ Edit schema pour voir les schémas d'entrée et de sortie et effectuer des modifications dans le schéma de sortie, si nécessaire.
    Exemple de schémas d'entrée et de sortie.
    Dans le schéma de sortie de ce composant, vous pouvez voir des colonnes standard en lecture seule. Pour plus d'informations, consultez Propriétés du tMatchGroup Standard.
  5. Cliquez sur OK pour fermer cette boîte de dialogue.
  6. Cliquez sur le bouton […] près de Configure match rules pour ouvrir l'assistant de configuration et configurez le composant et les règles de rapprochement.
    Configuration du composant tMatchGroup.
    Vous pouvez également utiliser l'assistant de configuration pour importer les règles de rapprochement créées et testées dans le Studio Talend, et stockées dans le référentiel, afin de les utiliser dans vos Jobs de rapprochement. Pour plus d'informations, consultez Importing match rules from the repository.
    Il est important d'importer ou de définir dans les propriétés simples du composant le même type de règle, sinon, le Job s'exécute avec les valeurs par défaut des paramètres n'étant pas compatibles avec le deux algorithmes.
  7. 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 InformationsRemarque : Lorsque vous sélectionnez une colonne de dates sur laquelle appliquer un algorithme ou un algorithme de rapprochement, vous pouvez choisir ce que vous souhaitez comparer dans le format de date.

      Par exemple, si vous souhaitez comparer uniquement l'année, attribuez le type Date à la colonne concernée dans le schéma du composant puis saisissez "yyyy" dans le champ Date Pattern. Le composant convertit le format de date en une chaîne de caractères, selon le modèle défini dans le schéma, avant de comparer les chaînes de caractères.

    • Cliquez dans la colonne Matching Function 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, 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).

    • dans la liste Tokenized measure, choisissez de ne pas utiliser une mesure segmentée pour les algorithmes sélectionnés.

    • cliquez dans la cellule de la colonne 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.

  8. 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.
  9. Configurez le paramètre Hide groups of less than afin de décider des groupes à afficher dans le diagramme des résultats et dans la table de rapprochement. Ce paramètre vous permet de masquer des groupes de petite taille.
  10. Cliquez sur l'onglet Advanced settings et configurez les paramètres avancés du tMatchGroup comme suit :
    Vue Advanced settings (Paramètres avancés) du composant tMatchGroup.
    • 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 Comparer les colonnes et regrouper dans le flux de sortie les enregistrements en doublon ayant la même clé fonctionnelle dans la section Identification.

    • 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. Elle donne également le nom des colonnes mises en correspondance avec les enregistrements.

    • Cochez la case Deactivate matching computation when opening the wizard si vous ne souhaitez pas exécuter les règles de rapprochement lors de la prochaine ouverture de l'assistant.

  11. 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.
    Vues des diagrammes et tableaux dans le tMatchGroup.
    Le diagramme de rapprochement donne une vue globale des doublons 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 à la seconde règle. La colonne MATCHING_DISTANCES vous permet de voir la règle qui a été utilisée sur chaque enregistrement. Certains enregistrements sont rapprochés selon la seconde règle utilisant address1 comme attribut de clé et les autres enregistrements du groupe sont rapprochés selon la première règle utilisant les attributs de clés lname and fname.
    Vous pouvez configurer le paramètre Hide groups less than (Masquer les groupes de moins de) afin de définir les groupes à afficher dans le graphique et la table des correspondances.

Finaliser et exécuter le Job

Procédure

  1. Double-cliquez sur chaque composant tLogRow pour afficher sa vue Basic settings et définir ses propriétés.
  2. Sauvegardez votre Job et appuyez sur F6 pour l'exécuter.

Résultats

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 du Studio Talend.

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 un 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 dans l'intervalle de correspondance, 0.95 ou 0.85 selon la règle appliquée et le seuil de confiance défini dans les paramètres avancés du tMatchGroup sont listés dans le flux de sortie Suspects.

Résultats des enregistrements 'suspects'.

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

Résultats des enregistrements 'matches'.

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

Résultats des enregistrements 'uniques'.

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

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.