Exemple d'utilisation des SQL Templates système - 6.2

Talend Real-time Big Data Platform Studio Guide utilisateur

EnrichVersion
6.2
EnrichProdName
Talend Real-Time Big Data Platform
task
Création et développement
Qualité et préparation de données
EnrichPlatform
Studio Talend

Puisque beaucoup d'instructions SQL sont communes, standardisées, le Studio Talend vous permet de bénéficier de plusieurs modèles SQL système.

Cette section vous présente un exemple d'utilisation des modèles SQL système, à travers les étapes de l'utilisation de modèles SQL système Mysql dans un Job qui :

  • ouvre une connexion à une base de données MySQL,

  • collecte des données regroupées par valeurs spécifiques à partir d'une table de la base de données et écrit des données agrégées dans une table cible de la base de données,

  • supprime la table source d'où proviennent les données agrégées,

  • lit la table cible et liste les résultats d'exécution du Job.

Pour vous connecter à la base de données et agréger les colonnes de la table :

Configurer une connexion à une base de données MySQL

  1. A partir de la Palette, glissez les composants suivants dans l'espace de modélisation graphique : tMysqlConnection, tSQLTemplateAggregate, tSQLTemplateCommit, tMysqlInput, et tLogRow.

  2. Reliez le tMysqlConnection au tSQLTemplateAggregate à l'aide d'un lien Trigger > OnComponentOk afin de lier le tMysqlConnection au tSQLTemplateAggregate.

  3. Répétez l'opération afin de connecter le tSQLTemplateAggregate au tSQLTemplateCommit et ce dernier au tMysqlInput.

  4. Connectez le tMysqlInput au tLogRow à l'aide d'un lien Main > Row.

  5. Dans l'espace de modélisation graphique, double-cliquez sur le composant tMysqlConnection pour ouvrir sa vue Basic settings.

  6. Dans la vue Basic settings, configurez manuellement les paramètres de connexion.

  7. Dans l'espace de modélisation graphique, double-cliquez sur le composant tSQLTemplateCommit pour ouvrir sa vue Basic settings.

  8. Dans la liste Database Type, sélectionnez la base de données que vous utilisez, et dans la liste Component List, sélectionnez le composant de connexion adéquat, si plus d'une connexion est ouverte.

Regrouper les données, écrire des données agrégées et supprimer la table

  1. Dans l'espace de modélisation graphique, double-cliquez sur le tSQLTemplateAggregate pour ouvrir sa vue Basic settings.

  2. Dans la liste Database Type, sélectionnez la base de données correspondante et dans la liste Component List, sélectionnez le composant de connexion adéquat, si plus d'une connexion est ouverte dans le Job.

  3. Saisissez le nom de la base de données, de la table source et de la table cible dans les champs correspondants et définissez la structure des données, dans la table source et dans la table cible.

    Le schéma de la table source comprend trois colonnes : First_Name, Last_Name et Country. Le schéma de la table cible comprend deux colonnes : country et total. Dans cet exemple, regroupez les citoyens par nationalité, et comptez le nombre de personnes dans chaque pays. Pour ce faire, définissez les paramètres Operations et Groupby selon vos besoins.

  4. Dans le tableau Operations, cliquez sur le bouton [+] afin d'ajouter une ou plusieurs lignes, puis cliquez sur la ligne Output column et sélectionnez dans la liste déroulante la colonne de sortie qui contiendra les données comptées.

  5. Cliquez sur la ligne Function, puis sélectionnez dans la liste l'opération à effectuer.

  6. Dans le tableau Group by, cliquez sur le bouton [+] afin d'ajouter une ou plusieurs lignes, puis cliquez sur la ligne Output column et sélectionnez dans la liste la colonne de sortie qui contiendra les données agrégées.

  7. Cliquez sur l'onglet SQL Template pour ouvrir la vue correspondante.

  8. Cliquez deux fois sur le bouton [+] sous le tableau SQL Template List afin d'ajouter deux modèles SQL.

  9. Cliquez sur la ligne du premier modèle SQL et sélectionnez le modèle MySQLAggregate dans la liste déroulante. Ce modèle génère le code pour agréger des données, selon la configuration des Basic settings.

  10. Répétez l'opération et sélectionnez le modèle MySQLDropSourceTable pour la ligne du deuxième modèle. Ce modèle génère le code pour supprimer la table source d'où proviennent les données agrégées.

    Note

    Afin d'ajouter de nouveaux modèles SQL à un composant ELT chargé de les exécuter, vous pouvez simplement glisser le(s) modèle(s) de votre choix à ce composant soit dans l'espace de travail soit dans le tableau SQL Template List de ce composant.

    Note

    Les modèles définis dans le tableau SQL Template List sont prioritaires par rapport à la configuration paramétrée dans la vue Basic settings, et sont exécutés en ordre descendant. Dans cet exemple, si vous sélectionnez uniquement MySQLDropSourceTable pour la première ligne de modèle et MySQLAggregate pour la seconde, la table source sera supprimée définitivement et l'agrégation ne pourra être effectuée.

Lire la base de données cible et lister le résultat de l'exécution du Job

  1. Dans l'espace de modélisation graphique, Double-cliquez sur le composant tMysqlInput pour ouvrir sa vue Basic settings.

  2. Cochez la case Use an existing connection pour utiliser la connexion à la base de données définie dans le composant tMysqlConnection.

  3. Afin de définir le schéma, sélectionnez Repository et cliquez sur le bouton [...] pour sélectionner la table de la base de données dont le schéma est utilisé. Dans cet exemple, la table cible contenant les données agrégées est sélectionnée.

  4. Dans le champ Table Name, saisissez le nom de la table sur laquelle effectuer votre requête. Dans cet exemple, la table est celle qui contient les données agrégées.

  5. Dans la zone Query, saisissez l'instruction de la requête pour sélectionner les colonnes à afficher.

  6. Sauvegardez votre Job et appuyez sur F6 pour l'exécuter.

    La table source est supprimée.

Une table composée de deux colonnes, citizencount, est créée dans la base de données. Elle regroupe les citoyens par nationalité et affiche le total de personnes dans chaque pays.