Configurer des jointures dans tMap

Dans ce tutoriel, vous apprendrez à configurer des sorties de jointure dans un composant tMap.

Ce tutoriel utilise Talend Open Studio for Data Integration version 6.

1. Configurer le modèle de jointure

  1. Dans le Job jointMap, double-cliquez sur le composant tMap_1 pour ouvrir l'assistant de composant tMap_1.
       
       Remarque : si vous cliquez sur l'icône des paramètres tMap, une liste des paramètres de configuration des flux d'entrée ou de sortie s'affiche. Pour les flux d'entrée, vous pouvez modifier la propriété Modèle de jointure (Join Model), de la valeur par défaut Jointure externe gauche (Left Outer Join) à la valeur Jointure interne (Inner Join).
       
  2. Cliquez alors sur le paramètre par défaut Jointure externe gauche (Left Outer Join), puis sur le bouton [...] à droite de ce paramètre. Dans la fenêtre Options, cliquez sur Jointure interne (Inner Join), puis sur OK.

    Remarque : lorsque vous modifiez les paramètres par défaut, un cercle rouge indiquant le chiffre 1 apparaît sur l'icône des paramètres tMap. Cela signifie que vous avez modifié un des paramètres par défaut tMap.
    .
  3. Fermez l'assistant tMap et exécutez le Job.

Vous pouvez constater dans le Job Designer que 1 682 lignes de données du fichier d'entrée à gauche sont traitées par le composant tMap. Cependant, seules 142 lignes apparaissent dans le fichier de sortie. La jointure interne a validé des correspondances pour 142 lignes uniquement. Les autres lignes ont donc été rejetées.

Vous pouvez vérifier le rejet des autres lignes en ouvrant le fichier de sortie moviesComplete. Vous constatez dans ce fichier que tous les films indiquent le nom des réalisateurs.

2. Créer une sortie dans le composant tMap pour collecter uniquement les rejets de jointure interne

  1. Ouvrez l'assistant de composant tMap_1 et créez un deuxième composant de sortie nommé joinRejects. Un flux de sortie vide est créé.
  2. Pour ajouter les champs movieID, title, releaseYear, url et directorID au composant de sortie, sélectionnez ces cinq champs dans le composant movies et faites-les glisser vers le composant de sortie.
  3. Dans le fichier de sortie joinRejects, cliquez sur l'icône des paramètres tMap.
  4. Pour changer la propriété Capturer le rejet de jointure interne du lookup (Catch lookup inner join reject), cliquez sur le paramètre par défaut false, puis sur le bouton [...] à côté de ce paramètre. Dans la fenêtre Options, cliquez sur true, puis sur OK.
       
       Remarque : en modifiant ainsi cette propriété, vous pouvez capturer toutes les lignes de données qui ont été rejetées par la jointure interne dans la nouvelle sortie.
       
  5. Ajoutez un composant tFileOutputDelimited dans le Job Designer et liez la sortie joinRejects du composant tMap_1 à tFileOutputDelimited_2.
  6. Pour configurer le composant de sortie, dans la vue Composant correspondante, indiquez le chemin d'accès et le nom du fichier de sortie. Ajoutez également une ligne d'en-tête dans le fichier de sortie et exécutez le Job.

Dans le Job Designer, vous pouvez constater que 142 des 1 682 lignes des données d'entrée apparaissent dans la sortie joinedOutput et que les 1 540 lignes rejetées sont collectées dans la sortie joinRejects.

Ouvrez le fichier de sortie joinRejects pour afficher tous les films rejetés par la jointure. Il s'agit des films dont la colonne directorID est vide dans le fichier movies, ainsi que ceux dont la valeur indiquée dans la colonne directorID du fichier movies ne figure pas dans le fichier directors.