Configuration du flux d'entrée dans le Map Editor - 6.5

Talend Open Studio for ESB Guide utilisateur

EnrichVersion
6.5
EnrichProdName
Talend Open Studio for ESB
task
Création et développement
EnrichPlatform
Studio Talend

L'ordre des tables Input (ou schémas) est essentiel. La première table reflète la connexion de flux principal (Main row), et pour cette raison, est traitée en priorité dans le composant tMap.

Par conséquent, vous ne pouvez pas déplacer cette table du flux Main. Cela assure qu'aucune jointure n'est perdue.

Vous pouvez utiliser les flèches haut et bas pour intervertir les tables secondaires (provenant de connexions Lookup), mais vérifiez qu'elles ne sont pas liées par un lien Join.

Pour plus d'informations, consultez Utiliser les jointures explicites.

Renseigner les tables Input à l'aide d'un schéma

Pour renseigner les tables Input, définissez les schémas de tous les composants d'entrée connectés au composant tMap de votre Job, à partir du Map Editor.

Pour plus d'informations concernant la configuration d'un schéma d'un composant, consultez Définir les propriétés des composants.

Pour plus d'informations concernant la configuration d'un schéma d'entrée dans le Map Editor, consultez Configuration des schémas dans le Map Editor.

Contenu des tables Main et Lookup

L'ordre des tables Input (ou schémas) est essentiel.

La connexion Main Row détermine le contenu de la table Main. Ce flux entrant est représenté dans la première table de la zone Input du Map Editor.

Le contenu des connexions secondaires (Lookup) est représenté dans les autres tables apparaissant en dessous de la table Main. Si vous n'avez pas encore défini de schéma pour un composant d'entrée, la table correspondante du Map Editor apparaîtra comme vide.

La clé (Key) est également reprise du schéma défini dans les propriétés du composant Input. La clé (Key) est également reprise du schéma défini dans les propriétés du composant Input. La clé de hachage (interne au Map Editor) se différencie de la clé primaire en s'affichant dans une couleur différente.

Variables

Vous pouvez utiliser ou réutiliser les variables globales ou de contexte définies dans la zone Variables. Appuyez sur Ctrl+Espace pour accéder à la liste complète des variables, regroupant les variables globales, de contexte et de mapping. La liste des variables varie selon le contexte et s'accroît au fur et à mesure des nouvelles créations.

Seules les variables pour le mapping en cours sont affichées dans la liste d'auto-complétion. Une fenêtre de métadonnées est attachée à la liste de semi-complétion des variables.

Attachée à la liste Variable, une astuce relative aux métadonnées s'affiche pour fournir des informations concernant la colonne sélectionnée.

Scénario associé : Mapping de variables

Utiliser les jointures explicites

En effet, un lien Joins vous permet de sélectionner des données d'une table input via une autre table input. Dans le contexte d'un mapping dans le Map Editor, les données des tables Main et Lookup peuvent être liées à l'aide des clés d'expression (expression keys). C'est pourquoi l'ordre des tables a de l'importance.

Déposez simplement le nom des colonnes d'une table vers une table subordonnée, afin de créer une relation de jointure (Join) entre les deux tables. Ainsi, vous pouvez appeler des données à partir d'entrées multiples.

Les jointures apparaissent sous forme de liens violets et crée automatiquement une clé qui aura la même fonction qu'une clé de hachage, c'est-à-dire d'accélérer le processus de recherche.

Vous pouvez créer des Joins directs entre la table principale et les tables secondaires. Mais vous pouvez également créer des Joins indirects à partir d'une table principale vers une table secondaire, elle-même reliée à une autre table secondaire. Cela nécessite une jointure de l'une des tables Lookup à la table Main.

Note

Vous ne pouvez pas créer un Join à partir d'une table subordonnée vers une table de niveau supérieur de la zone Input.

Le champ Expression key peut être renseigné par glisser-déposer des données en Join. Ce champ est modifiable dans la table de la zone Input ou à partir de la vue Schema editor.

Lors de votre glisser-déposer, vous avez la possibilité soit d'insérer les données sélectionnées dans une nouvelle entrée, soit de remplacer une entrée existante ou encore de concaténer une sélection multiple dans une seule cellule.

Pour plus d'informations concernant les types de glisser-déposer possibles, consultez Paramètres Output .

Note

Si vous avez beaucoup de tables input, vous pouvez les réduire ou les restaurer à l'aide de l'icône correspondante dans la zone Input. Par contre, le nom des colonnes est modifiable uniquement à partir du Schema editor, correspondant à la table Input sélectionnée.

Lors de votre glisser-déposer, vous avez la possibilité soit d'insérer les données sélectionnées dans une nouvelle entrée, soit de remplacer une entrée existante ou encore de concaténer une sélection multiple dans une seule cellule. Si vous avez beaucoup de tables input, vous pouvez les réduire ou les restaurer à l'aide de l'icône correspondante dans la zone Input.

Consultez également :

