Scénario : Filtrer et agréger les colonnes d'une table directement dans le SGBD - 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 scénario suivant crée un Job qui ouvre une connexion à une base de données Mysql et :

  • crée un schéma à partir de la table d'une base de données, les lignes de ce schéma correspondent aux noms des colonnes spécifiées dans le filtre,

  • filtre les colonnes de cette même table afin de n'obtenir que les données correspondant aux colonnes filtrées,

  • collecte les données de la colonne filtrée, regroupées en fonction d'une valeur spécifique et écrit les données agrégées dans la table de cible.

Pour filtrer et agréger les colonnes de la table de votre base de données :

  • Cliquez et déposez les composants suivants dans l'espace de modélisation : tELTMysqlconnection, tSQLTemplateFilterColumns, tSQLTemplateFilterRows, tSQLTemplateAggregate, tSQLTemplateCommit et tSQLTemplateRollback.

  • Connectez les cinq composants à l'aide de liens de type OnComponentOk.

  • Connectez les composants tSQLTemplateAggregate et tSQLTemplateRollback à l'aide d'un lien de type OnComponentError.

  • Dans l'espace de modélisation, sélectionnez le tMysqlConnection et cliquez sur la vue Component pour paramétrer ses propriétés.

  • Dans l'onglet Basic settings, renseignez manuellement les informations de connexion ou sélectionnez-les à partir des variables de contexte, via la raccourci Ctrl+Espace cliquez sur le champ correspondant si les vous avez stocké sous le nœud DB connection du répertoire Metadata du Repository.

Pour plus d'informations sur les métadonnées, consultez le Guide utilisateur du Studio Talend.

  • Dans l'espace de modélisation, sélectionnez le composant tSQLTemplateFilterColumns et cliquez sur la vue Component pour paramétrer ses propriétés.

  • Dans la liste déroulante Database type, sélectionnez la base de données adéquate.

  • Dans la liste déroulante Component list, sélectionnez le composant de connexion à la base de données si plusieurs composants de connexion sont utilisés dans votre Job.

  • Dans le champ Database name, saisissez le nom de la base de données à laquelle vous vous êtes connecté.

  • Dans le champ Source table name, saisissez le nom de votre table source contenant les données que vous souhaitez traiter et cliquez sur le bouton [...] à côté du champ Edit schema pour définir la structure des données de votre table source.

  • Dans le champ Target table name, saisissez le nom de la table cible contenant vos nouvelles données traitées et cliquez sur le bouton [...] à côté du champ Edit schema pour définir la structure de la table cible.

Note

Lorsque vous définissez la structure des données de la table source, le nom des colonnes apparaît automatiquement dans la colonne Column du tableau Column filters.

Dans ce scénario, la table source contient les cinq colonnes : id, First_Name, Last_Name, Address et id_State.

  • Dans le tableau Column filters, filtrez les colonnes en cochant la case des colonnes que vous souhaitez écrire dans votre table cible.

Dans ce scénario, le composant tSQLTemplateFilterColumns ne garde que les colonnes id, First_Name et id_State de la table source.

Note

Dans la vue Component, vous pouvez cliquer sur l'onglet SQL Template et ajouter des modèles SQL du système ou créer vos propres modèles SQL et les utilisez dans votre Job afin d'effectuer les opérations que vous souhaitez. Pour plus d'informations, consultez Propriétés du tSQLTemplateFilterColumns.

  • Dans l'espace de modélisation, sélectionnez le composant tSQLTemplateFilterRows et cliquez sur l'onglet Component pour paramétrer ses propriétés.

  • Dans la liste déroulante Database type, sélectionnez la base de données adéquate.

  • Dans la liste déroulante Component list, sélectionnez le composant de connexion à la base de données si plusieurs composants de connexion sont utilisés dans votre Job.

  • Dans le champ Database name, saisissez le nom de la base de données à laquelle vous vous êtes connecté.

  • Dans le champ Source table name, saisissez le nom de votre table source contenant les données que vous souhaitez traiter et cliquez sur le bouton [...] à côté du champ Edit schema pour définir la structure des données de votre table source.

  • Dans le champ Target table name, saisissez le nom de la table cible contenant vos nouvelles données traitées et cliquez sur le bouton [...] à côté du champ Edit schema pour définir la structure de la table cible.

Dans ce scénario, la table source et la table cible contiennent les trois colonnes filtrées id, First_Name et id_State.

  • Dans le champ Where condition, saisissez la commande WHERE vous permettant de n'extraire que les champs correspondant à vos critères.

Dans ce scénario, le composant tSQLTemplateFilterRows filtre la colonne First_Name de la table source pour n'obtenir que les prénoms commencent par la lettre "a".

  • Dans l'espace de modélisation, sélectionnez le composant tSQLTemplateAggregate et cliquez sur la vue Component pour paramétrer ses propriétés.

  • Dans la liste déroulante Database type, sélectionnez la base de données adéquate.

  • Dans la liste Component list, sélectionnez le composant de connexion à la base de données si plusieurs composants de connexion sont utilisés dans votre Job.

  • Dans le champ Database name, saisissez le nom de la base de données à laquelle vous vous êtes connecté.

  • Dans le champ Source table name, saisissez le nom de votre table source contenant les données que vous souhaitez traiter et cliquez sur le bouton [...] à côté du champ Edit schema pour définir la structure des données de votre table source.

  • Dans le champ Target table name, saisissez le nom de la table cible contenant vos nouvelles données traitées et cliquez sur le bouton [...] à côté du champ Edit schema pour définir la structure de la table cible.

Le schéma de la table source est composé de trois colonnes : id, First_Name et id_State. Le schéma de la table cible est composé de deux colonnes : customers_status et customers_number. Dans ce scénario, vous souhaitez regrouper les clients par statut marital et compter le nombre de client pour chaque groupe marital. Pour cela, renseignez les tableaux Operations et Group by.

  • Dans le tableau Operations, cliquez sur le bouton [+] pour ajouter une ou plusieurs lignes et cliquez dans la cellule de la colonne Output column et sélectionnez la colonne de sortie qui contiendra les données à compter.

  • Cliquez dans la cellule de la colonne Function et sélectionnez l'opération à effectuer.

  • Dans le tableau Group by, cliquez sur le bouton [+] pour ajouter une ou plusieurs lignes et cliquez dans la cellule de la colonne Output column pour sélectionner la colonne de sortie qui contiendra les données agrégées.

  • Dans l'espace de modélisation, sélectionnez le composant tSQLTemplateCommit et cliquez sur la vue Component pour paramétrer ses propriétés.

  • Dans la liste déroulante Database type, sélectionnez la base de données adéquate.

  • Dans la liste déroulante Component list, sélectionnez le composant de connexion à la base de données si plusieurs composants de connexion sont utilisés dans votre Job.

  • Effectuez la même procédure pour le composant tSQLTemplateRollback.

  • Enregistrez le Job et appuyez sur F6 pour l'exécuter.

La table aggregate_customers composée de deux colonnes est créée dans la base de données. Elle regroupe les clients en fonction de leur statut marital et compte le nombre de client pour chaque statut marital.