Scénario : Transformer des données ligne par ligne avec un tJavaRow - 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

Dans ce scénario, les informations de quelques villes sont lues depuis un fichier d'entrée délimité et sont transformées à l'aide de code Java via le composant tJavaRow, puis affichées dans la console.

Construire le Job

  1. Déposez un composant tFileInputDelimited et un tJavaRow de la Palette dans l'espace de modélisation graphique et renommez-les afin d'identifier leur rôle dans le Job.

  2. Connectez les deux composant à l'aide d'un lien Row > Main.

Configurer les composants

  1. Double-cliquez sur le tFileInputDelimited pour afficher sa vue Basic settings.

  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 en cliquant sur le bouton [...] et saisissez 1 dans le champ Header.

    Dans cet exemple, le fichier d'entrée contient :

    City;Population;LandArea;PopDensity
    Beijing;10233000;1418;7620
    Moscow;10452000;1081;9644
    Seoul;10422000;605;17215
    Tokyo;8731000;617;14151
    New York;8310000;789;10452
  3. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir la boîte de dialogue [Schema] et définissez la structure des données du fichier d'entrée. Cliquez sur OK pour valider le schéma et fermer la boîte de dialogue.

  4. Double-cliquez sur le composant tJavaRow afin d'afficher sa vue Basic settings.

  5. Cliquez sur Sync columns afin de vous assurer que le schéma est bien récupéré du composant précédent.

  6. Dans le champ Code, saisissez le code à appliquer à chaque ligne de données.

    Dans cet exemple, vous allez mettre des majuscules aux noms des villes, regrouper les nombres supérieurs à 1000 à l'aide de séparateurs de milliers pour une meilleure lecture et afficher les données dans la console :

    System.out.print("\n" + input_row.City.toUpperCase() + ":");
    System.out.print("\n - Population: " 
    + FormatterUtils.format_Number(String.valueOf(input_row.Population), ',', '.') + " people");
    System.out.print("\n - Land area: " 
    + FormatterUtils.format_Number(String.valueOf(input_row.LandArea), ',', '.') 
    + " km2");
    System.out.print("\n - Population density: " 
    + FormatterUtils.format_Number(String.valueOf(input_row.PopDensity), ',', '.') + " people/km2\n");

    Note

    Dans le champ Code, input_row fait référence à la connexion vers le tJavaRow.

Sauvegarder et exécuter le Job

  1. Appuyez sur les touches Ctrl+S afin de sauvegarder votre Job.

  2. Appuyez sur F6 ou cliquez sur le bouton Run dans la vue Run pour exécuter le Job.

    Les informations relatives aux villes sont transformées par le code Java défini dans le tJavaRow et affichées dans la console.