tRowGenerator

Composants Talend Open Studio Guide de référence

EnrichVersion
6.3
EnrichProdName
Talend Open Studio for Data Quality
Talend Open Studio for Big Data
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Open Studio for Data Integration
task
Gouvernance de données
Qualité et préparation de données
Création et développement
EnrichPlatform
Studio Talend

Fonction

Le composant tRowGenerator génère autant de lignes et de champs que vous souhaitez alimenter par des valeurs prises de façon aléatoire dans une liste définie.

Objectif

Ce composant peut être utilisé à des fins de test, pour créer un flux d'entrée dans le cadre de jeux de tests.

L'éditeur du tRowGenerator s'ouvre dans une fenêtre séparée constituée de deux parties :

  • dans la partie supérieure de la fenêtre, une vue de définition de Schema,

  • dans la partie inférieure, une vue Function de définition et d'aperçu des fonctions.

Définition du schéma

Pour commencer, vous devez définir la structure des données à générer.

  • Ajoutez autant de colonnes que nécessaire à l'aide du bouton plus [+].

  • Dans la zone Columns, saisissez les noms des colonnes à créer et cochez la case Key si nécessaire.

  • Assurez-vous d'avoir correctement défini la nature des données contenues dans la colonne en sélectionnant le type dans la colonne Type. En fonction du type sélectionné, la liste des fonctions proposées dans la colonne Function diffère. Cette information est obligatoire.

  • D'autres informations, bien que facultatives, peuvent être utiles, telles que les colonnes Length, Precision ou Comment. Mais vous avez la possibilité de cacher les colonnes que vous n'utilisez pas, en cliquant sur le bouton Columns dans la barre d'outils et en décochant les colonnes que vous souhaitez cacher.

  • Dans la zone Function, sélectionnez la routine/fonction prédéfinie si l'une des propositions correspond à vos besoins. Vous pouvez également ajouter à cette liste toute routine que vous avez développée et stockée dans la partie Routine du Repository. Vous avez enfin la possibilité de saisir directement la fonction que vous souhaitez utiliser dans la vue Function. Voir également : Définition d'une fonction.

  • Cliquez sur Refresh pour visualiser un aperçu des données générées.

  • Saisissez le nombre de lignes à générer. Plus le nombre de lignes est élevé, plus la durée d'exécution sera longue pour cette opération de génération.

Définition d'une fonction

Vous avez sélectionné les trois points [...] dans la colonne Function de l'éditeur du Schéma, car vous souhaitez personnaliser la fonction de génération.

  • Sélectionnez l'onglet Function parameters.

  • La zone Parameter affiche Customized parameter comme nom du paramètre (en lecture seule).

  • Dans la zone Value, saisissez la fonction Java que vous souhaitez utiliser pour générer des données.

  • Cliquez sur l'onglet Preview et cliquez sur le bouton Preview pour visualiser un échantillon des données qui seront générées.

Propriétés du tRowGenerator

Famille du composant

Misc

 

 

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.

Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir le schéma.

  • Change to Built-In property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs. Si vous souhaitez propager les modifications uniquement au Job courant, cliquez sur No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

 

 

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.

Basic settings

RowGenerator editor

L'éditeur vous permet de définir précisément les colonnes et la nature des données à générer. Vous pouvez prédéfinir des routines ou saisir vous-même la fonction à utiliser pour générer les données souhaitées.

Notez que, dans un Job Storm, la valeur -1 dans le champ Number of rows for RowGenerator du RowGenerator editor signifie la génération infinie de lignes de données d'entrée.

Advanced settings

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du composant.

Global Variables

NB_LINE : nombre de lignes traitées. Cette variable est une variable After et retourne un entier.

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

La simplicité d'utilisation de l'éditeur du tRowGenerator vous permet de générer des données de façon aléatoire sans connaissance du langage Java.

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Scénario : Génération aléatoire de fichiers de test

Le scénario suivant décrit un Job de deux composants, générant 50 lignes composées de la manière suivante : un ID aléatoire compris entre 1 et 3, un nom et un prénom pris de manière aléatoire dans une liste de chaînes de caractères, et le champ Date définie dans une période donnée.

  • Cliquez et déposez un composant tRowGenerator et un composant tLogRow dans l'espace de modélisation.

  • Cliquez-droit sur le composant tRowGenerator et sélectionnez le lien Row > Main. Faites glisser ce lien jusqu'au composant tLogRow.

  • Double-cliquez sur le composant tRowGenerator pour ouvrir l'éditeur.

  • Définissez les champs à générer.

  • La colonne ID (random_ID) est de type entier (integer), les noms et prénoms sont de type chaîne de caractères (String) et la Date est de type Date.

  • Dans la colonne Function, sélectionnez la fonction adaptée dans la liste ou les trois points [...] pour la fonction personnalisée.

  • Dans l'onglet Function parameters, définissez les valeurs à prendre de façon aléatoire.

  • Les colonnes First_Name et Last_Name sont à générer à l'aide d'une fonction getAsciiRandomString prédéfinie dans les routines système. Par défaut, la longueur définie est de 6 caractères, mais vous pouvez la changer.

  • La colonne Date appelle également une fonction prédéfinie getRandomDate. Vous pouvez éditer les valeurs de paramètre dans l'onglet Function parameters.

  • Dans le champ Number of Rows, paramétrez le nombre de lignes à 50.

  • Cliquez sur OK pour valider les paramètres.

  • Double-cliquez sur le composant tLogRow pour visualiser les paramètres dans l'onglet Basic settings. Retenez les paramètres par défaut.

  • Appuyez sur F6 pour exécuter le Job.

Les 50 lignes sont générées selon les paramètres définis dans l'éditeur du composant tRowGenerator et sont affichées en sortie standard de la vue Run.