tDenormalize

Composants Talend Open Studio Guide de référence

EnrichVersion
6.3
EnrichProdName
Talend Open Studio for Data Quality
Talend Open Studio for Big Data
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Open Studio for Data Integration
task
Gouvernance de données
Qualité et préparation de données
Création et développement
EnrichPlatform
Studio Talend

Fonction

Le composant tDenormalize dénormalise un flux entrant en fonction d'une colonne.

Objectif

Le tDenormalize permet de synthétiser un flux entrant.

Propriétés du tDenormalize

Famille du composant

Processing/Fields

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, cliquez sur 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.

To denormalize

Ce tableau vous permet de choisir les paramètres de dénormalisation des colonnes.

Column : Sélectionnez la colonne à dénormaliser.

Delimiter : Saisissez, entre guillemets doubles, le séparateur que vous souhaitez utiliser.

Merge same value : Cochez cette case si vous voulez fusionner les valeurs identiques.

Advanced settings

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.

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.

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 peut être utilisé en étape intermédiaire dans un flux de données.

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

Limitation

Notez que ce composant peut changer l'ordre du flux Java entrant.

Scénario : Dénormaliser une colonne

Ce scénario illustre un Job dénormalisant une colonne d'un fichier délimité via un composant de dénormalisation, et affichant le résultat dans la console.

  1. Cliquez et déposez les composants suivants : tFileInputDelimited, tDenormalize, tLogRow.

  2. Connectez ces composants à l'aide d'un lien Row main.

  3. Dans la vue Component du composant tFileInputDelimited, renseignez le chemin d'accès au fichier à dénormaliser.

  4. Dans les champs Header, Row Separator et Field Separator, renseignez respectivement le nombre de lignes d'en-tête, le type de séparateur de lignes et de champs.

  5. Le fichier d'entrée est composé de deux colonnes : Fathers et Children.

  6. Dans l'onglet Basic settings du tDenormalize, paramétrez la colonne contenant des valeurs multiples à regrouper. Dans le tableau To denormalize, sélectionnez la colonne Children.

  7. Dans cet exemple, la colonne Children est celle à dénormaliser.

  8. Dans le champ Delimiter, paramétrez le séparateur des valeurs regroupées. Attention, une seule colonne peut être dénormalisée.

  9. Cochez la case Merge same value si vous souhaitez supprimer les éventuels doublons.

  10. Enregistrez le Job et exécutez-le en appuyant sur F6.

Toutes les valeurs de la colonne Children (définie comme colonne à dénormaliser) sont regroupées en fonction des valeurs de la colonne Fathers. Les valeurs sont séparées par des virgules.

Scénario 2 : Dénormaliser plusieurs colonnes

Ce scénario illustre un Job dénormalisant deux colonnes d'un fichier délimité via un composant de dénormalisation et affichant le résultat dans la console.

  1. Cliquez et déposez les composants suivants : tFileInputDelimited, tDenormalize, tLogRow.

  2. Connectez tous les composants à l'aide d'une connexion Row > main.

  3. Dans l'onglet Basic settings du composant tFileInputDelimited, renseignez le chemin d'accès au fichier à dénormaliser.

  4. Renseignez les autres champs, dont les champs Row Separator, Field separators et Header contenant respectivement les séparateurs de lignes et de champs et le nombre de lignes d'en-tête.

  5. Le schéma du fichier est composé de quatre colonnes : Name, FirstName, HomeCity, WorkCity.

  6. Dans l'onglet Basic settings du composant tDenormalize, sélectionnez les colonnes contenant les répétitions. Elles correspondent aux colonnes apparaissant plusieurs fois dans le document. Dans cet exemple, FirstName, HomeCity et WorkCity sont les colonnes à partir desquelles la dénormalisation est effectuée.

  7. Ajoutez autant trois lignes à la table To denormalize que vous le souhaitez en cliquant sur le bouton [+]. Puis sélectionnez les colonnes FirstName, HomeCity et WorkCity dans la liste déroulante.

  8. Dans la colonne Delimiter, paramétrez les délimiteurs en les saisissant entre guillemets, afin de séparer les valeurs concaténées. Pour la colonne FirstName, saisissez "#", pour la colonne HomeCity, saisissez "§", et pour la colonne WorkCity, saisissez "¤".

  9. Enregistrez le Job et exécutez-le, en appuyant sur F6.

    Le résultat affiche les valeurs dénormalisées concaténées à l'aide des séparateurs.

  10. Dans l'onglet Basic settings du composant tDenormalize, dans le tableau To denormalize, cochez la case Merge same value pour fusionner les valeurs identiques.

  11. Enregistrez le Job et exécutez-le en appuyant sur F6.

Cette fois-ci, la console affiche les résultats sans doublon.