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

L'algorithme T-Swoosh

Ce scénario décrit un Job simple comparant des colonnes dans le fichier d'entrée à l'aide de la méthode de rapprochement de Jaro-Winkler sur les colonnes lname and fname. Il groupe ensuite les enregistrements de sortie dans des flux de sortie :
  • Uniques : liste les enregistrements dont la taille du groupe (distance minimale calculée dans l'enregistrement) est égale à 1.

  • Matches : liste les enregistrements dont la qualité du groupe est supérieure ou égale au seuil défini dans le champ Confident match threshold.

  • Suspects : liste les enregistrements dont la qualité du groupe est inférieure au seuil défini dans le champ Confident match threshold.

La qualité du groupe est la distance minimale calculée parmi toutes les paires d'enregistrements du groupe.

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 InformationsAvertissement : Comme le composant Apache Spark Batch ne supporte pas l'algorithme T-Swoosh, ce scénario utilise le composant Standard.

Configurer votre Job

Procédure

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : un tFixedFlowInput, un tMatchGroup et trois tLogRow.
  2. Reliez le tFixedFlowInput au tMatchGroup à l'aide d'un lien Row > Main.
  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 tFixedFlowInput, tMatchGroup et tLogRow.

Configurer le composant d'entrée

Pourquoi et quand exécuter cette tâche

Les données d'entrée contiennent sept colonnes : lname, fname, middle_name, address, city, state_province et postal_code. Les données dans ce fichier d'entrée contiennent des problèmes, comme des doublons, des noms écrits de manières différentes ou mal orthographiés, des informations différentes pour un même client.

Procédure

  1. Double-cliquez sur le composant tFixedFlowInput pour afficher sa vue Basic settings.
  2. Sélectionnez Built-in et cliquez sur le bouton […] à côté de Edit Schema.
  3. Définissez les sept colonnes et cliquez sur OK.
  4. Sélectionnez Use Inline Content(delimited file).
  5. Renseignez les champs Row Separator et Field Separator.
  6. Saisissez les données d'entrée dans le champ Content.

Configurer le composant tMatchGroup

Procédure

  1. Cliquez sur le composant tMatchGroup pour afficher sa vue Basic settings.
  2. Dans la liste Matching Algorithm, sélectionnez T-Swoosh.
  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.
    Dans le schéma de sortie de ce composant, des colonnes standards de sortie sont 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. Clique sur l'onglet Advanced settings et cochez les cases suivantes :
    1. Separate output

      Le composant aura trois flux de sortie séparés : Uniques, Matches et Suspects.

      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.

    2. Sort the output data by GID
    3. Détails de la distance de sortie
    4. Afficher les libellés détaillés
    5. Désactiver le calcul du rapprochement lors de l'ouverture de l'assistant
  7. Cliquez sur le bouton […] près de Configure match rules afin de définir la configuration du composant et les règles de rapprochement.
    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 le même type de règle sélectionné dans les paramètres simples du composant. Sinon, le Job s'exécute avec les valeurs par défaut pour les paramètres qui ne sont pas compatibles avec les deux algorithmes.
  8. Définissez la règle de rapprochement comme suit :
    1. 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 rapprochement, lname et fname.
      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.

    2. 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).

    3. Dans la liste Tokenized measure, sélectionnez No.
    4. Cliquez dans la cellule de la colonne Threshold, saisissez 0.7 pour fname et 0.4 pour lname.
    5. Cliquez dans la cellule de la colonne Confidence Weight afin de configurer les poids numériques des deux colonnes utilisées comme attributs de clés : 1 pour fname et 4 pour lname.
    6. 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 rapprochement.
    7. Sélectionnez Most common dans la colonne Survivorship Function.
  9. Suivez la même procédure que celle détaillée ci-dessus afin de définir la deuxième règle de rapprochement et configurez les paramètres comme suit :
    1. Cliquez sur le bouton [+] (Duplicate Rule).
    2. Input Key Attribute : address
    3. Matching Function : Jaro
    4. Tokenized Measure : No
    5. Threshold : 0.8
    6. Confidence Weight : 1
    7. Handle Null : Null Match NONE
    8. Survivorship Function : Most common
  10. Configurez le paramètre Match Threshold de chaque Match Rule à 0.8.
  11. Configurez le paramètre Hide groups of less than à 2. Ce paramètre vous permet de masquer des groupes de petite taille.
  12. 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 par rapport à la règle. La colonne MATCHING_DISTANCES vous permet de voir la règle qui a été utilisée sur chaque enregistrement. 

     Par exemple, dans le second groupe de données (brique rouge), le dernier enregistrement Amic est mis en correspondance par rapport à la seconde règle, en utilisant address1 comme attribut de clé. Les autres enregistrements du groupe, en revanche, ont mis en correspondance par rapport à la première règle utilisant lname et fname comme attributs de clés.

    Comme vous pouvez le constater, la valeur de la colonne GRP_QUALITY peut être inférieure à la valeur du paramètre Match Threshold. Cela est possible car un groupe est créé à partir de paires d'enregistrements avec un score de rapprochement supérieur ou égal à la valeur de Match Threshold, mais les enregistrements ne sont pas tous comparés les uns aux autres, tandis que GRP_QUALITY prend en compte toutes les paires d'enregsitrements dans le groupe.

Finaliser et exécuter le Job

Procédure

  1. Double-cliquez sur chaque tLogRow pour afficher la vue Basic settings.
  2. Sélectionnez l'option Table (print values in cells of a table).
  3. 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 du type de données 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.