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

Fonction

Le composant tAggregateRow reçoit un flux de données et fait une agrégation basée sur une ou plusieurs colonnes. Pour chacune des lignes en sortie, une clé d'agrégation est fournie, ainsi que le résultat de l'opération d'agrégation correspondant (min, max, sum, etc.).

Objectif

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

Propriétés du tAggregateRow

Famille de composant

Processing

Basic settings

Schema et Edit Schema

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

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 est créé et conservé ponctuellement pour ce composant seulement. Voir également le Guide utilisateur du Studio Talend.

 

 

Repository : Le schéma existe déjà et il est stocké dans le Repository. Ainsi, il peut être réutilisé. 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.

Ex : Sélectionnez Country (Pays) pour calculer la moyenne des valeurs pour chaque pays ou sélectionnez Country et Region pour comparer les résultats des régions d'un pays par rapport aux régions d'un autre pays.

 

 

Input Column : 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.

 

Operations

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

 

 

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

 

 

Fonction : Sélectionnez l'opérateur parmi :

count : calcule le nombre de ligne,

min : sélectionne la plus petite valeur,

max : sélectionne la plus grande valeur,

avg : calcule la moyenne,

sum : calcule la somme,

first : retourne la première valeur,

last : retourne la dernière valeur,

list : liste les valeurs d'une agrégation de plusieurs clés.

list (object) : liste les valeurs Java d'une agrégation de plusieurs clés,

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

standard deviation : calcule l'écart-type.

 

 

Input column position : Sélectionnez la colonne d'entrée à partir de laquelle les valeurs sont collectées pour l'agrégation.

 

 

Ignore null values : Cochez cette case devant le nom de toutes les colonnes pour lesquelles vous voulez que les valeurs nulles soient ignorées.

Advanced settings

Delimiter(only for list operation)

Saisissez le séparateur que vous souhaitez utiliser afin de séparer les différentes opérations.

 

Use financial precision, this is the max precision for "sum" and "avg" operations, checked option heaps more memory and slower than unchecked.

Cochez cette case afin d'utiliser une précision financière, une précision maximale, mais qui consomme plus de mémoire et rend le processus plus lent.

Avertissement

Il est conseillé d'utiliser le type BigDecimal en sortie avec cette option, afin d'obtenir des résultats précis.

 

Check type overflow (slower)

Vérifie les types des données afin d'éviter que le Job ne plante

 

Check ULP (Unit in the Last Place), ensure that a value will be incremented or decremented correctly, only float and double types. (slower)

Cochez cette case afin d'avoir la meilleure précision possible pour les types Float et Double.

 

tStatCatcher Statistics

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

Global Variables

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 car il traite un flux de données, par conséquent il requiert des composants en entrée comme en sortie. Généralement, l'utilisation du composant tAggregateRow est combinée au composant tSortRow.

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 : Agréger des valeurs et trier des données

Le scénario suivant décrit un Job à quatre composants. Le composant d'entrée, un fichier délimité CSV, contient des noms de pays et des valeurs de notation à trier par ordre décroissant de moyenne. Ce composant d'entrée est connecté à un opérateur tAggregateRow qui se charge de calculer les moyennes puis à un composant tSortRow qui se charge du tri. Le flux de sortie est dirigé dans un nouveau fichier CSV.

  • A partir du dossier File de la Palette, cliquez et déposez un composant tFileInputDelimited.

  • Cliquez sur le libellé du composant et renommez-le en Countries. Ou passez dans l'onglet View pour le changer.

  • Dans l'onglet Basic settings, définissez le chemin d'accès ainsi que les critères de délimitation. Ou sélectionnez l'entrée de métadonnées correspondant à votre fichier d'entrée, si vous en avez défini une.

  • Cliquez sur Edit schema... et paramétrez les colonnes : Countries et Points correspondant à la structure du fichier. Si la description du fichier est conservée dans les Metadata du Repository, le schéma est automatiquement chargé lorsque vous cliquez sur Repository dans le champ Schema.

  • Puis dans le dossier Processing de la Palette, cliquez et déposez le composant tAggregateRow. Renommez-le en Calculation.

  • Cliquez-droit et connectez Countries à Calculation à l'aide d'une connexion Row > Main.

  • Double-cliquez sur Calculation (composant tAggregateRow) pour définir les propriétés. Cliquez sur Edit schema et définissez le schéma de sortie. Vous pouvez ajouter autant de colonnes que vous le voulez selon le nombre d'opérations d'ensemble que vous souhaitez obtenir en sortie.

  • Dans cet exemple, calculez la moyenne de la notation par pays et affichez les valeurs minimale et maximale par pays, sachant que chaque pays possède plusieurs notes. Cliquez sur OK lorsque le schéma est terminé.

  • Définissez à présent les différentes opérations d'ensemble à effectuer. Dans le champ Group By de la fenêtre [Basic settings] du composant tAggregateRow, définissez les ensembles sur lesquels les opérations sont effectuées. Dans cet exemple, sélectionnez Country comme colonne de regroupement. Notez que dans la colonne de sortie, un champ clé doit être défini dans le schéma. La première colonne citée comme de sortie (Output) dans la table Group By devient l'ensemble principal de calcul. Toutes les autres sorties deviennent alors secondaires dans l'ordre d'affichage.

  • Sélectionnez la colonne d'entrée (Input) dont sont extraites les valeurs.

  • Puis renseignez les diverses opérations réalisées. Les fonctions utilisées dans cet exemple sont des moyennes (average), min, max. Sélectionnez la colonne d'entrée dont sont extraites les valeurs de calcul et sélectionnez les cases Ignore null values si nécessaire.

  • Cliquez-déposez un composant tSortRow dans l'espace de modélisation. Pour plus d'informations concernant ce composant, consultez Propriétés du tSortRow

  • Connectez-le au composant tAggregateRow à l'aide d'une connexion de type Row > Main.

  • Dans la vue Component du composant tSortRow, définissez la colonne de tri, le type ainsi que l'ordre de tri.

  • Dans ce scénario, la colonne à trier est Country, le type de tri est alphabétique et l'ordre est ascendant.

  • Ajoutez un composant de sortie à ce Job. Cliquez et déposez un composant tFileOutputDelimited et paramétrez-le.

  • Connectez le composant tSortRow à ce composant de sortie.

  • Dans la vue Component, saisissez le chemin d'accès au fichier de sortie. Cliquez sur Edit schema pour le configurer si nécessaire. Dans ce scénario, le fichier délimité est de type CSV.

    Cochez la case Include Header afin de réutiliser les libellés des colonnes du schéma dans le flux de sortie.

  • Appuyez sur F6 pour exécuter le Job. Le fichier CSV est ainsi créé et il contient les résultats des opérations d'agrégation.