tELTTeradataMap - 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 de tELTTeradataMap

Les composants tELTTeradataInput, tELTTeradataOutput, et tELTTeradataMap sont très proches dans leurs conditions de fonctionnement. En effet, ces trois composants sont conçus pour manipuler des schémas de données d'une base Teradata afin de générer des commandes Insert y compris des clauses, et ces commandes devront être exécutées dans la table de sortie définie.

Famille du composant

ELT/Map/Teradata

 

Fonction

Permet de construire votre commande SQL graphiquement en utilisant la table fournie en entrée.

Objectif

Utilise les tables fournies en entrée pour alimenter les paramètres nécessaires à l'exécution de la commande SQL souhaitée. La commande peut contenir des jointures internes comme externes entre différentes tables ou entre une table et ses alias.

Basic settings

Use an existing connection

Cochez cette case et sélectionnez le composant de connexion adéquat à partir de la liste Component List pour réutiliser les paramètres d'une connexion que vous avez déjà définie.

Note

Lorsqu'un Job contient un Job parent et un Job enfant, si vous souhaitez utiliser une connexion existant entre les deux niveaux, par exemple pour partager la connexion créée par le Job parent avec le Job enfant, vous devez :

  1. Au niveau parent, enregistrer la connexion à la base de données à partager, dans la vue Basic settings du composant de connexion créant cette connexion.

  2. Au niveau enfant, utiliser un composant dédié à la création de connexion, afin de lire la connexion enregistrée.

Pour plus d'informations concernant le partage d'une connexion à travers différents niveaux de Jobs, consultez le Guide utilisateur du Studio Talend.

 

ELT Teradata Map editor

L'éditeur ELT du Mapper vous permet de définir le schéma de sortie ainsi que de construire graphiquement la commande SQL à exécuter. Le nom des colonnes du schéma peut être différent du nom des colonnes dans la base de données.

 

Property type

Peut être Built-in ou Repository.

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

 

 

Built-in : Propriétés utilisées ponctuellement.

 

 

Repository : Sélectionnez le fichier de propriétés du composant. Les champs suivants sont alors pré-remplis à l'aide des données collectées.

 

Host

Adresse IP du serveur de base de données.

 

Database

Nom de la base de données.

 

Username et Password

Données d'authentification de l'utilisateur de la base de données.

Pour saisir le mot de passe, cliquez sur le bouton [...] à côté du champ Password, puis, dans la boîte de dialogue qui s'ouvre, saisissez le mot de passe entre guillemets doubles, puis cliquez sur OK afin de sauvegarder les paramètres.

Advanced settings

Query band

Cochez cette case pour utiliser la fonctionnalité Teradata Query Banding afin d'ajouter les métadonnées à la requête à traiter, comme le nom de l'utilisateur exécutant la requête. Cela peut vous permettre, par exemple, d'identifier l'origine de la requête.

Une fois la case cochée, la table Query Band parameters s'affiche, dans laquelle vous pouvez saisir les informations des métadonnées à ajouter. Cette information prend la forme de paires clé/valeur, par exemple, DpID dans la colonne Key et Finance dans la colonne Value.

Cette case permet de générer l'instruction SET QUERY_BAND FOR SESSION avec les paires clé/valeur déclarées dans la table Query Band parameters. Pour plus d'informations concernant cette instruction, consultez http://www.info.teradata.com/HTMLPubs/DB_TTU_14_00/index.html#page/SQL_Reference/B035_1144_111A/End_Logging-Syntax.027.143.html (en anglais).

Cette case est indisponible lorsque vous avez coché la case Using an existing connection. Dans ce cas, si vous devez utiliser la fonctionnalité Query band, configurez-la dans l'onglet Advanced settings du composant de connexion Teradata à utiliser.

 

tStatCatcher Statistics

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

Dynamic settings

Cliquez sur le bouton [+] pour ajouter une ligne à la table. Dans le champ Code, saisissez une variable de contexte afin de sélectionner dynamiquement votre connexion à la base de données parmi celles prévues dans votre Job. Cette fonctionnalité est utile si vous devez accéder à plusieurs tables de bases de données ayant la même structure mais se trouvant dans différentes bases de données, en particulier lorsque vous travaillez dans un environnement dans lequel vous ne pouvez pas changer les paramètres de votre Job, par exemple lorsque votre Job doit être déployé et exécuté dans un Studio Talend indépendant.

