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

Générer des données en doublon d'un flux d'entrée

Ce scénario décrit un Job simple générant un échantillon de données en doublon d'un flux d'entrée à l'aide des théories des probabilités et des critères spécifiés sur trois colonnes : Name, City et DOB (date of birth).

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.

Ce scénario utilise :
  • un tFileInputDelimited comme composant d'entrée,
  • un tDuplicateRow pour générer des données en doublon d'un flux d'entrée,
  • un tFileOutputDelimited pour écrire en sortie les données dans un fichier délimité.
Job utilisant les composants tFileInputDelimited, tDuplicateRow et tFileOutputDelimited.

Voici une capture d'écran des données d'exemple du flux d'entrée :

Exemple de l'échantillon de données.

Configurer votre Job

Procédure

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : un tFileInputDelimited, un tDuplicateRow et un tFileOutputDelimited.
  2. Reliez les composants à l'aide d'un lien Row > Main.

Configurer les données d'entrée

Procédure

  1. Double-cliquez sur le tFileInputDelimited afin d'ouvrir sa vue Basic settings et définir ses propriétés.
    Configuration du composant tFileInputDelimited.
  2. Dans le champ File name/Stream, parcourez votre système jusqu'au fichier à utiliser en tant que flux d'entrée principal.
    Ce fichier contient des informations sur des clients.
  3. Au besoin, saisissez le séparateur de lignes et le séparateur de champs. Renseignez également l'en-tête et le pied de page, si nécessaire.
  4. Cliquez sur le bouton [...] à côté du champ Edit schema afin d'ouvrir une boîte de dialogue et définissez le schéma d'entrée.
    Selon la structure du fichier d'entrée, le schéma se compose de dix colonnes.
    Schéma du composant tFileInputDelimited.
  5. Cliquez sur le bouton [+] et définissez les colonnes d'entrée dans la boîte de dialogue comme illustré précédemment. Cliquez sur OK pour fermer la boîte de dialogue.
  6. Si nécessaire, cliquez-droit sur le tFileInputDelimited et sélectionnez Data Viewer afin d'afficher une vue des données d'entrée.

Configurer les données dupliquées

Procédure

  1. Double-cliquez sur le tDuplicateRow pour afficher sa vue Basic settings et définir ses propriétés.
    Configuration du composant tDuplicateRow.
  2. Cliquez sur le bouton Edit schema afin d'afficher les colonnes d'entrée et de sortie et, si nécessaire, modifiez le schéma de sortie.
    Exemples de schémas d'entrée et de sortie.
    Le schéma de sortie de ce composant contient une colonne en lecture seule, ORIGINAL_MARK. Cette colonne indique, par true ou false, si l'enregistrement est un enregistrement original ou un doublon. Il y a un seul enregistrement original par groupe de doublons.
  3. Dans le champ Percentage of duplicated records, saisissez le pourcentage de lignes dupliquées que vous souhaitez avoir dans le flux de sortie.
  4. Dans la zone Distribution of duplicates, sélectionnez la distribution Bernoulli distribution (théorie des probabilités) que vous souhaitez utiliser pour générer des doublons.
  5. Configurez une moyenne du nombre d'enregistrements en doublon que vous souhaitez obtenir dans chaque groupe.
  6. Cliquez quatre fois sur le bouton [+] sous la table Modifications pour ajouter quatre lignes à la table.
    Cette table vous permet de définir les valeurs à modifier dans une colonne donnée et de les modifier afin de générer des doublons :
    1. Dans la colonne Input Column, sélectionnez la colonne du flux d'entrée à partir de laquelle vous souhaitez générer les doublons, Name, City et DOB dans cet exemple.
      Lorsque vous ajoutez une même colonne deux fois dans la table et que vous sélectionnez différentes fonctions, vous générez des doublons du même champ avec différentes valeurs. Par exemple, dans ce scénario, modifiez les noms en doublon à l'aide de la fonction Soundex replace, avec une probabilité de 50 %, puis modifiez-les à nouveau à l'aide de la fonction Exchange characters avec une probabilité de 50 %. Cela signifie que le champ Name de l'enregistrement en doublon peut n'avoir pas été modifié après la seconde fonction avec la probabilité suivante : (1-0.5)*(1-0.5) = 0.25.
      Si vous souhaitez vous assurer que tous les enregistrements en doublon sont modifiés, saisissez 1 dans la colonne Modification Rate.
    2. Dans la colonne Modification Rate, saisissez une probabilité pour les enregistrements en doublon que vous souhaitez générer depuis la colonne d'entrée.
    3. Dans la liste Function, sélectionnez la fonction décidant des modifications à apporter à une valeur afin de la dupliquer.
      Dans cet exemple, il y a des noms dupliqués ayant des sons et caractères différents et des noms de villes ayant des sons différents. Les valeurs des dates dans la colonne des dates de naissance sont modifiées au hasard.
    4. Dans la colonne Max Modification Count, saisissez un nombre maximal de valeurs à modifier dans chaque champ.
  7. Cliquez sur l'onglet Advanced settings et saisissez un nombre (graine aléatoire) dans le champ Seed for random generator .
    En saisissant un nombre dans ce champ, vous générez l'échantillon de données dupliquées pour chaque exécution du Job. Modifiez la valeur si vous souhaitez générer un échantillon différent.

