Utiliser le mapping avancé avec rechargement de la base de référence à chaque ligne
Le scénario suivant décrit un Job permettant de récupérer certaines informations sur des personnes dans une base de données de référence, en se basant sur une jointure effectuée sur leur âge. Le flux principal des données source est lu à partir d'une table de bases de données MySQL appelée people_age contenant certains détails sur les personnes, comme leur identifiant (numérique), leur nom et prénom (alphanumérique) ainsi que leur âge (numérique), qui peut être soit 40, soit 60 ans. On a intentionnellement réduit le nombre d'entrées de cette table.
Pour plus de technologies supportées par Talend, consultez Composants Talend.
Les informations de référence sont également stockées dans une table MySQL appelée large_data_volume. Cette table de référence contient un certain nombre d'entrées, dont le nom des villes dans lesquelles les personnes enregistrées dans la table principale sont allées. Le nombre d'entrées a été restreint pour plus de clarté mais, dans le cas d'une utilisation normale, le Job ci-dessous a des résultats plus significatifs quand on traite un gros volume de données de référence.
Pour optimiser les performances, un composant de connexion aux bases de données est utilisé au début de ce Job pour ouvrir une connexion à la base de données de référence afin de ne pas ouvrir et refermer une connexion à chaque ligne de la table de référence chargée.
Un filtre d'expression (expression filter) est appliqué à ce flux de référence, qui permet de ne sélectionner que les données des personnes dont l'âge est 60 ou 40 ans. Ainsi, seules les lignes pertinentes de la table de référence sont enregistrées pour chaque ligne du flux principal.
Ce Job présente donc comment, à partir d'un nombre limité de lignes de flux principal, on peut optimiser la base de données de référence pour n'enregistrer que les résultats correspondant à la clé d'expression (expression key).
En général, comme le chargement des références s'effectue pour chacune des lignes de flux principal, il est plus intéressant d'utiliser cette option quand on ne traite qu'un nombre limité de lignes de flux principal et un grand nombre de lignes de référence.
La jointure s'effectue au niveau du champ age. Les informations de la base de référence sont ensuite chargées pour chacune des lignes du flux principal en entrée, en utilisant l'option de chargement appropriée dans l'éditeur du composant tMap.
Dans cet exemple, les métadonnées ont été préparées pour le composant de connexion et les composants source. Pour plus d'informations concernant les métadonnées de connexion aux bases de données et les métadonnées de création de schémas des tables, consultez la section dédiée au sujet dans le Guide d'utilisation du Studio Talend.
Le Job est formé de cinq composants, quatre composants de bases de données et un composant de mapping.