La table Dynamic settings n'est disponible que si la case Use an existing connection est cochée dans la vue Basic settings. Lorsqu'un paramètre dynamique est configuré, la liste Component List devient inaccessible dans la vue Basic settings.

Pour des exemples sur l'usage des paramètres dynamiques, consultez Scénario 3 : Lire des données dans des bases de données MySQL à l'aide de connexions dynamiques basées sur les variables de contexte et Scénario : Lire des données à partir de différentes bases de données MySQL à l'aide de paramètres de connexion chargés dynamiquement. Pour plus d'informations concernant les Dynamic settings et les variables de contexte, consultez le Guide utilisateur du Studio Talend.

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

L'utilisation du composant tELTTeradataMap est étroitement liée à celle des composants tELTTeradataInput et tELTTeradataOutput. Notez que le lien de sortie (output) à utiliser avec ces deux composants doit respecter strictement la syntaxe du nom de la table.

Note

Les composants ELT ne traitent pas le flux de données lui-même mais uniquement les informations du schéma.

Connecter les composants ELT

Pour plus d'informations concernant la connexion des composants ELT, consultez Connecter les composants ELT

Voir également le Guide utilisateur du Studio Talend.

Tables de jointure et de correspondance

Dans le Mapper ELT, vous pouvez sélectionner des colonnes des schémas d'entrée et les intégrer dans le schéma de sortie.

Pour plus d'informations concernant la mise en correspondance et les jointures, consultez Mapping et jointures sur les tables.

Ajouter des clauses WHERE et d'autres clauses

Vous pouvez également restreindre une requête Select à l'aide d'une clause WHERE et/ou à l'aide d'autres clauses telles que GROUP BY, ORDER BY, etc., en cliquant sur le bouton Add filter row situé en haut de la table de sortie dans l'éditeur de map.

Pour ajouter une restriction à l'aide d'une clause WHERE, cliquez sur le bouton Add filter row et sélectionnez Add a WHERE clause dans le menu qui s'ouvre.

Pour ajouter une restriction à l'aide de GROUP BY, ORDER BY, etc., cliquez sur le bouton Add filter row et sélectionnez Add an other(GROUP...) clause dans le menu qui s'ouvre.

Veillez à ce que les composants d'entrée soient tous liés correctement au composant ELT Map pour garantir que les inclusions, jointures et clauses fonctionnent.

Générer la requête SQL

La mise en correspondance d'éléments des schémas d'entrée avec le schéma de sortie crée automatiquement la requête Select correspondante.

La/les clause(s) définie(s) dans le mapper ELT est (sont) également intégrée(s) automatiquement dans la requête.

Scénario : Mapper des données à l'aide d'une sous-requête

Ce scénario décrit un Job mappant des données des deux tables d'entrée PreferredSubject et CourseScore vers la table de sortie TotalScoreOfPreferredSubject à l'aide d'une sous-requête.

La table PreferredSubject contient les données des matières préférées des étudiants. Pour reproduire ce scénario, vous pouvez charger des données dans la table à partir d'un fichier CSV comme suit. Pour plus d'informations concernant comment charger des données dans une table Teradata, consultez Scénario : Charger des données dans une base de données Teradata.

SeqID;StuName;Subject;Detail
1;Amanda;art;Amanda prefers art.
2;Ford;science;Ford prefers science.
3;Kate;art;Kate prefers art.

La table CourseScore contient les scores des étudiants dans leur matière favorite. Pour reproduire ce scénario, vous pouvez charger des données dans la table à partir d'un fichier CSV comme suit. Pour plus d'informations concernant comment charger des données dans une table Teradata, consultez Scénario : Charger des données dans une base de données Teradata.

