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

Fonction

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

Note

Pour utiliser ce composant, les pilotes ODBC du SGBD doivent être installés et les connexions ODBC doivent être configurées via l'assistant de configuration de connexion à une base de données.

Objectif

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

Note

Pour des raisons de performances, préférez toujours un composant Input spécifique au composant générique.

Propriétés du tDBInput

Famille du composant

Databases/DB Generic

 

Basic settings

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

 

Database

Nom de la source de données définie via l'assistant de configuration de connexion à une base de données.

 

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.

 

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.

Note

Ce composant offre la fonction de schéma dynamique. Cela vous permet de récupérer des colonnes inconnues de fichiers source ou de copier des lots de colonnes d'une source sans avoir à mapper chaque colonne individuellement. Pour plus d'informations concernant les schémas dynamiques, consultez le Guide utilisateur du Studio Talend.

 

 

Built-in : Le schéma sera créé et conservé pour ce composant seulement. Voir également le Guide utilisateur du Studio Talend.

 

 

Repository : Le schéma existe déjà et 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 source dans laquelle capturer les modifications apportées aux données.

 

Query 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 : Saisissez manuellement votre requête ou construisez-la à l'aide de SQLBuilder.

 

 

Repository : Sélectionnez la requête appropriée dans le Repository. Le champ Query est renseigné automatiquement.

 

Query

Saisissez votre requête en faisant particulièrement attention à l'ordre des champs afin qu'ils correspondent à la définition du schéma.

Advanced settings

Additional JDBC parameters

Spécifiez les propriétés de connexion supplémentaires pour la connexion à la base de données que vous créez.

Note

Vous pouvez configurer les paramètres d'encodage dans ce champ.

 

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

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

 

Enable parallel execution

Cocher cette case permet de traiter plusieurs flux de données simultanément. Cela permet de traiter les données plus rapidement. Notez que cette fonctionnalité dépend de la capacité de la base de données ou de l'application à gérer plusieurs insertions en parallèle ainsi que le nombre de processeurs utilisés. Dans le champ Number of parallel executions, vous pouvez :

  • Saisir le nombre d'exécutions parallèles désiré.

  • Appuyer sur Ctrl+Espace et sélectionner la variable de contexte dans la liste. Pour plus d'informations, consultez le Guide utilisateur du Studio Talend.

Avertissement

  • Le champ Action on table n'est pas disponible avec la fonction de parallélisation. Ainsi, pour créer une table, vous devez utiliser un composant tCreateTable.

  • Lorsque l'exécution parallèle est activée, il n'est pas possible d'utiliser les variables globales pour retrouver les valeurs de retour dans un sous-job.

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 offre la flexibilité des requêtes sur les bases de données et couvre toutes les possibilités des requêtes SQL grâce à une connexion générique ODBC.

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 1 : Afficher les données sélectionnées à partir d'une table

Le Job suivant, à deux composants, lit les données d'une base via une requête et affiche dans la console (vue Run) les données délimitées.

Avertissement

Avant de reproduire ce Job, le pilote ODBC de MySQL doit avoir été installé et la connexion ODBC correspondante doit avoir été configurée.

  1. Cliquez et déposez les composants tDBInput et tLogRow dans l'espace de modélisation graphique.

  2. Cliquez-droit sur le tDBInput et, en gardant le bouton droit enfoncé, glissez jusqu'au tLogRow pour créer une connexion de type Main Row.

  3. Double-cliquez sur le tDBInput pour ouvrir sa vue Component et renseignez les propriétés du composant :

  4. Renseignez les informations de connexion à la base de données dans les champs Database, Username et Password.

  5. Cliquez sur le bouton Edit Schema et répertoriez les codes des magasins dans une colonne et les ventes dans une autre.

  6. Renseignez le nom de la table dans le champ Table Name.

  7. Saisissez la requête à exécuter en veillant à ce que l'ordre des colonnes correspondent à celui fourni dans le schéma. Dans cet exemple, comme toutes les colonnes du schéma ont été sélectionnées, il est possible d'utiliser l'astérisque.

  8. De la même façon, cliquez sur le deuxième composant pour le définir.

  9. Indiquez le séparateur de champs : il s'agit ici d'une barre verticale.

  10. Passez sur la vue Run et cliquez sur le bouton Run pour exécuter le Job.

    La base de données est alors analysée. Les données recherchées sont extraites et sont affichées directement sur la console (vue Run), où vous pouvez les voir.

    Pour un exemple d'utilisation du schéma dynamique avec les composants Input, consultez Scénario 5 : Écrire des colonnes dynamiques d'une base de données MySQL vers un fichier de sortie.

Scénario 2 : Utiliser la variable StoreSQLQuery

La variable StoreSQLQuery peut être utilisée pour déboguer un scénario tDBInput qui ne s'exécuterait pas correctement. Elle permet d'alimenter la requête de votre composant tDBInput de manière dynamique.

  1. Partez du scénario 1 décrit ci-dessus, auquel vous ajouterez un composant tJava.

  2. Reliez les composants tDBInput et tJava via une connexion Trigger de type OnComponentOk. Dans le cas présent, faites en sorte que la commande du tDBInput s'exécute avant la commande du tJava.

  3. Configurez les composants tDBInput et tLogRow comme dans le scénario 1 décrit plus haut.

  4. Passez à la vue appelée Context.

  5. Créez un nouveau paramètre que vous appellerez StoreSQLQuery et donnez-lui une valeur de 1 par défaut. Cette valeur indique que StoreSQLQuery est valide (true) et pourra être utilisé par la variable globale QUERY.

  6. Cliquez sur le composant tJava et affichez la vue Component. Tapez la commande System.Out.println("") pour afficher le contenu de la requête, puis, dans les parenthèses, appuyez sur Ctrl+Espace pour accéder à la liste des variables, et sélectionnez la variable globale QUERY.

  7. Affichez la vue Run et exécutez le Job.

  8. La requête associée au composant tDBInput s'affiche dans la console (vue Run), à la fin des résultats du Job :

    Pour un exemple d'utilisation du schéma dynamique dans les composants Input, consultez : Scénario 5 : Écrire des colonnes dynamiques d'une base de données MySQL vers un fichier de sortie.