Scénario 3 : Combiner deux flux pour une sortie sélective - 6.3

Composants Talend Open Studio Guide de référence

EnrichVersion
6.3
EnrichProdName
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
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Dans ce scénario, un flux généré par un tFixedFlowInput est combiné avec un flux de la base de données MySQL. Le flux source contient les champs id et age alors que la table MySQL contient id et name. Vous allez récupérer les données age du flux source et les combiner avec les enregistrements id et name de la table MySQL à partir de la mise en correspondance avec id. Le schéma d'entrée est différent de celui de sortie, dans le tMysqlRow.

Relier les composants

  1. Déposez un tFixedFlowInput, un tMysqlRow, un tParseRecordSet et un tLogRow de la Palette dans l'espace de modélisation graphique.

  2. Renommez le tFixedFlowInput en source_flow, le tMysqlRow en insert_recordset, le tParseRecordSet en parse_recordset et le tLogRow en show_combined_flow.

  3. Reliez le tFixedFlowInput au tMysqlRow à l'aide d'un lien Row > Main.

  4. Reliez le tMysqlRow au tParseRecordSet à l'aide d'un lien Row > Main.

  5. Connectez le tParseRecordSet au tLogRow à l'aide d'un lien Row > Main.

Configurer les composants

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

  2. Sélectionnez l'option Use Inline Content (delimited file) dans la zone Mode.

    Dans le champ Content, saisissez les données à transférer :

    1;30
    2;20
  3. Double-cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur du schéma.

    Cliquez sur le bouton [+] pour ajouter deux colonnes, nommées id et age, de type Integer.

    Cliquez sur OK pour fermer l'éditeur.

  4. Double-cliquez sur le tMysqlRow pour ouvrir sa vue Basic settings.

  5. 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 Query, saisissez la requête SQL permettant de récupérer les données de id et name dans la table MySQL employee : "select id, name from employee WHERE id=?".

    Le point d'interrogation, "?" représente le paramètre à configurer l'onglet Advanced settings.

  6. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur du schéma.

  7. Cliquez sur le bouton [+] pour ajouter deux colonnes, à droite, nommées recordset et age, de type Object et Integer. Notez que recordset doit contenir les résultats de la requête de la table MySQL, c'est-à-dire les champs id et name.

    Cliquez sur OK pour fermer l'éditeur.

  8. Cliquez sur l'onglet Advanced settings afin de configurer les paramètres avancés.

  9. Cochez la case Propagate QUERY's recordset et sélectionnez recordset dans la liste use column afin d'insérer les résultats de la requête dans cette colonne.

    Cochez la case Use PreparedStatement et définissez les paramètres utilisés dans la requête, dans la table Set PreparedStatement Parameters.

  10. Cliquez sur le bouton [+] pour ajouter une ligne.

    Dans la cellule Parameter Index, saisissez la position du paramètre dans l'instruction SQL. Saisissez "1" puisque vous utilisez un paramètre dans cet exemple.

    Dans la cellule Parameter Type, saisissez le type de paramètre. Le paramètre est de type Integer. Sélectionnez Int dans la liste.

    Dans la cellule Parameter Value, saisissez la valeur du paramètre. Ici, vous allez récupérer les colonnes id et name de la table employee selon la valeur de id du flux source. Saisissez row3.id.

  11. Double-cliquez sur le composant tParseRecordSet pour ouvrir sa vue Basic settings.

    Dans la liste Prev. Comp. Column list, sélectionnez la colonne à analyser, recordset.

  12. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur du schéma.

    Cliquez trois fois sur le bouton [+] pour ajouter trois colonnes, à droite, nommées id, name et age, respectivement de type Integer, String et Integer. Les colonnes id et name doivent contenir les données analysées de recordset.

    Cliquez sur OK pour fermer l'éditeur.

    Dans la table Attribute table, dans les champs Value correspondants aux colonnes id et name, saisissez le nom des colonnes de la table MySQL à récupérer, "id" et "name".

  13. Double-cliquez sur le tLogRow pour ouvrir sa vue Basic settings.

    Dans la zone Mode, sélectionnez Table (print values in cells of a table) pour un affichage sous forme de tableau.

Exécuter le Job

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

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