Configurer le composant de sortie

Procédure

  1. Double-cliquez sur le tFileOutputDelimited afin d'ouvrir sa vue Basic settings et définir ses propriétés.
    Configuration du composant tFileOutputDelimited.
  2. Dans le champ File Name, spécifiez le chemin d'accès au fichier dans lequel vous souhaitez écrire les données dupliquées, duplicated_records dans cet exemple.
  3. Définissez les séparateurs de lignes et de champs, au besoin.

Exécuter le Job

Procédure

  1. Enregistrez votre Job et appuyez sur F6 pour l'exécuter.
    Les données dupliquées sont générées et écrites dans le fichier de sortie.
  2. Cliquez-droit sur le composant de sortie et sélectionnez Data Viewer pour afficher les données en doublon.
    Les enregistrements en doublon sont marqués comme false dans la colonne ORIGINAL_MARK.
    Résultats de l'aperçu des données.
    Des données ont été modifiées dans les colonnes Name, City et DOB, selon les critères définis dans la table Modifications et des doublons ont été générés selon ces modifications.
    Par exemple, si vous comparez le nom original Mrs Morgan Ross et le nom dupliqué Mrs M rganosRiss, vous pouvez constater que les deux fonctions ont été utilisées sur l'enregistrement en doublon : la lettre o a été changée en espace et le son a été remplacé dans Ross et Riss. Cependant, le code Soundex n'a pas été modifié lors du changement de son.
  3. Dans l'onglet Basic settings du composant tDuplicateRow, dans la zone Distribution of duplicates, sélectionnez une distribution différente, Bernoulli distribution par exemple et exécutez le Job.
    Des doublons différents sont générés depuis le même flux d'entrée, comme dans la capture d'écran ci-dessous.
    Résultats utilisant la loi de Bernoulli.

Afficher les diagrammes de résultats pour chaque distribution de probabilité

Le meilleur moyen de voir comment sont générés les doublons selon chacune des trois distributions de probabilité est de créer une analyse de rapprochement sur chacun des résultats et comparer les diagrammes.

Procédure

  1. Dans la perspective Profiling, cliquez-droit sur Metadata et créez une connexion au fichier de sortie duplicated_records généré par le Job.
    Pour plus d'informations, consultez Profiling de données et qualité de données dans le Guide d'utilisation du Studio Talend.
  2. Développez la nouvelle connexion fichier sous Metadata, cliquez-droit dessus et sélectionnez Analyze matches.
  3. Suivez les étapes de l'assistant afin de définir les métadonnées de l’analyse, puis cliquez sur Finish pour ouvrir l'éditeur d'analyse.
  4. Dans la table Matching Key, définissez une clé de rapprochement sur la colonne Code, afin de regrouper les enregistrements selon leur identification, les enregistrements ayant le même code sont regroupés.
    Vue d'ensemble de la fenêtre Matching key (Clé de rapprochement).
  5. Cliquez sur Chart sous la table pour afficher les doublons générés selon la distribution Bernoulli distribution précédemment sélectionnée dans le Job.
  6. Retournez en perspective Integration, sélectionnez Poisson distribution dans la vue Basic settings du tDuplicateRow et exécutez le Job.
  7. Dans la perspective Profiling, cliquez sur Chart sous la table Matching Key pour afficher les doublons générés selon la distribution Poisson distribution sélectionnée.
  8. Exécutez le Job en sélectionnant la distribution Geometric distribution, puis cliquez sur Chart dans Profiling pour afficher les doublons générés par la distribution Geometric distribution sélectionnée.

Résultats

Les résultats des doublons générés varient selon la distribution de probabilité sélectionnée dans le composant tDuplicateRow.
Bernoulli distribution (Distribution de Bernoulli) : la courbe est symétrique. Les groupes de doublons sont distribués équitablement de chaque côté de la valeur moyenne, 4 dans cet exemple. Cette valeur moyenne est le nombre moyen de doublons dans un groupe de doublons et est la valeur définie dans le champ Average group size dans la vue Basic settings du composant tDuplicateRow.
Résultats utilisant la loi de Bernoulli.
Poisson distribution (Distribution de Poisson) : la courbe n'est pas symétrique. Les groupes de doublons ne sont pas distribués équitablement.
Résultats utilisant la loi de Poisson.
Geometric distribution (Distribution géométrique) : la forme de cette courbe est définie par le pourcentage configuré pour les enregistrements en doublon dans la vue Basics settings du tDuplicateRow. Plus le pourcentage est haut, moins il y aura de groupes, mais ils contiendront plus d'enregistrements. Dans cet exemple, le pourcentage pour les enregistrements en doublon est configuré à 80%. C'est la raison pour laquelle il y a de nombreux groupes avec deux enregistrements en doublon générés (148 groupes), alors qu'il n'y a qu'un groupe avec 14, 15 et 16 doublons.
Résultats utilisant la loi géométrique.

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.