tMysqlColumnList - 6.1

Composants Talend Open Studio Guide de référence

EnrichVersion
6.1
EnrichProdName
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
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Propriétés du tMysqlColumnList

Famille de composant

Databases/MySQL

 

Fonction

Le composant tMysqlColumList effectue une opération d'itération dans toutes les colonnes d'une table donnée, grâce à une connexion MySQL définie.

Objectif

Le tMysqlColumList permet de faire une liste des libellés des colonnes d'une table MySQL donnée.

Basic settings

Component list

Sélectionnez le composant tMysqlConnection dans la liste si vous prévoyez d'ajouter plus d'une connexion à votre Job en cours.

 

Table name

Saisissez le nom de la table.

Global Variables 

COLUMN_NAME : nom de la colonne sur laquelle se fait l'itération. Cette variable est une variable Flow et retourne une chaîne de caractères.

DATA_TYPE : type de données de la colonne sur laquelle se fait l'itération. Cette variable est une variable Flow et retourne une chaîne de caractères.

COLUMN_DEFAULT : valeur par défaut de la colonne sur laquelle se fait l'itération. Cette variable est une variable Flow et retourne une chaîne de caractères.

IS_NULLABLE : nullabilité de la colonne sur laquelle se fait l'itération. Cette variable est une variable Flow et retourne YES si la colonne autorise les valeurs NULL. Sinon, elle retourne NO.

COLUMN_KEY : indicateur clé de la colonne sur laquelle se fait l'itération. Cette variable est une variable Flow et retourne une chaîne de caractères si la colonne est configurée à Key. Sinon, elle ne retourne rien.

CHARACTER_MAXIMUM_LENGTH : nombre maximum de caractères de la colonne sur laquelle se fait l'itération. Cette variable est une variable Flow et retourne une chaîne de caractères numériques pour les types de données binaires ou caractères et retourne NULL pour les autres types.

NUMERIC_PRECISION : précision des données de la colonne sur laquelle se fait l'itération. Cette variable est une variable Flow et retourne une chaîne de caractères numériques pour les données numériques approximatives, exactes, les entiers, les données monétaires et retourne NULL pour les autres types de données.

NUMERIC_SCALE : l'échelle en chiffres autorisée sur la coloone sur laquelle l'itération s'effectue. Cette variable est une variable Flow et retourne une chaîne de caractères numériques pour les données numériques approximatives, exactes, les entiers, les données monétaires et retourne NULL pour les autres types de données.

NB_COLUMN : nombre de colonnes itérées jusqu'à présent. Cette variable est une variable After et retourne un entier.

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.

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.

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.

Utilisation

Il faut utiliser ce composant en association avec les autres composants MySQL, notamment avec le tMysqlConnection.

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 : Itérer une table de base de données et lister le nom des colonnes de la table

Le scénario Java suivant permet de créer un Job à cinq composants. Ce Job permet d'itérer une table donnée à partir d'une base de données MySQL en utilisant la commande Where et de lister tous les libellés des colonnes de la table.

  • Dans la Palette, cliquez sur chacun des composants suivants et déposez-les dans l'espace de modélisation : tMysqlConnection, tMysqlTableList, tMysqlColumnList, tFixedFlowInput et tLogRow.

  • Reliez le tMysqlConnection au tMysqlTableList par le biais d'un lien OnSubjobOk.

  • Reliez les composants tMysqlTableList, tMysqlColumnList et tFixedFlowInput à l'aide de liens Iterate.

  • Reliez le tFixedFlowInput au tLogRow par le biais d'un lien Row Main.

  • Dans l'espace de modélisation, sélectionnez le composant tMysqlConnection et cliquez sur la vue Component pour définir les paramètres de base.

  • Dans l'onglet Basic settings, entrez manuellement les propriétés de connexion à la base de données ou sélectionnez-les à partir de la liste des variables de contexte : appuyez simultanément sur les touches Ctrl+Espace puis cliquez sur le champ correspondant si vous avez stocké les informations en local sous le nœud DB Connections du répertoire Metadata.

Pour plus d'informations sur les métadonnées, veuillez consulter le Guide utilisateur du Studio Talend.

Dans cet exemple, connectez-vous à une base de données MySQL appelée customers.

  • Dans l'espace de modélisation, sélectionnez le composant tMysqlTableList et cliquez sur la vue Component pour définir ses paramètres de base.

  • Dans le champ Component list, sélectionnez le composant de connexion MySQL adéquat si vous utilisez plus d'une connexion.

  • Renseignez la clause Where en utilisant la bonne syntaxe dans le champ correspondant pour itérer les noms de la ou des tables que vous voulez lister dans la console.

    Dans ce scénario, itérez la table appelée customer.

  • Dans l'espace de modélisation, sélectionnez le composant tMysqlColumnList et cliquez sur la vue Component pour paramétrer ses propriétés de base.

  • Dans le champ Component list, sélectionnez le composant de connexion MySQL adéquat si vous utilisez plus d'une connexion.

  • Dans le champ Table name, saisissez le nom de la table dont vous souhaitez lister les libellés de colonnes.

    Dans ce scénario, l'objectif est de lister les libellés des colonnes de la table customer.

  • Dans l'espace de modélisation, sélectionnez le composant tFixedFlowInput et cliquez sur la vue Component pour paramétrer ses propriétés de base.

  • Dans le champ Schema, sélectionnez l'option Built-In et cliquez sur le bouton [...] à côté du champ Edit Schema pour définir les données que vous souhaitez utiliser en entrée. Dans ce scénario, le schéma est composé de deux colonnes : la première TableName correspond au nom de la table MySQL et la deuxième ColumnName correspond aux libellés des colonnes.

  • Cliquez sur OK pour fermer la boîte de dialogue et une nouvelle boîte de dialogue apparaît vous demandant si vous souhaitez propager ces modifications, acceptez en cliquant sur Yes. Les colonnes définies apparaissent dans le champ Values de la vue Basic settings.

  • Dans le champ Values, cliquez sur chacune des cellules de la colonne Value pour définir le contenu des colonnes de la table MySQL et appuyez sur Ctrl+Espace pour accéder à la liste des variables globales.

  • Dans la liste des variables globales, sélectionnez : ((String)globalMap.get("tMysqlTableList_1_CURRENT_TABLE")) pour la colonne TableName et

    ((String)globalMap.get("tMysqlColumnList_1_COLUMN_NAME")) pour la colonne ColumnName.

  • Dans l'espace de modélisation, sélectionnez le composant tLogRow.

  • Cliquez sur la vue Component et paramétrez les propriétés de base du tLogRow en fonction de vos besoins.

  • Enregistrez votre Job et appuyez sur F6 pour l'exécuter.

Le nom de la table MySQL et le libellé de ses colonnes sont affichés dans la console.