Scénario : Ecrire un fichier dans MySQL si le nombre d'enregistrements correspond à une valeur de référence - 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, le tFileRowCount compte le nombre d'enregistrements d'un fichier .txt et compare ce nombre à une valeur de référence grâce au tJava. Lorsque les deux valeurs correspondent, le fichier .txt est écrit dans une table MySQL.

Le fichier .txt contient deux enregistrements :

1;andy
2;mike

Relier les composants

  1. Déposez un tFileRowCount, un tJava, un tFileInputDelimited et un tMysqlOutput de la Palette dans l'espace de modélisation graphique.

  2. Reliez le tFileRowCount au tJava à l'aide d'un lien Trigger > OnSubjobOk.

  3. Reliez le tJava au tFileInputDelimited à l'aide d'un lien Trigger > Run if.

  4. Reliez le tFileInputDelimited au tMysqlOutput à l'aide d'un lien Row > Main.

Configurer les composants

  1. Double-cliquez sur le tFileRowCount pour ouvrir sa vue Basic settings.

  2. Dans le champ File Name, saisissez le chemin complet vers le fichier .txt. Vous pouvez également cliquer sur le bouton pour parcourir votre système jusqu'au fichier.

    Cochez ensuite la case Ignore empty rows.

  3. Double-cliquez sur le tJava pour ouvrir sa vue Basic settings.

    Dans la zone Code, saisissez la fonction permettant d'afficher le nombre de lignes du fichier :

    System.out.println(globalMap.get("tFileRowCount_1_COUNT"));
  4. Cliquez sur le lien If pour ouvrir sa vue Basic settings.

    Dans la zone Condition, saisissez l'instruction permettant de déterminer si le nombre de lignes est égal à 2 :

    ((Integer)globalMap.get("tFileRowCount_1_COUNT"))==2

    Ce lien If signifie que si le nombre de lignes est égal à 2, les lignes du fichier .txt sont écrites dans MySQL.

  5. Double-cliquez sur le tFileInputDelimited pour ouvrir sa vue Basic settings.

    Dans le champ File name/Stream, saisissez le chemin complet vers le fichier .txt. Vous pouvez également cliquer sur le bouton afin de parcourir votre système jusqu'au fichier.

  6. Cliquez sur le bouton Edit schema afin d'ouvrir l'éditeur de schéma.

  7. Cliquez deux fois sur le bouton afin d'ajouter deux colonnes, nommées respectivement id (de type Integer) et name (de type String).

  8. Dans la boîte de dialogue qui s'affiche, cliquez sur le bouton Yes afin de propager le schéma au composant suivant.

  9. Double-cliquez sur le tMysqlOutput pour ouvrir sa vue Basic settings.

  10. Dans les champs Host et Port, saisissez les informations de connexion.

    Dans le champ Database, saisissez le nom de la base de données.

    Dans les champs Username et Password, saisissez les informations d'authentification.

    Dans le champ Table, saisissez le nom de la table, par exemple "staff".

    Dans la liste Action on table, sélectionnez Create a table if not exists.

    Dans la liste Action on data, sélectionnez Insert.

Exécuter le Job

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

  2. Appuyez sur F6 pour exécuter le Job.

    Comme montré ci-dessus, le Job a été exécuté avec succès et le nombre de lignes du fichier .txt a été affiché.

  3. Ouvrez l'interface graphique de MySQL et ouvrez la table staff.

    Comme montré ci-dessus, la table a été créée et deux enregistrements ont été insérés.