tMemSQLInput - 6.1

Composants Talend Guide de référence

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

Avertissement

Ce composant est disponible dans la Palette du Studio Talend si vous avez souscrit à l'une des solutions Big Data de Talend.

Propriétés du tMemSQLInput

Famille du composant

Big Data/MemSQL

 

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

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.

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

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 :

  • 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, sélectionnez No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

 

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.

Avertissement

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

Note

Lorsque 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 :

noDatetimeStringSync=true&zero­DateTimeBehavior=convertToNull.

 

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.

Note

Dé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 SQL 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 la page https://help.talend.com/display/KB/How+to+install+external+modules+in+the+Talend+products (en anglais) ou la section décrivant comment configurer le studio, dans le Guide d'installation Talend.

Scénario : Ecrire des données dans et lire des données d'une table d'une base de données MemSQL

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.

Construire le Job

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

  2. Reliez le tMemSQLConnection au tRowGenerator à l'aide d'un lien Row > OnSubjobOk.

  3. Reliez le tRowGenerator au tMemSQLOutput à l'aide d'un lien Row > Main.

  4. Connectez le tRowGenerator au tMemSQLInput à l'aide d'un lien Row > OnSubjobOk.

  5. Reliez le tMemSQLInput au tLogRow à l'aide d'un lien Row > Main.

  6. Reliez le tMemSQLInput au tMemSQLClose à l'aide d'un lien Row > OnSubjobOk.

Configurer les composants

Ouvrir et fermer la connexion à la base de données

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

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

  3. Double-cliquez sur le tMemSQLClose pour ouvrir sa vue Basic settings.

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

  1. Double-cliquez sur le tRowGenerator pour ouvrir son éditeur de génération de lignes.

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

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

  4. Double-cliquez sur le composant tMemSQLOutput pour ouvrir sa vue Basic settings.

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

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

  2. Cochez la case Use Existing Connection. Dans la liste Component List, le composant tMemSQLConnection_1 est automatiquement sélectionné.

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

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

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

  6. Double-cliquez sur le tLogRow pour afficher sa vue Basic settings.

  7. Dans la zone Mode, sélectionnez Table (print values in cells of a table) pour un affichage optimal des résultats.

  8. Sauvegardez le Job.

Exécuter le Job

Appuyez sur F6 pour afficher les résultats dans la console.

Les données, avec les noms de colonnes souhaités, sont récupérées de la table de base de données.