SeqID;StuName;Subject;Course;Score;Detail
1;Amanda;science;math;85;science score
2;Amanda;science;physics;75;science score
3;Amanda;science;chemistry;80;science score
4;Amanda;art;chinese;85;art score
5;Amanda;art;history;95;art score
6;Amanda;art;geography;80;art score
7;Ford;science;math;95;science score
8;Ford;science;physics;85;science score
9;Ford;science;chemistry;80;science score
10;Ford;art;chinese;75;art score
11;Ford;art;history;80;art score
12;Ford;art;geography;85;art score
13;Kate;science;math;65;science score
14;Kate;science;physics;75;science score
15;Kate;science;chemistry;80;science score
16;Kate;art;chinese;85;art score
17;Kate;art;history;80;art score
18;Kate;art;geography;95;art score

Avant exécution du Job, il n'y a aucune donnée dans la table de sortie TotalScoreOfPreferredSubject :

SeqID;StuName;PreferredSubject;TotalScore

Déposer et renommer les composants

  1. Créez un nouveau Job et ajoutez les composants suivants en saisissant leur nom dans l'espace de modélisation graphique ou en les déposant à partir de la Palette : deux tELTTeradataInput, deux tELTTeradataMap et un tELTTeradataOutput.

  2. Renommez les tELTTeradataInput en PreferredSubject et CourseScore respectivement, les deux tELTTeradataMap en ELTSubqueryMap et ELTMap et le tELTTeradataOutput en TotalScoreOfPreferredSubject.

Configurer les composants d'entrée

  1. Double-cliquez sur le composant PreferredSubject pour ouvrir sa vue Basic settings.

  2. Dans le champ Default Table Name, saisissez un nom pour la table d'entrée. Dans cet exemple, nommez-la PreferredSubject.

  3. Cliquez sur le bouton [...] à côté du champ Edit schema pour définir le schéma de la table d'entrée dans l'éditeur du schéma.

    Cliquez quatre fois sur le bouton [+] pour ajouter quatre colonnes : SeqID dont le DB Type est INTEGER, StuName, Subject et Detail dont le DB Type est VARCHAR.

    Cliquez sur OK pour valider ces modifications et fermer l'éditeur du schéma.

  4. Connectez le PreferredSubject au ELTMap à l'aide d'un lien Link > PreferredSubject (Table).

  5. Double-cliquez sur le CourseScore pour ouvrir sa vue Basic settings.

  6. Dans le champ Default Table Name, saisissez le nom de la table d'entrée. Dans cet exemple, saisissez CourseScore.

  7. Cliquez sur le bouton [...] à côté du champ Edit schema pour définir le schéma de la table d'entrée dans l'éditeur du schéma.

    Cliquez six fois sur le bouton [+] pour ajouter six colonnes, SeqID et Score dont le DB Type est INTEGER, StuName, Subject, Course et Detail dont le DB Type est VARCHAR.

    Cliquez sur OK pour valider ces modifications et fermer l'éditeur du schéma.

  8. Reliez le CourseScore au ELTSubqueryMap à l'aide d'un lien Link > CourseScore (Table).

Configurer le composant de sortie

  1. Double-cliquez sur le composant TotalScoreOfPreferredSubject pour ouvrir sa vue Basic settings.

  2. Dans le champ Default Table Name, saisissez un nom pour la table de sortie. Dans cet exemple, saisissez TotalScoreOfPreferredSubject.

  3. Cliquez sur le bouton [...] à côté du champ Edit schema afin de définir le schéma de la table de sortie dans l'éditeur du schéma.

    Cliquez quatre fois sur le bouton [+] pour ajouter quatre colonnes, SeqID et TotalScore dont le DB Type est INTEGER, StuName et PreferredSubject dont le DB Type est VARCHAR.

    Cliquez sur OK pour valider ces modifications et fermer l'éditeur du schéma.

