Scénario 3: Utiliser le tJavaFlex pour afficher le contenu d'un fichier à partir d'un schéma dynamique - 6.1

Composants Talend Guide de référence

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

Ce scénario décrit un Job à trois composants. Le Job utilise du code Java via un composanttJavaFlex afin d'afficher le contenu d'un fichier en cours de transfert de la source à la cible. Comme tous les composants de ce Job supportent le schéma dynamique, vous pourrez utiliser cette option afin de gagner du temps, sans avoir à configurer chaque colonne du schéma.

Construire le Job

  1. Déposez un tFileInputDelimited, un tJavaFlex et un tFileOutputDelimited de la Palette dans l'espace de modélisation graphique.

  2. Reliez les composants avec des liens Row > Main.

  3. Nommez les composants selon leur rôle dans le Job.

Configurer les composants d'entrée et de sortie

  1. Double-cliquez sur le tFileInputDelimited, ici nommé Source, pour afficher sa vue Basic settings, dans laquelle vous pouvez définir les propriétés du composant.

    Avertissement

    L'option de schéma dynamique n'est supportée qu'en mode Built-In et requiert que le fichier d'entrée ait une ligne d'en-tête.

  2. Dans le champ File name/Stream, saisissez le chemin d'accès au fichier d'entrée entre guillemets doubles, ou parcourez votre système jusqu'au fichier en cliquant sur le bouton [...] .

  3. Dans le champ Header, saisissez 1 pour définir la première ligne du fichier en tant qu'en-tête.

  4. Cliquez sur le bouton [...] à côté de Edit schema pour ouvrir la boîte de dialogue [Schema].

  5. Cliquez sur le bouton [+] pour ajouter une colonne, nommez-la dyna comme dans cet exemple et, dans la liste Type, sélectionnez Dynamic. Cette colonne dynamique va récupérer les colonnes FirstName, LastName et Address du fichier d'entrée.

  6. Cliquez sur OK pour valider les changements et fermer la boîte de dialogue.

  7. Double-cliquez sur le tFileOutputDelimited, appelé ici Target, pour afficher sa vue Basic settings, dans laquelle vous pouvez paramétrer les propriétés du composant.

  8. Spécifiez le chemin d'accès au fichier de sortie dans le champ File Name.

  9. Cochez la case Include Header pour inclure l'en-tête dans le fichier de sortie. Laissez les autres paramètres tels qu'ils sont.

Configurer le composant tJavaFlex

  1. Double-cliquez sur le tJavaFlex pour afficher sa vue Basic settings, dans laquelle vous pouvez paramétrer les propriétés du composant.

  2. Cliquez sur Sync columns pour vous assurer que le schéma a été correctement récupéré du composant précédent.

  3. Dans le champ Start code, saisissez le code suivant :

    System.out.println("Content of file being transferred:\n");
  4. Dans le champ Main code, saisissez le code qui sera appliqué à chaque ligne de données.

    Dans cet exemple, vous voulez afficher le contenu d'un fichier source à partir d'une colonne d'un schéma dynamique défini :

    System.out.println(row1.dyna);

    Avertissement

    Dans le champ Main code , "row1" correspond au nom du lien sortant de tJavaFlex. Si vous renommez le lien, vous devrez modifier le code.

  5. Dans le champ End code, saisissez le code qui sera exécuté dans la phase de clôture.

    Dans cet exemple, le code indique la fin de l'exécution du composant tJavaFlex en affichant le message "End of file" :

    System.out.println("\nEnd of file");

Sauvegarder et exécuter le Job

  1. Sauvegardez votre Job en appuyant sur Ctrl+S.

  2. Exécutez le Job en appuyant sur F6 ou en cliquant sur Run dans l'onglet Run.

    La console affiche le contenu du fichier d'entrée. Comme la case Data Auto propagate est cochée par défaut, le contenu du fichier est transférés à l'identique vers le composant de sortie.