Recharger des données à chaque ligne - 7.1

Guide utilisateur de Talend Big Data Studio

author
Talend Documentation Team
EnrichVersion
7.1
EnrichProdName
Talend Big Data
task
Création et développement
EnrichPlatform
Studio Talend

Pourquoi et quand exécuter cette tâche

L'option Reload at each row est utilisée pour charger tous les enregistrements d'un flux Lookup pour chaque enregistrement du flux principal.

Lorsque le flux principal contient moins de lignes que le flux de référence (par exemple, avec un ratio de 1000 ou plus) et que l'entrée de référence est un composant de base de données, l'avantage de cette approche est qu'elle permet de gérer des données de références de plus en plus nombreuses, puisque vous pouvez exécuter des requêtes par rapport aux données du flux principal dans le composant de base de données, pour sélectionner uniquement les données de référence correspondant à chaque enregistrement du flux principal.

Par exemple, ici, avec des données de référence d'une base de données MySQL.

Dans la base de données MySQL, vous pouvez sélectionner uniquement les données correspondant aux valeurs de la colonne id du flux principal. Pour ce faire, procédez comme suit :

Procédure

  1. Double-cliquez sur le composant tSetGlobalVar pour ouvrir sa vue Component.
  2. Cliquez sur le bouton [+] pour ajouter une ligne et, dans la colonne Key, saisissez id. Dans la colonne Value, saisissez row1.id.
  3. Double-cliquez sur le tMysqlInput pour ouvrir sa vue Component.
  4. Dans le champ Query, saisissez la requête pour sélectionner les données correspondant à la colonne id du flux principal. Dans cet exemple, la requête se présente comme suit : Select * from person where id="+(Integer)globalMap.get("id").

Résultats

Pour plus d'informations concernant les composants utilisés dans cet exemple, consultez la documentation associée.