Avec une jointure explicite, vous pouvez choisir de mettre un filtre pour limiter le nombre de correspondances. Dans ce cas, vous pouvez choisir de prendre en considération uniquement la première correspondance, uniquement la dernière, ou toutes les correspondances.

Pour définir le modèle de rapprochement de la jointure explicite :

  1. Cliquez sur le bouton tMap settings en haut de la table à laquelle la jointure est reliée afin d'afficher les propriétés de la table.

  2. Cliquez dans le champ Value correspondant à Match Model puis cliquez sur le bouton [...] qui apparaît afin d'ouvrir la boîte de dialogue [Options].

  3. Dans la boîte de dialogue [Options], double-cliquez sur le modèle souhaité ou sélectionnez-le et cliquez sur OK pour valider les paramètres et fermer la boîte de dialogue.

Unique Match (correspondance unique)

Elle correspond à l'option par défaut lorsque vous effectuez une jointure explicite. Cela signifie que seulement la dernière correspondance du flux secondaire sera prise en compte et passera dans la table de sortie.

Les autres correspondances seront donc ignorées.

First Match

Cette option signifie que plusieurs correspondances peuvent être attendues dans le flux secondaire. L'option First signifie que seulement la première correspondance du flux secondaire sera prise en compte et passera dans le flux principal de sortie.

Les autres correspondances seront donc ignorées.

All Matches

Cette option signifie que plusieurs correspondances sont attendues dans le flux secondaire. Ainsi, toutes les correspondances sont prises en compte et passent dans le flux principal de sortie.

Utiliser les jointures internes

La jointure interne Inner join est un type particulier de jointure qui se distingue par la façon dont les rejets sont traités.

Cette fonction empêche les valeurs nulles de passer dans le flux principal de sortie. Elle permet aussi de faire passer les données rejetées dans une table définie comme table de rejet Inner Join Reject.

Si les données cherchées ne peuvent être récupérées avec la jointure explicite ou un filtre de jointure (Inner join), en d'autres termes la jointure interne ne peut être établie quelle qu'en soit la raison, dans ce cas, les données demandées sont rejetées vers une table de sortie appelée Inner Join Reject.

Déposez simplement le nom des colonnes d'une table vers une table subordonnée, afin de créer une relation de jointure (Join) entre les deux tables. La jointure s'affiche graphiquement comme un lien violet, et crée automatiquement une clé qui sera utilisée comme une clé de hachage pour augmenter la vitesse de correspondance.

Pour définir le type de jointure explicite :

  1. Cliquez sur le bouton tMap settings en haut de la table à laquelle la jointure est reliée afin d'afficher les propriétés de la table.

  2. Cliquez dans le champ Value correspondant à l'option Join Model pour faire apparaître le bouton [...] et cliquez dessus pour ouvrir la boîte de dialogue [Options].

  3. Dans la boîte de dialogue [Options], double-cliquez sur le type de jointure souhaité, ou sélectionnez-le et cliquez sur OK pour activer l'option et fermer la boîte de dialogue

Note

Une table Inner Join devrait toujours être associée à une table de rejet Inner Join Reject. Pour savoir comment définir une table de sortie comme table Inner Join Reject, consultez Utiliser les Rejets Inner Join.

Vous pouvez utiliser le bouton de filtre pour diminuer le nombre de lignes à traiter et ainsi améliorer les performances.

Consultez également :

utilisez l'option All Rows.

Par défaut, dans chaque table d'entrée de la zone d'entrée de l'éditeur du tMap, le modèle de correspondance All rows est sélectionné. Cette option All rows signifie que toutes les lignes sont chargées à partir du flux Lookup, et comparées au flux Main.

La sortie correspond au produit cartésien des deux tables (ou plus, selon vos besoins).

Note

Si vous créez une jointure explicite ou une jointure Inner Join entre deux tables, l'option All rows n'est plus disponible. Vous devez choisir entre les modèles Unique match, First match et All matches. Pour plus d'informations, consultez Utiliser les jointures explicites et Utiliser les jointures internes.

Filtrer un flux d'entrée

Cliquez sur le bouton Filter à côté du bouton Inner join pour ajouter une zone de Filtre.

Dans la zone de Filtre, saisissez les conditions que vous souhaitez appliquer. Cela vous permet de réduire le nombre de lignes à traiter en fonction du flux principal et ainsi améliorer les performances sur des flux importants et hétérogènes.

Vous pouvez utiliser l'outil d'auto-complétion via le raccourci Ctrl+Espace pour reprendre les colonnes du schéma dans la déclaration des variables.

Retirer des entrées de la table Input

Pour enlever des entrées de la table Input, cliquez sur la croix rouge, en bas, dans le Schema Editor de la table sélectionnée. Appuyez sur Ctrl ou Maj pour sélectionner les champs/colonnes à retirer de la table.

Note

Vous pouvez enlever des entrées Input d'un schéma dans le [Map Editor], cependant, cette suppression se répercutera sur la définition du schéma au niveau des propriétés du composant d'entrée.