Écriture de colonnes dynamiques d'un fichier source vers une base de données
Ce scénario s'applique à tous les produits Talend.
Pour plus de technologies supportées par Talend, consultez Composants Talend.
Dans ce scénario, MySQL est utilisé à titre d'exemple. 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.
- 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, sous Column, 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.
- Cliquez sur OK pour fermer la boîte de dialogue quand vous avez terminé de définir le schéma source.
- Cliquez sur le 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 s'affiche.
- 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 d'utilisation du Studio Talend.
- Cliquez sur OK pour 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.
- À côté du champ Host, saisissez l'adresse IP du serveur de la base de données.
- À côté du champ Port, saisissez le numéro du port d'écoute du serveur de la base de données.
- Dans les champs Username et Password, saisissez vos informations d'authentification de la base de données.
- À côté du champ Action on table, sélectionnez l'action requise.
- À 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 :
Pour plus d'informations concernant la définition et le mapping des schémas dynamiques, consultez le Guide d'utilisation du Studio Talend.
Pour un exemple d'écriture de colonnes dynamiques vers un fichier de sortie, consultez Écrire des colonnes dynamiques d'une base de données vers un fichier de sortie.