Dans ce tutoriel nous allons voir ensemble comment récupérer et lire des données dans une base de données.
Dans ce tutoriel nous allons voir ensemble comment récupérer et lire des données dans une base de données.
Dans un premier temps nous allons donc créer un nouveau job, que l’on appellera « Lecture_bdd ».
Nous allons continuer à utiliser les métadonnées que nous avons créer jusqu’ici.
Pour se faire faite glisser la métadonnée de connexion à la base de données, et sélectionnez un tDBInput.
Cliquez sur votre composant nouvellement ajouté et ouvrez l’onglet de configuration. Paramétrez-le comme suit.
Veillez à correctement remplir le champ « Nom de la table » ainsi que la requête.
Dans ce cas précis nous récupérons l’ensemble des colonnes présente dans la table « personne_adresse », ce qui est caractérisé par un « SELECT * ».
Il aurait très bien pu être possible de sélectionner que certains champs selon nos besoins.
Bien maintenant que votre composant est paramétré, nous allons ajouter un tLogRow afin de visualiser les résultats.
Très bien, nous avons vu comment récupérer les données de la table « personne_adresse », nous allons faire de même pour la table « voiture ».
Une fois fait, vous pouvez exécuter votre job et observer les résultats.
Bien maintenant nous allons faire un petit retour sur ce que l’on a déjà vu dans d’autres tutoriels, mais c’est toujours bon d’insister un peu sur les composant complexe.
Et oui, vous l’avez compris c’est le grand retour de tMap.
Disposez-le donc sur voter job designer, puis ajouter la sortie de la table « voiture » en flux principal du tMap, puis la sortie de la table « personne _adresse » en flux lookup.
Vous pouvez renommer les flux comme je l’ai fait pour plus de lisibilité.
Configurez votre tMap simplement comme ceci. Mentionnez la clef d’expression qui permet de lier le champ « proprietaireId » à l’identifiant de la personne.
Ajouter également un champ « voiture » dans le schéma de sortie afin de joindre les informations des deux sources de donnée.
Ajoutez un tLogRow relié par la sortie du tMap que nous venons de créer puis exécutez le job afin de voir apparaître les résultats.
Vous pouvez sauvegarder et versionner votre job.
Bien ce que nous allons voir maintenant s’écarte un peu du sujet de base de ce tutoriel, mais demeure tout de même important.
Nous allons aborder les bonnes pratique d’ouverture et de fermeture à une base de donnée (ou tout autre connexions, FTP,SSH…)
Premièrement vous devez savoir que Talend dispose de composant que l’on nomme d’orchestration qui permettent d’orchestrer votre job.
Ici les deux qui vont nous intéresser sont les composants tPreJob et tPostJob.
Ces composant s’exécutent en tout début du job pour le tPreJob et à la toute fin du job pour le tPostJob.
Réouvrez votre job « Lecture_bdd » et ajouter ces deux composants comme sur l’image ci-dessous.
Maintenant nous allons faire glisser notre métadonnée de connexion et sélectionner un tDBConnection.
Liez ensuite votre tPreJob au tDBConnection par une liaison « On Componant OK » que vous trouverais dans « Trigger » après un clic droit sur le composant tPreJob.
Nous n’avons pas encore parlé des connexions de type « Trigger », mais un tutoriel sera présent à cet effet.
Pour le moment, retenez que la liaison « On Component OK » que nous venons d’utiliser permet de lancer le composant/sous-job une fois que le composant tPreJob sera chargé et lancé. En réalité ce n’est pas destiné au tPreJob, la majorité des autres composants dispose de cette possibilité.
Maintenant que vous avez ouvert votre connexion, il vous faut l’utiliser.
Pour se faire dans les deux composants tDBInput, il vous faut cocher la case « Utiliser une connexion existante » et sélectionner votre composant tDBConnection.
Très bien, nous avons ouvert une connexion au début du job, nous l’utilisons pour faire nos requêtes, mais il nous faut la fermer quand on aura fini avec.
Pour se faire, dans la palette choisissez le composant tDBClose.
Ouvrez ensuite l’onglet de configuration, puis sélectionnez votre type de base de données, et enfin sélectionner votre composant de connexion à fermer.
Vous pouvez réexécuter votre job, cependant vous n’observerez pas vraiment de différences.
Cependant cette méthode vous permet de clôturer la connexion de façon automatique à la fin du job. C’est transparent, mais utile.
Vous pouvez maintenant versionner votre job, nous en avons finis avec la lecture en base de données.