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

Propriétés du tCombinedSQLAggregate

Famille de composant

ELT/CombinedSQL

 

Fonction

Le composant tCombinedSQLAggregate collecte les valeurs de données d'une ou plusieurs colonnes d'une table dans des buts statistiques. Ce composant exécute en temps réel des transformations de données dans le SGBD lui-même.

Objectif

Ce composant fournit un ensemble de matrices basées sur des valeurs ou sur des calculs.

Basic settings

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].

Cliquez sur le bouton Sync columns afin de récupérer le schéma du composant précédent.

 

 

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.

 

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 : Sélectionnez les libellés des colonnes d'entrée afin de les faire correspondre au contenu attendu 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.

 

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 l'une des opérations suivantes à effectuer sur les données : count, min, max, avg, sum, first, last, distinct et count (distinct).

 

 

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

Advanced settings

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du Job ainsi qu'au niveau de chaque composant.

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 Flow 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 utilisé en tant que composant intermédiaire avec d'autres composants de bases de données, en particulier les composants de connexion et de commit.

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

Le scénario suivant crée un Job ouvrant une connexion à une base de données MySQL et :

  • instancie en partie les schémas d'une table de base de données (pour filtrer les colonnes),

  • filtre deux colonnes dans la même table afin de ne garder que les données correspondant aux deux conditions de filtre,

  • collecte les données des colonnes filtrées, regroupées par valeur(s) spécifique(s) et écrit les données agrégées dans une table cible de base de données.

Pour filtrer et agréger les colonnes d'une table de base de données :

  • Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : tMysqlConnection, tCombinedSQLInput, tCombinedSQLFilter, tCombinedSQLAggregate, tCombinedSQLOutput et tMysqlCommit.

  • Connectez les composants tMysqlConnection, tCombinedSQLInput et tMysqlCommit à l'aide de liens OnSubjobOk.

  • Connectez les composants tCombinedSQLInput, tCombinedSQLFilter, tCombinedSQLAggregate et tCombinedSQLOutput à l'aide d'un lien Combine.

  • Dans l'espace de modélisation graphique, double-cliquez sur le composant tMysqlConnection pour afficher sa vue Component et définir ses propriétés de base.

  • Dans la vue Basic settings, configurez manuellement les informations de connexion à la base de données ou sélectionnez Repository dans la liste Property Type si votre connexion à la base de données a déjà été configurée et stockée sous le nœud Metadata de la vue Repository.

Pour plus d'informations concernant le stockage des métadonnées dans le Repository, consultez le Guide utilisateur du Studio Talend.

  • Dans l'espace de modélisation graphique, double-cliquez sur le composant tCombinedSQLInput pour afficher sa vue Component et définir ses propriétés de base.

  • Dans le champ Table, saisissez le nom de la table source puis cliquez sur le bouton [...] à côté du champ Edit schema afin de définir la structure des données.

Note

Le schéma défini dans le composant tCombinedSQLInput peut être différent de celui de la table source, puisque vous pouvez instancier uniquement les colonnes souhaitées de la table source. Le tCombinedSQLInput joue également un rôle de filtre des colonnes.

Dans ce scénario, la table de la base de données source contient sept colonnes : id, first_name, last_name, city, state, date_of_birth, ainsi que salary et le composant tCombinedSQLInput instancie uniquement les quatre colonnes nécessaires à l'agrégation : id, state, date_of_birth, et salary de la table source.

  • Dans l'espace de modélisation graphique, double-cliquez sur le composant tCombinedSQLFilter afin d'afficher sa vue Component et définir ses propriétés de base.

  • Cliquez sur le bouton Sync columns pour récupérer le schéma du composant précédent, ou configurez manuellement le schéma en sélectionnant Built-in dans la liste Schema et en cliquant sur le bouton [...] à côté du champ Edit schema.

Note

Lorsque vous définissez la structure des données du composant tCombinedSQLFilter, le nom des colonnes apparaît automatiquement dans la liste Input column dans le tableau Conditions.

