tDuplicateRow - 6.3

Composants Talend Guide de référence

EnrichVersion
6.3
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

Avertissement

Ce composant est disponible dans la Palette du Studio Talend si vous avez souscrit à l'un des produits Talend Platform.

Fonction

Le composant tDuplicateRow génère des données en doublon d'un flux d'entrée. Il regroupe les doublons similaires et identifie l'enregistrement original de chaque groupe par la mention true.

Ce composant peut être utilisé avec le tRowGenerator afin de générer des données dupliquées.

Objectif

Le tDuplicateRow peut être utilisé afin de créer des doublons de données significatives afin d'effectuer des tests fonctionnels de qualité de données.

Fonctions de date dans le tDuplicateRow

La liste Function pour une colonne de type Date est spécifique aux dates. Elle vous permet de décider du type de modification à effectuer sur les valeurs de dates.

Il y a trois moyens différents de générer des valeurs de date pour les enregistrements en doublon :

  • Modify date value : sélectionne aléatoirement la catégorie de jour, mois ou année à modifier et écrit une valeur aléatoire à la place.

  • Switch day month value : intervertit la valeur du jour et du mois. Si la valeur originale du jour est supérieure à 12, la nouvelle valeur du mois sera ((N-1) mod 12) +1. Par exemple, si le jour original est 13, le nouveau mois est 1.

  • Replace by random date : génère une date aléatoire avec une valeur de jour, de mois et d'année.

Propriétés du tDuplicateRow

Famille du composant

Data Quality

 

Basic settings

Schema et Edit schema

Un schéma est une description de lignes, il définit le nombre de champs (colonnes) qui sont traités et passés au composant suivant. Le schéma est soit local (Built-In), soit distant dans le Repository.

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

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

Le schéma de sortie de ce composant contient une colonne en lecture seule, ORIGINAL_MARK. Cette colonne identifie l'enregistrement par true ou false si l'enregistrement est original ou en doublon, respectivement. Il y a un enregistrement original par groupe.

 

 

Built-In : Le schéma est créé et conservé ponctuellement pour ce composant seulement. Voir également le Guide utilisateur du Studio Talend.

 

 

Repository : Le schéma existe déjà et il est stocké dans le Repository. Ainsi, il peut être réutilisé. Voir également le Guide utilisateur du Studio Talend.

 

Percentage of duplicated records

Saisissez le pourcentage de lignes en doublon que vous souhaitez avoir dans le flux de sortie.

 

Distribution of duplicates

Name : sélectionnez la distribution des probabilités à utiliser pour générer les doublons : distribution de Bernoulli, distribution de Poisson ou distribution géométrique.

Average group size : configurez le nombre moyen d'enregistrements en doublon que vous souhaitez générer dans les groupes de doublons.

 

Modifications

Définissez dans la table les champs à modifier dans une ligne et comment les modifier :

-Input Column : sélectionnez la colonne du flux d'entrée à partir de laquelle vous souhaitez générer les doublons en modifiant ses valeurs.

-Modification Rate : saisissez une probabilité pour les modifications que vous souhaitez avoir dans l'enregistrement en doublon généré depuis une colonne d'entrée. La probabilité est une valeur comprise entre 0 et 1. Si vous configurez la probabilité à 0, aucune modification n'est effectuée. Si vous configurez la probabilité à 0.5, les modifications se font environ toutes les deux lignes. Si vous configurez la probabilité à 1, les modifications se font à chaque ligne.

Ces modifications sont basées sur la fonction sélectionnée dans la colonne Function et sur le nombre de modifications définies dans la colonne Max Modification Count.

-Function : Sélectionnez la fonction permettant de décider de la modification à effectuer sur une valeur, afin de la dupliquer. Par exemple, vous pouvez décider d'avoir des valeurs en doublon exacts ou approximatifs en remplaçant ou ajoutant des lettres ou des nombres, en remplaçant des valeurs par des synonymes d'un fichier d'index ou en supprimant des valeurs en configurant la fonction comme null ou vide.

La liste Function varie selon le type de colonne. Par exemple, une colonne de type String affiche une option Add letters dans la liste et une colonne de type Integer affiche l'option Add digits dans la liste. Cette liste Function, pour une colonne de type Date est spécifique aux dates. Pour plus d'informations concernant les fonctions utilisés dans les colonnes Date, consultez Fonctions de date dans le tDuplicateRow.

-Max Modification Count : saisissez le nombre maximal de valeurs à modifier.

-Synonym Index Path : configurez le chemin du fichier d'index à partir duquel le synonyme est utilisé.

Ce champ est disponible si vous sélectionnez la fonction Synonym replace, ce qui signifie que la valeur dans l'enregistrement en doublon est remplacée par l'un de ses synonymes, selon la probabilité donnée.

Vous devez utiliser le composant tSynonymOutput afin de créer un index Lucene et l'alimenter avec des synonymes. Pour plus d'informations concernant la création d'un index de synonymes et concernant la définition des entrées de références, consultez tSynonymOutput.

Advanced settings

Seed for random generator

Saisissez un nombre (graine aléatoire) si vous souhaitez générer exactement les mêmes doublons pour chaque exécution du Job.

Répéter l'exécution avec une valeur différente pour la graine permet de générer différents doublons.

Laissez ce champ vide si vous souhaitez générer des doublons différents à chaque fois que vous exécutez le Job.

 

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau des composants.

Utilisation

Ce composant vous permet de générer des données en doublon d'un flux d'entrée selon certains critères et les utiliser pour tests.

Le composant tDuplicateRow ne peut être utilisé dans des Jobs Map/Reduce.

Scénario : 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).

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

Construire le Job

  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 de liens Row > Main.

Configurer les données d'entrée

  1. Double-cliquez sur le tFileInputDelimited pour afficher sa vue Basic settings et définir les propriétés du composant.

  2. Dans le champ File name/Stream, parcourez votre système jusqu'au fichier à utiliser comme flux d'entrée principal.

    Ce fichier contient des informations concernant les clients.

  3. Au besoin, saisissez le séparateur de lignes et le séparateur de champs, respectivement dans les champs CSV Row Separator et Field Separator. Renseignez également l'en-tête et le pied de page, si nécessaire, dans les champs Header et Footer, respectivement.

  4. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir une boîte de dialogue et définir le schéma d'entrée. Selon la structure du fichier d'entrée, le schéma se compose de dix colonnes.

  5. Cliquez sur le bouton [+] et définissez les colonnes d'entrée dans la boîte de dialogue, comme dans la capture d'écran ci-dessus. 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

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

  2. Cliquez sur le bouton Edit schema pour voir les colonnes d'entrée et de sortie et apporter des modifications au schéma de sortie, si nécessaire.

    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. Configurez une moyenne du nombre d'enregistrements en doublon que vous souhaitez obtenir dans chaque groupe.

  5. 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.

  6. Cliquez sur l'onglet Advanced settings et saisissez un nombre 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

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