Scénario : Trouver le libellé State à l'aide d'une procédure stockée - 6.1

Composants Talend Open Studio Guide de référence

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

Le Job suivant a pour but de trouver les libellés State en fonction des ID impairs de la colonne State d'une table MySQL à deux colonnes à l'aide d'une procédure stockée.

  • Cliquez et déposez les composants suivants dans l'espace de modélisation : tRowGenerator, tMysqlSP et tLogRow.

  • Connectez les composants à l'aide d'une connexion de type Row Main.

  • Le tRowGenerator est utilisé pour générer des ID impairs. Double-cliquez sur le composant pour lancer l'éditeur.

  • Cliquez sur le bouton [+] pour ajouter une colonne au schéma à générer.

  • Cochez la case Key pour définir l'entrée comme étant une clé primaire et définissez le Type en Int (entier).

  • Dans le champ Length, la longueur est de 2 chiffres au maximum.

  • Utilisez la fonction préétablie appelée sequence mais modifiez les paramètres dans la partie inférieure de la fenêtre.

  • Modifiez la valeur (Value) de step : de 1 à 2 pour cet exemple. Mais la valeur de départ (start value) reste 1.

  • Dans le champ Number of generated rows, définissez le nombre de lignes à générer à 25, afin que tous les ID impairs de State (il y a 50 Etats) soient générés.

  • Cliquez sur OK pour valider la configuration.

  • Puis sélectionnez le composant tMysqlSP et paramétrez ses propriétés.

  • Dans le champ Property type, sélectionnez l'option Repository puis sélectionnez l'entrée correspondante dans la liste. Les informations de connexion sont remplies automatiquement.

  • Sinon, paramétrez les informations de connexion manuellement.

  • Cliquez sur Sync Column pour récupérer le schéma généré du composant précédent.

  • Puis cliquez sur Edit Schema et ajoutez une colonne supplémentaire contenant les libellés des Etats (State) à obtenir en sortie, en plus de l'ID.

  • Sélectionnez le type d'encodage dans la liste.

  • Dans le champ SP Name, saisissez le nom de la procédure comme il a été défini dans la base de données (ici, getstate). La procédure à exécuter correspond à :

    DROP PROCEDURE
    IF EXISTS `talend`.`getstate` $$
    CREATE DEFINER=`root`@`localhost` PROCEDURE `getstate`(IN pid INT, OUT
    pstate VARCHAR(50))
    BEGIN
     SELECT LabelState INTO pstate FROM us_states WHERE idState = pid;
    END $$

  • Dans la zone Parameters, cliquez sur le bouton [+] pour ajouter une ligne à la table.

  • Définissez le champ Column en ID, et le champ Type en IN, ainsi il sera considéré comme paramètre d'entrée dans la procédure.

  • Ajoutez une deuxième ligne et définissez le champ Column en State et le champ Type en Out, ainsi il sera considéré comme le paramètre de sortie a retournée.

  • Et enfin, paramétrez les propriétés du composant tLogRow.

  • Synchronisez le schéma avec celui du composant précédent en cliquant sur le bouton Sync columns.

  • Et cochez la case Print values in cells of a table pour un meilleur confort de lecture.

  • Puis enregistrez votre Job et exécutez-le.

La sortie affiche les différents Etats (State) avec leur ID impair comme défini dans la procédure.

Consultez également Scénario 1 : Insérer des données dans des tables mère/fille si vous voulez analyser un ensemble d'enregistrements d'une table de données ou d'une requête SQL.