Dans ce scénario, le composant tCombinedSQLFilter instancie quatre colonnes : id, state, date_of_birth, et salary.

  • Dans le tableau Conditions, configurez les paramètres d'entrée, les opérateurs et les valeurs attendues pour extraire les enregistrements correspondant aux critères spécifiés.

Dans ce scénario, le composant tCombinedSQLFilter filtre les colonnes state et date_of_birth dans la table source afin d'extraire uniquement les employés nés après le 19 octobre 1960, habitant dans les Etats UtahOhio et Iowa.

  • Sélectionnez And dans la liste Logical operator between conditions afin d'appliquer les deux conditions à la fois. Vous pouvez également personnaliser les conditions en cochant la case Use custom SQL et en éditant les conditions dans le champ de texte.

  • Dans l'espace de modélisation graphique, double-cliquez sur le composant tCombinedSQLAggregate afin d'afficher sa vue Component et définir ses propriétés de base.

  • Cliquez sur le bouton Sync columns pour récupérer le schéma du composant précédent, ou configurez manuellement le schéma en sélectionnant Built-in dans la liste Schema et en cliquant sur le bouton [...].

Le composant tCombinedSQLAggregate instancie quatre colonnes : id, state, date_of_birth, et salary, provenant du composant précédent.

Le tableau Group by vous permet de définir les ensembles de données à traiter à partir d'une colonne définie, State dans cet exemple.

  • Dans le tableau Group by, cliquez sur le bouton [+] pour ajouter une ligne.

  • Dans la liste déroulante Output column, sélectionnez State. Cette colonne sera utilisée pour stocker les données filtrées de la colonne State.

Le tableau Operations vous permet de configurer le type d'agrégation à effectuer. La liste disponible dans la colonne Output column dépend du schéma que vous souhaitez écrire en sortie (via le composant tCombinedSQLOutput). Dans ce scénario, le but est de regrouper les employés selon l'Etat dans lequel il vivent, de calculer le nombre d'employés par Etat, les salaires moyen/minimum/maximum ainsi que de retourner la date de naissance de l'employé le plus âgé et de l'employé de plus jeune de chaque état.

  • Dans le tableau Operations, cliquez sur le bouton [+] pour ajouter une ou plusieurs ligne(s) puis cliquez dans la liste Output column afin de sélectionner la colonne de sortie qui contiendra les données calculées.

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

  • Dans l'espace de modélisation graphique, double-cliquez sur le tCombinedSQLOutput afin d'afficher sa vue Component et définir ses propriétés de base.

  • Dans la liste Database type, sélectionnez la base de données correspondante.

  • Dans la liste Component List, sélectionnez le composant de connexion correspondant si plus d'un composant de connexion est utilisé.

  • Dans le champ Table, saisissez le nom de la table cible qui stockera les résultats agrégés.

Note

Dans cet exemple, il n'est pas nécessaire de renseigner le champ Schema, puisque la base de données utilisée est Oracle.

  • Cliquez sur le bouton [...] à côté du champ Edit schema pour définir la structure des données de la table cible.

Dans ce scénario, le composant tCombinedSQLOutput instancie sept colonnes provenant du composant précédent dans le Job (tCombinedSQLAggregate) : state, empl_count, avg_salary, min_salary, max_salary, oldest_empl et youngest_empl.

  • Dans l'espace de modélisation graphique, double-cliquez sur le tCombinedSQLCommit afin d'afficher sa vue Component et définir ses propriétés de base.

  • Dans la liste Component list, sélectionnez le composant de connexion à la base de données correspondant si plusieurs ont été utilisés.

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

Des lignes sont insérées dans une table composée de sept colonnes, empl_by_state, dans la base de données. La table affiche, par Etat défini, le nombre d'employés, les salaires moyen/minimum/maximum et retourne la date de naissance de l'employé le plus âgé et de l'employé le plus jeune de chaque état.