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

Talend Data Integration Studio Guide utilisateur

EnrichVersion
6.5
EnrichProdName
Talend Data Integration
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 ce schéma vers un niveau inférieur, sans risquer de perdre les éventuelles relations de dépendance (Join) que vous avez créées.

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. Si elles le sont, veillez à ce que ce lien Join ne soit pas perdu.

Voir également : 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 sur la configuration d'un schéma d'un composant, consultez Définir les propriétés des composants.

Pour plus d'informations sur 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. Cette Clé correspond à la clé définie dans le schéma d'entrée, le cas échéant. La clé de hachage (interne au [Map Editor]) se différencie de la clé primaire en apparaissant 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. Elle fournit des informations concernant la colonne sélectionnée.

Voir également : 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, les données 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 les noms des colonnes d'une table vers sa table subordonnée, afin de créer une 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. Pour cela, il faut que vous ayez créé une jointure entre ses tables.

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. 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.

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. La jointure liant les deux tables reste visible même lorsque la table est réduite.

La création d'un Join assigne automatiquement une clé de hachage au niveau du nom de champ de la table reliée. Le symbole d'une clé violette apparaît sur la table Input et disparaît quand la jointure est supprimée.

Voir également :

Avec une jointure explicite, vous pouvez choisir de mettre un filtre pour limiter le nombre de correspondances. Vous pouvez soit prendre en compte une seule correspondance (la dernière), soit la première, soit toutes les correspondances.

Pour définir le modèle de mise en correspondance 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

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 la fonction Inner Join

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 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 situé en haut de la table de référence vers laquelle pointe la jointure pour afficher les propriétés du tableau.

  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.

Voir également :

Utiliser la fonction 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 la Utiliser la fonction Inner Join.

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, ce qui 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.