tRedshiftInput

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 tRedshiftInput exécute une requête en base de données selon un ordre strict qui doit correspondre à celui défini dans le schéma. La liste des champs récupérée est ensuite transmise au composant suivant via une connexion de flux (Main row).

Objectif

Le tRedshiftInput lit une base de données et en extrait des champs à l'aide de requêtes.

Propriétés du tRedshiftInput

Famille du composant

Databases/Amazon/Redshift

 

Basic settings

Property type

Peut être Built-in ou Repository

 

 

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

 

 

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

 

Cliquez sur cette icône pour ouvrir l'assistant de configuration de connexion à la base de données et enregistrer les paramètres de connexion que vous avez définis dans la vue Basic settings du composant.

Pour plus d'informations sur comment définir et stocker des paramètres de connexion de base de données, consultez le Guide utilisateur du Studio Talend.

 

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.

 

Host

Adresse IP du serveur de la base de données.

 

Port

Numéro du port d'écoute du serveur de base de données.

 

Database

Nom de la base de données.

 

Schema

Nom exact du schéma.

 

Username et Password

Informations d'authentification de l'utilisateur de 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.

 Additional JDBC Parameters

Définissez des propriétés JDBC supplémentaires pour la connexion que vous créez. Les propriétés sont séparées par une esperluette et chaque propriété est une paire clé-valeur. Par exemple, ssl=true & sslfactory=com.amazon.redshift.ssl.NonValidatingFactory, qui signifie que la connexion sera créée en utilisant le SSL.

 

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.

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

 

 

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.

  

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

 

Table Name

Nom de la table de base de données.

 

Query Type et Query

Saisissez votre requête de base de données en faisant attention à ce que l'ordre des champs corresponde à celui défini dans le schéma.

 

Guess Query

Cliquez sur le bouton Guess Query pour générer la requête correspondant au schéma de votre table dans le champ Query.

 

Guess schema

Cliquez sur ce bouton pour récupérer le schéma de la table.

Advanced settings

Log file

Spécifiez le chemin du fichier de log à générer pendant le processus de récupération des données.

Notez que si les informations de log doivent être sauvegardées et que si ce composant réutilise la connexion créée par un composant tRedshiftConnection, vous devez spécifier la propriété loglevel=1/2/3 dans le champ Additional JDBC Parameters du composant tRedshiftConnection.

 

Logging level

Dans la liste déroulante, sélectionnez un niveau de log pour définir le type d'événements à enregistrer dans le fichier de log.

 

Use cursor

Cochez cette case et définissez le nombre de lignes avec lesquelles vous souhaitez travailler en une fois. Cette option permet d'optimiser les performances.

 

Trim all the String/Char columns

Cochez cette case pour supprimer les espaces en début et en fin de champ dans toutes les colonnes contenant des chaînes de caractères.

 

Trim column

Supprime les espaces en début et en fin de champ dans les colonnes sélectionnées.

 

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

NB_LINE : nombre de lignes traitées. Cette variable est une variable After et retourne un entier.

QUERY : requête 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 couvre toutes les possibilités de requête SQL dans les bases de données Amazon Redshift.

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

Du fait d'une incompatibilité de licence, un ou plusieurs Jar requis pour utiliser ce composant ne sont pas fournis. Vous pouvez installer les Jar manquants pour ce composant en cliquant sur le bouton Install dans l'onglet Component. Vous pouvez également trouver les Jar manquants et les ajouter dans l'onglet Modules de la perspective Integration de votre studio. Pour plus d'informations, consultez l'article Installation de modules externes sur Talend Help Center (https://help.talend.com) ou la section décrivant comment configurer le studio, dans le Guide d'installation et de migration Talend.

Scénario : Manipuler des données avec Redshift

Ce scénario décrit un Job qui écrit des informations personnelles dans Redshift puis récupère ces informations et les affiche dans la console.

Le scénario utilise les six composants suivants :

  • un tRedshiftConnection, qui ouvre une connexion à Redshift.

  • un tFixedFlowInput, qui définit la structure des informations personnelles et envoie ces données au composant suivant.

  • un tRedshiftOutput, qui écrit les données reçues par le composant précédent dans Redshift.

  • un tRedshiftInput, qui lit les données depuis Redshift.

  • un tLogRow, qui affiche les données reçues par le composant précédent dans la console.

  • et un tRedshiftClose, qui ferme la connexion à Redshift.

Déposer et relier les composants

  1. Déposez les six composants listés précédemment depuis la Palette dans l'espace de modélisation graphique.

  2. Reliez le tFixedFlowInput au tRedshiftOutput à l'aide d'un lien Row > Main.

  3. Reliez le tRedshiftInput au tLogRowà l'aide d'un lien Row > Main.

  4. Reliez le tRedshiftConnection au tFixedFlowInput à l'aide d'un lien Trigger > OnSubjobOk.

  5. Reliez le tFixedFlowInput au tRedshiftInput et le tRedshiftInput au tRedshiftClose à l'aide de liens Trigger > OnSubjobOk.

Configurer les composants

Ouvrir une connexion à Redshift

  1. Double-cliquez sur le tRedshiftConnection afin d'ouvrir sa vue Basic settings.

  2. Sélectionnez Built-Indepuis la liste Property Type.

    Dans les champs Host, Port, Database, Schema, Username et Password, saisissez les informations nécessaires pour se connecter à Redshift.

  3. Dans la vue Advanced settings, cochez la case Auto Commit afin de commiter tous les changements à vers Redshift à chaque transaction.

Définir les données d'entrée

  1. Double-cliquez sur le tFixedFlowInput afin d'ouvrir sa vue Basic settings.

  2. Cliquez sur le bouton [...] à côté du champ Edit schema afin d'ouvrir l'éditeur de schéma.

  3. Dans l'éditeur de schéma, cliquez sur le bouton [+] pour ajouter trois colonnes : id de type Integer, name de type String et age de type Integer.

  4. Cliquez sur OK pour valider les modifications puis acceptez la propagation proposée par la fenêtre pop-up [Propagate] en appuyant sur le bouton Yes.

  5. Dans la zone Mode, sélectionnez Use Inline Content (delimited file) et saisissez les informations personnelles dans le champ Content.

    1;Arthur;16
    2;Ford;18
    3;Jackson;17

Écrire les données dans Redshift

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

  2. Cochez la case Use an existing connection puis sélectionnez la connexion précédemment configurée dans le tRedshiftConnection, dans la liste déroulante Component List.

  3. Dans le champ Table, parcourez ou saisissez le chemin d'accès à la table dans laquelle écrire les données, redshiftexample dans ce scénario.

  4. Sélectionnez Drop table if exists and create dans la liste Action on table et sélectionnez Insert dans la liste Action on data.

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

Récupérer les données de Redshift

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

  2. Cochez la case Use an existing connection et sélectionnez la connexion précédemment configurée dans le tRedshiftConnection, dans la liste Component List.

  3. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur de schéma.

  4. Dans l'éditeur de schéma, cliquez trois fois sur le bouton [+] pour ajouter trois colonnes, respectivement : id, de type Integer, name, de type String et age, de type Integer. La structure des données est la même que celle définie dans le tFixedFlowInput.

  5. Cliquez sur OK afin de valider les modifications, puis acceptez la propagation proposée par la fenêtre [Propagate] qui s'ouvre.

  6. Dans le champ Table Name, parcourez ou saisissez le chemin d'accès à la table dans laquelle vous souhaitez écrire les données, redshiftexample dans cet exemple.

  7. Cliquez sur le bouton Guess Query pour générer la requête. Le champ Query contient automatiquement la requête générée.

Afficher les informations définies

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