tSQLTemplateAggregate - 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

Propriétés du tSQLTemplateAggregate

Famille du composant

ELT/SQLTemplate

 

Fonction

Le composant tSQLTemplateAggregate collecte les données d'une ou plusieurs colonnes et gère ces données en un seul bloc. Ce composant exécute en temps réel des transformations de données dans le SGBD lui-même.

Objectif

Il permet d'établir des métriques basées sur des valeurs ou des calculs.

Basic settings

Database Type

Sélectionnez dans le menu déroulant le type de base de données sur lequel vous voulez travailler.

 

Component List

Sélectionnez le composant de connexion à la base de données dans la liste si vous utilisez plus d'une connexion dans le Job en cours.

 

Database name

Nom de la base de données.

 

Source table name

Nom de la table contenant les données dont vous souhaitez collecter les données.

 

Target table name

Nom de la table dans laquelle vous souhaitez écrire les données collectées et transformées.

 

Schema et Edit schema

Un schéma est une description de lignes, il définit le nombre de champs qui sont traités et passés au composant suivant. Le schéma est soit local (built-in) soit distant dans le Repository.

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir le schéma.

  • Change to Built-In property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs. Si vous souhaitez propager les modifications uniquement au Job courant, sélectionnez No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

 

 

Built-in : Le schéma sera créé et conservé pour ce composant seulement. Voir également le Guide utilisateur du Studio Talend.

 

 

Repository : Le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans divers projets et Jobs. Voir également le Guide utilisateur du Studio Talend.

 

Operations

Sélectionnez le type d'opération et la valeur à utiliser pour le calcul et le champ de sortie.

 

 

Output Column : Sélectionnez le champ de destination dans la liste.

 

 

Function : Sélectionnez une des opérations suivantes à effectuer sur les données :

count : calcule le nombre de lignes,

min : sélectionne la plus petite valeur,

max : sélectionne la plus grande valeur,

avg : calcule la moyenne,

sum : calcule la somme,

count (distinct) : compte le nombre de lignes sans les doublons.

 

 

Input column position : Sélectionnez la colonne d'entrée à partir de laquelle vous souhaitez collecter les données à agréger.

 

Group by

Définit les ensembles d'agrégation, dont les valeurs sont utilisées pour les calculs.

 

 

Output Column : Sélectionnez le libellé de colonne dans la liste fournie, basée sur la structure de schéma que vous avez définie. Vous pouvez ajouter autant de colonnes de sortie que vous le souhaitez afin d'affiner les agrégations.

 

 

Input Column position : Faites la correspondance entre les libellés des colonnes d'entrée avec ceux des colonnes de sortie, dans le cas où vous souhaitez que les libellés du schéma de sortie soient différents du schéma d'entrée.

Advanced settings

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du composant.

SQL Template

SQLTemplate List

Cliquez sur le bouton Add pour ajouter un ou plusieurs modèle SQL du système à la liste SQLTemplateList. Cliquez dans la cellule de la colonne SQLTemplate List que vous venez d'ajouter et sélectionnez le modèle SQL du système adéquat dans la liste de modèles fournis par Talend.

Note : Vous pouvez créer vos propres modèles SQL et les ajouter à la liste SQLTemplate List.

Pour créer un nouveau modèle SQL :

1- Sélectionnez un modèle déjà existant dans la liste SQLTemplate list et cliquez dans son code dans le champ de code. Une boîte de dialogue s'ouvrira vous demandant de créer un nouveau modèle.

2- Cliquez sur Yes pour ouvrir la boîte de dialogue [New SQLTemplate].

3- Renseignez les informations de votre modèle SQL et cliquez sur Finish pour fermer la boîte de dialogue. Un éditeur de modèle SQL apparaît dans lequel vous pouvez saisir votre code.

4- Cliquez sur le bouton Add pour ajouter le nouveau modèle dans la liste SQLTemplate list.

Pour plus d'informations, consultez le Guide utilisateur du Studio Talend.

Global Variables

NB_LINE : nombre de lignes lues par un composant d'entrée ou passées à un composant de sortie. Cette variable est une variable After et retourne un entier.

QUERY : requête SQL traitée. Cette variable est une variable Flow et retourne une chaîne de caractères.

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

Ce composant est un composant intermédiaire. Vous pouvez l'utiliser avec d'autres composants de base de données, notamment les composants de connexion et de commit.

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Scénario : Filtrer et agréger les colonnes d'une table directement dans le SGBD

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.