Scénario 4 : Ecrire des colonnes dynamiques d'un fichier source vers une base de données MySQL - 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

L'objectif de scénario est de lire des colonnes dynamiques à partir d'un fichier source, les mapper puis les écrire dans une table d'une base de données MySQL. En définissant une colonne dynamique et les noms connus des colonnes, vous pouvez récupérer toutes les colonnes du fichier source, y compris les colonnes inconnues.

  • Déposez un composant tFileInputDelimited, un composant tMap et un composant tMysqlOutput dans l'espace de modélisation graphique.

  • Reliez le tFileInputDelimited au tMap à l'aide d'un lien Row > Main.

  • Reliez le tMap au tMysqlOutput à l'aide d'un lien Row > *New Output* (Main).

  • Double-cliquez sur le tFileInputDelimited afin d'ouvrir sa vue Basic settings, dans l'onglet Component.

Avertissement

La fonction de schéma dynamique n'est supportée qu'en mode Built-In.

  • Dans la liste Property Type, sélectionnez Built-In dans la liste.

  • Cliquez sur le bouton [...] à côté du champ File name/Stream et parcourez votre répertoire jusqu'au fichier d'entrée.

  • Saisissez les caractères que vous souhaitez utiliser comme séparateurs de lignes et de champs respectivement, dans les champs Row Separator et Field Separator.

  • Cliquez sur Edit Schema afin de définir le schéma du fichier source.

    La boîte de dialogue [Edit Schema] s'ouvre.

  • Ajoutez ou supprimez autant de lignes que nécessaire, à l'aide des boutons et .

  • Modifiez l'ordre des colonnes en utilisant les boutons et .

  • Dans la colonne Column, saisissez le nom de chaque colonne connue dans une ligne différente.

  • Dans la dernière ligne, saisissez un nom pour la colonne dynamique.

  • Dans la colonne Type, cliquez dans chaque champ pour définir le type de données de la colonne correspondante.

    Cliquez sur la flèche afin de sélectionner le bon type de données.

Avertissement

Dans la colonne Type, le type de la colonne dynamique doit être défini comme Dynamic.

Avertissement

La colonne dynamique doit être définie dans la dernière ligne du schéma.

  • Cliquez sur OK pour fermer la boîte de dialogue quand vous avez terminé de définir le schéma source.

  • Cliquez sur le composant tMap afin d'ouvrir sa vue Basic settings dans l'onglet Component.

  • Cliquez sur le bouton [...] à côté du champ Map Editor pour mapper les colonnes du fichier source.

  • Dans la barre d'outils en haut du panneau Output Panel, en haut à droite de la fenêtre, cliquez sur le bouton .

    La boîte de dialogue [Add an Output] apparaît.

  • A côté de l'option New output, saisissez un nom pour le schéma de sortie.

  • Cliquez sur OK pour fermer la boîte de dialogue.

  • A l'aide de Ctrl+clic, sélectionnez le nom des colonnes dans le schéma d'entrée à gauche, et déposez-les dans le schéma de sortie.

    Les colonnes déposées contiennent leurs valeurs originales et sont automatiquement mappées une à une.

  • Dans le schéma de sortie, cliquez sur la ligne correspondante, dans la colonne Expression, si vous souhaitez utiliser l'Expression Builder afin de définir des paramètres avancés pour les colonnes correspondantes.

  • Cliquez sur le bouton [...] qui apparaît afin d'ouvrir l'Expression Builder et définir les paramètres, comme nécessaire.

Pour plus d'informations concernant l'utilisation de l'Expression Builder, consultez le Guide utilisateur du Studio Talend.

Avertissement

La colonne dynamique doit être mappée seule et ne peut subir de transformation. Elle ne peut être utilisée dans une expression de filtre ou dans des variables. Elle ne peut être renommée dans la table de sortie et ne peut être utilisée comme condition de jointure.

  • Cliquez sur OK afin de fermer le Map Editor.

  • Double-cliquez sur le composant tMysqlOutput afin de définir ses Basic settings, dans l'onglet Component.

  • Dans la liste Property Type, sélectionnez Built-in.

  • Dans la liste DB Version sélectionnez la version de la base de données que vous utilisez.

  • Dans le champ Host, saisissez l'adresse IP du serveur de la base de données.

  • Dans le champ Port, saisissez le numéro du port d'écoute du serveur de la base de données.

  • Saisissez respectivement votre identifiant et votre mot de passe de connexion dans les champs Username et Password.

  • A côté du champ Action on table, sélectionnez l'action requise.

  • A côté du champ Action on data, sélectionnez l'action requise.

  • Dans la liste Schema type définissez le type en Built-in et cliquez sur Edit schema afin de modifier la schéma si nécessaire.

  • Appuyez sur F6 pour exécuter le Job.

    La table est écrite dans la base de données MySQL avec les données et les noms de colonnes précédemment inconnus :

Note

Le Job peut également être exécuté en mode Traces Debug, ce qui vous permet de voir les lignes comme elles sont écrites dans le fichier de sortie, dans l'espace de modélisation.

Pour plus d'informations concernant la définition et le mapping des schémas dynamiques, consultez le Guide utilisateur du Studio Talend.

Pour un exemple d'écriture de colonnes dynamiques dans un fichier de sortie, consultez Scénario 4 : Ecrire des colonnes dynamiques d'une base de données MySQL vers un fichier de sortie.