tELTTeradataMap - 6.3

Composants Talend Guide de référence

EnrichVersion
6.3
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

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.

Fonction

Le tELTTeradataMap 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.

Propriétés du tELTTeradataMap

Famille du composant

ELT/Map/Teradata

 

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

Les composants ELT ne gèrent pas de données mais des informations relatives à des schémas de tables qui seront utilisées pour construire la requête SQL à exécuter. La seule connexion requise pour connecter ces composants est un lien simple.

Notez que le nom de sortie que vous donnez au lien lors de sa création doit toujours être le nom exact de la table à laquelle accéder, car ce paramètre sera utilisé dans l'instruction SQL générée.

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

Mapper et effectuer une jointure sur les tables

Dans l'ELT Mapper, vous pouvez sélectionner des colonnes spécifiques du schéma d'entrée et les inclure dans le schéma de sortie.

  • Comme dans un éditeur de mapping normal, glissez-déposez simplement les colonnes du schéma d'entrée vers la table de sortie définie.

  • Utilisez les touches Ctrl ou Majuscule pour une sélection multiple de colonnes contiguës ou non.

Vous pouvez implémenter des jointures explicites pour récupérer des données diverses de différentes tables.

  • Cochez la case Explicit join de la colonne correspondante du schéma d'entrée et sélectionnez dans la liste un type de jointure, dans le coin supérieur droit du schéma d'entrée.

  • Les jointures possibles sont les suivantes : INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN et CROSS JOIN. Par défaut, la jointure INNER JOIN est sélectionnée.

Vous pouvez également créer des tables d'alias afin de récupérer des données diverses de la même table.

  • Dans la zone d'entrée, cliquez sur le bouton [+] dans le coin supérieur gauche de l'éditeur de mapping afin de créer un nouvel alias.

  • Sélectionnez la table sur laquelle se base l'alias.

  • Saisissez un nouveau nom pour la table d'alias. Il n'est pas recommandé de ne pas saisir le même nom que celui de la table principale.

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 une instruction SQL

Le mapping d'éléments des schémas d'entrée vers les schémas de sortie crée instantanément l'instruction SELECT correspondante. Les clauses sont automatiquement incluses.

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.