Avertissement
Ce composant est disponible dans la Palette du Studio Talend si vous avez souscrit à l'une des solutions Big Data de Talend.
Fonction |
Le composant tMemSQLInput se connecte à une base de données et en extrait les champs selon une requête utilisateur. | |
Objectif |
Le tMemSQLInput 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). |
Famille du composant |
Big Data/MemSQL | |
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 le référentiel, où sont stockées les propriétés. Les champs suivants sont automatiquement renseignés à l'aide des données récupérées. |
|
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. NoteLorsqu'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 :
Pour plus d'informations concernant le partage d'une connexion à travers différents niveaux de Jobs, consultez le Guide utilisateur du Studio Talend. |
|
Host |
Saisissez l'emplacement du serveur de la base de données MemSQL à utiliser. |
|
Port |
Saisissez le numéro du port d'écoute du serveur de la base de données MemSQL à utiliser. |
|
Database |
Saisissez le nom de la base de données MemSQL à utiliser. |
|
Username et Password |
Saisissez respectivement l'identifiant et le mot de passe de connexion à la base de données MemSQL à utiliser. |
|
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. Ce composant offre la fonction de schéma dynamique. Cela vous permet de récupérer des colonnes inconnues à partir de fichiers source ou de copier des lots de colonnes d'une source sans avoir à mapper individuellement ces colonnes. Pour plus d'informations concernant les schémas dynamiques, consultez le Guide utilisateur de Studio Talend. Cette fonctionnalité de schéma dynamique est conçue pour permettre de récupérer des colonnes inconnues d'une table. Il est recommandé de l'utiliser uniquement à cet effet et non pour créer des tables. |
|
|
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 :
| ||
|
Table Name |
Nom de la table à lire. |
|
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. AvertissementSi vous utilisez la fonction de schéma dynamique, la requête SELECT doit inclure le caractère *, afin de récupérer toutes les colonnes de la table sélectionnée. |
Advanced settings |
Additional JDBC parameters |
Spécifiez des informations supplémentaires de connexion à la base de données créée. Cette option est disponible lorsque la case Use an existing connection est décochée dans l'onglet Basic settings. NoteLorsque vous devez traiter des données au format date/heure 0000-00-00 00:00:00 utilisant ce composant, définissez les paramètres comme suit :
|
|
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. NoteDécochez Trim all the String/Char columns pour activer le tableau Trim column. |
|
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 MemSQL. | |
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 Talend. |
Ce scénario présente un Job construit pour écrire une table dans une base de données MemSQL et récupérer les données de la table.
Déposez un tMemSQLConnection, un tRowGenerator, un tMemSQLInput, un tMemSQLOutput, un tMemSQLClose et un tLogRow de la Palette dans l'espace de modélisation graphique.
Reliez le tMemSQLConnection au tRowGenerator à l'aide d'un lien Row > OnSubjobOk.
Reliez le tRowGenerator au tMemSQLOutput à l'aide d'un lien Row > Main.
Connectez le tRowGenerator au tMemSQLInput à l'aide d'un lien Row > OnSubjobOk.
Reliez le tMemSQLInput au tLogRow à l'aide d'un lien Row > Main.
Reliez le tMemSQLInput au tMemSQLClose à l'aide d'un lien Row > OnSubjobOk.
Ouvrir et fermer la connexion à la base de données
Double-cliquez sur le composant tMemSQLConnection pour ouvrir sa vue Basic settings.
Dans la liste Property Type, sélectionnez Built-In. Spécifiez les informations de connexion dans les champs correspondants, notamment le nom de l'hôte et le numéro du port d'écoute du serveur de la base de données, l'identifiant et le mot de passe de connexion à la base de données, ainsi que le nom de la base de données.
Double-cliquez sur le tMemSQLClose pour ouvrir sa vue Basic settings.
Dans la liste Component List, le composant tMemSQLConnection_1 est automatiquement sélectionné.
Ecrire des données dans une table de base de données
Double-cliquez sur le tRowGenerator pour ouvrir son éditeur de génération de lignes.
Ajoutez trois colonnes comme ci-dessous, pour générer 10 lignes de données :
id, de type Integer. Dans sa liste Function, sélectionnez Numeric.sequence afin de générer des nombres en séquence.
firstName, de type String. Dans sa liste Function, sélectionnez TalendDataGenerator.getFirstName pour générer des prénoms aléatoires.
lastName, de type String. Dans sa liste Function, sélectionnez TalendDataGenerator.getLastName pour générer des noms de famille aléatoires.
Dans la vue Basic settings du tRowGenerator, cliquez sur le bouton Edit Schema pour ouvrir l'éditeur du schéma. Dans la colonne Length, saisissez respectivement 4, 10 et 10 pour les colonnes id, firstName et lastName.
Cela fait, cliquez sur OK pour fermer l'éditeur et cliquez sur Yes lorsqu'une fenêtre vous propose de propager le schéma au composant suivant.
Pour plus d'informations concernant la configuration du tRowGenerator, consultez tRowGenerator.
Double-cliquez sur le composant tMemSQLOutput pour ouvrir sa vue Basic settings.
Cochez la case Use Existing Connection. Dans la liste Component List, le composant tMemSQLConnection_1 est automatiquement sélectionné.
Renseignez le champ Table en saisissant le nom de la table de base de données, customers dans cet exemple.
Sélectionnez Drop table if exists and create dans la liste Action on table et Insert dans la liste Action on table.
Lire des données d'une table d'une base de données
Double-cliquez sur le tMemSQLInput pour ouvrir sa vue Basic settings.
Cochez la case Use Existing Connection. Dans la liste Component List, le composant tMemSQLConnection_1 est automatiquement sélectionné.
Dans la liste Schema, sélectionnez Built-in et cliquez sur Edit schema pour définir la structure des données de la table de base de données de laquelle lire les données.
Cliquez trois fois sur le bouton [+] pour ajouter les lignes à utiliser pour définir le schéma, respectivement id, firstName et lastName.
Sous la colonne Column, cliquez dans chaque champ pour saisir le nom des colonnes.
Cliquez dans la colonne DB Type pour définir le type de données.
Cliquez sur OK pour fermer l'éditeur du schéma.
Renseignez le champ Table en saisissant le nom de la table de base de données, customers dans cet exemple.
Cliquez sur le bouton [...] à côté du champ Table Name pour sélectionner la table de base de données souhaitée. Une boîte de dialogue s'ouvre et affiche une arborescence de toutes les tables de la base de données sélectionnée. Sélectionnez customers et cliquez sur OK pour fermer la boîte de dialogue.
Dans la liste Query Type, sélectionnez Built-In. Cliquez sur le bouton Guess Query. Le champ Query est automatiquement renseigné et récupère toutes les colonnes de la table sélectionnée.
Double-cliquez sur le tLogRow pour afficher sa vue Basic settings.
Dans la zone Mode, sélectionnez Table (print values in cells of a table) pour un affichage optimal des résultats.
Sauvegardez le Job.