Configurer le mapping des données afin de générer une sous-requête

  1. Double-cliquez sur le ELTSubqueryMap pour ouvrir sa vue Basic settings.

    Vous n'avez pas besoin de spécifier les informations de connexion à la base de données Teradata dans le composant ELTSubqueryMap. Les informations de connexion sont spécifiées dans le composant ELTMap.

  2. Cliquez sur le bouton [...] du champ ELT Teradata Map Editor pour ouvrir son éditeur.

  3. Ajoutez la table d'entrée CourseScore en cliquant sur le bouton [+] dans le coin supérieur gauche de l'éditeur de mapping et sélectionnez le nom de la table dans la liste déroulante de la boîte de dialogue qui s'ouvre.

  4. Ajoutez une table de sortie en cliquant sur le bouton [+] dans le coin supérieur droit de l'éditeur et en saisissant le nom de la table TotalScore dans le champ correspondant de la boîte de dialogue.

  5. Cliquez sur les colonnes StuName, Subject et Score dans la table d'entrée et déposez-les dans la table de sortie.

  6. Cliquez sur le bouton Add filter row dans le coin supérieur droit de la table de sortie et sélectionnez Add an other(GROUP...) clause dans le menu contextuel. Dans le champ Additional other clauses (GROUP/ORDER BY...), saisissez la clause GROUP BY CourseScore.StuName, CourseScore.Subject.

    Ajoutez la fonction d'agrégation SUM pour la colonne Score de la table de sortie en modifiant l'expression de cette colonne en SUM(CourseScore.Score).

  7. Cliquez sur l'onglet Generated SQL Select query for "table1" output au bas de l'éditeur de mapping pour afficher l'instruction SQL correspondante générée.

    Cette requête SQL apparaît comme sous-requête SQL générée par le composant ELTMap.

  8. Cliquez sur OK pour valider les modifications et fermer l'éditeur de mapping.

  9. Reliez le ELTSubqueryMap au ELTMap à l'aide d'un lien Link > TotalScore (table1). Notez que le lien est automatiquement renommé en TotalScore (Table_ref) car la table de sortie TotalScore est une table de référence.

Mapper les schémas d'entrée et de sortie

  1. Cliquez-droit sur le composant ELTMap, sélectionnez Link > *New Output* (Table) dans le menu contextuel et cliquez sur TotalScoreOfPreferredSubject. Dans la boîte de dialogue qui s'ouvre, cliquez sur Yes pour récupérer le schéma du composant cible.

  2. Cliquez sur le ELTMap pour ouvrir sa vue Basic settings.

    Dans les champs Host, Database, Username et Password, saisissez vos informations de connexion à la base de données Teradata.

  3. Cliquez sur le bouton [...] à côté du champ ELT Teradata Map Editor pour ouvrir son éditeur.

  4. Ajoutez la table d'entrée PreferredSubject en cliquant sur le bouton [+] dans le coin supérieur gauche de l'éditeur et sélectionnez le nom de la table souhaitée dans la liste de la boîte de dialogue.

    Répétez l'opération pour ajouter une autre table d'entrée, TotalScore.

  5. Cliquez sur la colonne StuName de la table d'entrée PreferredSubject et déposez-la dans la colonne correspondante de la table d'entrée TotalScore. Cochez la case Explicit join de la colonne StuName dans la table TotalScore.

    Répétez l'opération avec la colonne Subject.

  6. Cliquez sur la colonne SeqID de la table d'entrée PreferredSubject et déposez-la dans la colonne correspondante de la table de sortie.

    Répétez l'opération avec les colonnes StuName et Subject de la table d'entrée PreferredSubject et la colonne Score de la table d'entrée TotalScore.

  7. Cliquez sur l'onglet Generated SQL Select query for "table2" output au bas de l'éditeur de mapping pour afficher l'instruction SQL correspondante générée.

    La requête SQL générée dans le composant ELTSubqueryMap apparaît comme sous-requête dans la requête QSL générée par ce composant. L'alias est automatiquement ajouté pour les colonnes sélectionnées dans la sous-requête

  8. Cliquez sur OK pour valider les modifications et fermer l'éditeur de mapping.

Exécuter le Job

  1. Appuyez sur les touches Ctrl + S pour sauvegarder le Job.

  2. Appuyez sur F6 pour l'exécuter.

    L'instruction sélectionnée est générée et les données de mapping sont écrites dans la table de sortie.

Scénarios associés

Pour des scénarios associés, consultez les scénarios suivants du composant tELTMysqlMap :