Accéder au contenu principal Passer au contenu complémentaire

Propriétés du tHMap Standard

Ces propriétés sont utilisées pour configurer le tHMap s'exécutant dans le framework de Jobs Standard.

Le composant tHMap Standard appartient à la famille Processus en cours.

Ce composant est disponible dans Talend Data Management Platform, Talend Big Data Platform, Talend Real-Time Big Data Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.

Basic settings

Open Map Editor

Cliquez sur le bouton [...] pour ouvrir l'assistant Structure Generate/Select.

Vous pouvez d'abord sélectionner le type de map à créer :
  • Standard Map : Les maps standards effectuent des mappings à l'aide de fonctions basées sur xQuery.
  • Availability-noteBeta
    DSQL Map : Les maps DSQL effectuent des mappings à l'aide de Data Shaping Query Language.
Vous pouvez cocher la case Don't ask me again pour enregistrer cette préférence. Pour plus d'informations concernant ces types de maps, consultez Utilisation de maps.
Note InformationsRemarque : Cette option est disponible uniquement si vous avez installé la mise à jour mensuelle R2023-10 du Studio ou une mise à jour plus récente fournie par Talend. Pour plus d'informations, contactez votre administrateur ou administratrice.

Vous pouvez ensuite obtenir une structure de mappeur hiérarchique générée automatiquement à partir du schéma ou sélectionner une structure de mappeur hiérarchique existante. Vous devez effectuer cette action pour l'entrée et la sortie de mapping. Voici les différentes options pour la structure de sortie :

  • Option Generate hierarchial mapper structure based on the schema : lorsque le tHMap a plusieurs liens de sortie, la page affiche un message de confirmation vous informant que les structures de l'éditeur de mapping sont générées selon les liens de sortie.
  • Option Select an existing hierarchical mapper structure : vous pouvez relier plusieurs sorties basées sur le payload au tHMap. S'il n'y a qu'une seule connexion de type payload, vous pouvez cocher la case Allow support for multiple output connections. Le mapping de sortie généré hérite de la structure du payload existante.

Si le Studio Talend détecte plusieurs liens de sortie disponibles, la fenêtre affiche les différentes options de structure de sortie mais pas la case Allow support for multiple output connections.

S'il n'existe aucun lien d'entrée ou de sortie, la page Structure Selection s'ouvre.

Synchronize map with schema connections

Cochez cette case si vous souhaitez générer à nouveau automatiquement vos structures d'entrée et de sortie de map après modification de l'une d'entre elles :
  • Modification de la métadonnées de connexion
  • Connexion d'entrée ou de sortie ajoutée
  • Connexion d'entrée ou de sortie supprimée
Aucune modification n'est détectée lorsqu'une connexion est activée ou désactivée.
Si cette case est cochée, la map est automatiquement synchronisée lorsqu'elle est ouverte à partir du composant, après une modification. Sinon, une boîte de dialogue s'ouvre et vous propose de synchroniser.
Note InformationsRemarque : Pour les structures avec plusieurs connexions, la map peut uniquement être synchronisée si les structures ont été créées de la même manière que celles générées par l'assistant de configuration du composant. Par exemple, les maps d'aplatissement avec plusieurs sorties ne peuvent être synchronisées.

Map Path

Spécifiez le mapping à effectuer.

Si le mapping a été créé à partir de l'assistant décrit précédemment, le chemin est automatiquement configuré.

Si vous souhaitez utiliser un mapping existant, cliquez sur le bouton [...] à côté du champ Map Path pour ouvrir une boîte de dialogue dans laquelle vous pouvez sélectionner le mapping à utiliser. Cliquez sur le bouton [...] à côté du Open Map Editor pour travailler sur le mapping sélectionné. Notez que ce mapping doit avoir été précédemment créé dans la perspective Mapping.

Read Input As

Sélectionnez le bouton radio correspondant à la manière dont vous souhaitez que l'entrée soit lue. Selon votre mapping, seules certaines options peuvent être disponibles.

  • Data Integration columns (défaut) : utilisez cette option si vous travaillez avec les métadonnées de Talend Data Integration.

  • Single column : utilisez cette option si vous travaillez avec les métadonnées de Talend Data Mapper.

Write Output As

Sélectionnez le bouton radio correspondant à la manière dont vous souhaitez écrire la sortie. Selon votre mapping, seules certaines options peuvent être disponibles.

  • Data Integration columns (défaut) : utilisez cette option si vous travaillez avec les métadonnées de Talend Data Integration.

  • String (single column) : utilisez cette option si les données de la colonne de sortie sont de type String.

  • Byte array (single column) : utilisez cette option si les données de la colonne de sortie sont de type Byte array.

  • InputStream (single column) : utilisez cette option si vous travaillez avec les métadonnées de Talend Data Mapper et que les données d'entrée sont un flux.

  • Document (single column) : utilisez cette option si la colonne de sortie est de type Document.

Paramètres avancés

Map Variable

Dans ce champ, saisissez une variable de contexte ou une variable globale contenant le chemin d'accès à une map. Par exemple, si vous saisissez ${context.mymapfile}, mymapfile peut alors pointer vers différents fichiers de mapping lors de l’exécution. Cela peut être utile si vous souhaitez utiliser différents mappings sans avoir à créer un Job à chaque fois.

La valeur de la variable doit être un chemin relatif. Par exemple, si vous avez une map nommée mapA dans le dossier Maps/FolderA, votre variable de contexte doit contenir la valeur "FolderA/mapA.xml". Vous pouvez écrire le chemin d'accès avec ou sans l'extension .xml.

Notez que toutes les maps qui peuvent être référencées par la variable de contexte doivent être présentes dans le même projet. Ainsi, lorsque qu'il est construit, le Job contient tous les mappings candidats et il est possible de passer d'un mapping à un autre lors de l’exécution.

Pour plus d'informations concernant les variables de contexte, consultez Utiliser les contextes et les variables dans le Guide d'utilisation du Studio Talend.

Alternate contextual Map(s)

Dans la liste déroulante, sélectionnez un ou plusieurs mapping(s) pouvant être référencé(s) par la variable de contexte ajoutée dans Map Variable lors de l'exécution.

Les maps alternatives sélectionnées doivent le même type de map (standard ou DSQL) que la map d'origine.

Lorsque le Job est construit, il contient le ou les mapping(s) contextuel(s) alternatif(s) sélectionné(s). Pour un scénario d'exemple concernant les mappings alternatifs, consultez Spécifier une variable de mapping et un mapping alternatif dans le tHMap.

Map each row (disable virtual component)

Cochez cette case pour que le tHMap traite l'entrée comme une seule ligne de sortie. Cela empêche le tHMap de mettre en mémoire tampon les lignes d'entrée avant de les passer en aval.

Cela peut être utile, par exemple, lorsque vous utilisez le composant tHMap avec un tSAPIDocReceiver en entrée et un composant prenant un schéma en compte en sortie, car dire au tSAPIDocReceiver de continuer à écouter indéfiniment empêcherait des lignes d'être passées.

Si le tHMap est utilisé avec un composant d'entrée pouvant rester ouvert pour recevoir des entrées en continu, comme le tRestRequest, cette option doit être sélectionnée. Elle permet au tHMap de traiter directement les entrées reçues.

Emit empty payload Cochez cette case pour envoyer une ligne vide dans la connexion de sortie lorsqu'il n'y a pas de données de sortie. Cela peut se produire lorsqu'il n'y a pas d'entrée ou que l'entrée entière est exclue du filtre dans la map. Si cette case est décochée, aucune ligne n'est envoyée dans la connexion de sortie.

Cette option est appliquée uniquement lorsque la case Map each row est décochée.

Use old Eclipse runtime (deprecated)

Cochez cette case pour inclure l'ancien environnement d'exécution Eclipse dans votre Job.
Note InformationsRemarque : Cette option est disponible uniquement si vous avez installé la mise à jour mensuelle R2024-03 du Studio Talend ou une mise à jour plus récente fournie par Talend. Pour plus d'informations, contactez votre administrateur ou administratrice.

Exception Threshold

Talend Data Mapper retourne un statut d'exécution et une valeur de sévérité pouvant être de niveau OK, Info, Warning, Error ou Fatal. En configurant le seuil d'exception, vous pouvez spécifier le niveau de sévérité auquel est retournée une exception et permettre aux composants suivants de détecter les erreurs dans les cas où la valeur n'est pas celle par défaut, Fatal.

Dans la liste déroulante, sélectionnez le niveau de sévérité auquel une exception est retournée durant l'exécution d'un mapping.

  • Fatal (défaut) : une exception est retournée lorsqu'une erreur fatale (Fatal) survient.

  • Error : une exception est retournée lorsqu'une erreur (de niveau Error ou supérieur) survient.

  • Warning : une exception est retournée lorsqu'un avertissement (Warning ou une erreur de niveau supérieur) survient.

Pour vous aider à diagnostiquer les problèmes de votre mapping, lorsque vous testez ce mapping dans le Studio Talend, chaque erreur de niveau Warning ou supérieur est écrite dans la vue console, peu importe le réglage défini dans l'option Exception Threshold.

Statistiques du tStatCatcher

Cochez cette case pour collecter les métadonnées de traitement du Job au niveau du Job ainsi qu'au niveau de chaque composant.

Variables globales

Global Variables

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, lorsque le composant contient cette case.

MapExecutionStatus : retourne un objet de la classe org.talend.transform.runtime.common.MapExecutionStatus

EXECUTION_SEVERITY : Récupère la valeur numérique de Overall Severity. Cette variable est une variable After et retourne un entier.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. À partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez Utiliser les contextes et les variables.

Utilisation

Règle d'utilisation

Le composant tHMap est utilisé pour les Jobs nécessitant un mapping de données complexes provenant de différentes sources.

Les connexions d'entrée et de sortie peuvent utiliser les métadonnées de Talend Data Mapper, de Talend Data Integration ou une combinaison des deux. Chaque connexion est indépendante.

Lorsque vous ouvrez l'éditeur de mapping pour la première fois pour chaque connexion, il peut générer une définition de structure Talend Data Mapper basée sur le schéma d'un composant de Talend Data Integration, ou vous permettre de sélectionner une structure Talend Data Mapper si vous utilisez les métadonnées de Talend Data Mapper. L'éditeur crée un mapping avec la structure sélectionnée ou générée.

Ce composant peut être utilisé de plusieurs manières :

  • Vous pouvez travailler avec un mapping Talend Data Mapper et des structures basées sur les métadonnées de Talend Data Mapper. Dans ce cas, les composants (par exemple, tFileInputRaw et tFileOutputRaw) passent les données dans une seule colonne dans une seule ligne.

    Pour un exemple de cette utilisation, consultez Utilisation de métadonnées.

  • Vous pouvez travailler avec les métadonnées de Talend Data Integration. Dans ce cas, connectez un composant d'entrée et un composant de sortie au tHMap, puis ouvrez le Map Editor sans spécifier de chemin de mapping.

    Pour un exemple de cette utilisation, consultez Utilisation de métadonnées.

  • Vous pouvez travailler avec une combinaison de métadonnées de Talend Data Mapper et de la solution de Talend Data Integration.

    Pour un exemple de cette utilisation, consultez Transformation d'un schéma d'intégration de données en un schéma complexe.

  • Vous pouvez utiliser des fichiers d'entrée bruts et des liens d'entrée basés sur les schémas pour le tHMap.

    Pour des exemples de cette utilisation, consultez Générer la sortie à l'aide d'un tHMap avec plusieurs schémas d'entrée et Générer la sortie à l'aide d'un tHMap comprenant plusieurs entrées Payload.

  • Vous pouvez utiliser des tables de bases de données créées dans le Studio Talend et connecter ces tables en entrée du tHMap. Si vos Jobs utilisent la fonctionnalité dépréciée DatabaseLookup, consultez Migrer de DatabaseLookup au tHMap pour connaître les étapes de migration vers le tHMap.
  • Vous pouvez relier le tHMap à plusieurs connexions de bases de données de sortie. Pour migrer des Jobs précédemment créés à l'aide de fonctions d'entrée et sortie de bases de données, consultez Migrer des fonctions de bases de données d'entrée et de sortie vers des connexions avec plusieurs sorties vers le tHMap.
  • Vous pouvez relier le tHMap à plusieurs connexions de sortie à l'aide de fichiers bruts, connexions basées sur des schémas ou basées payloads.
  • Le scénario Gestion des erreurs montre comment traiter les conditions d'erreur à l'aide du composant tHMap.

  • Pour un composant tHMap avec une seule connexion, l'option Wrap Structure (permet au tHMap de supporter plusieurs entrées/sorties) n'est pas cochée par défaut, pour les options suivantes : Generate from Schema (basée schéma) et Select From Existing Structure (de type payload).

Exemple d'utilisation avancée
  • Pour la structure de sortie du tHMap, vous pouvez également utiliser la fonction WriteURL dans Talend Data Mapper. Si la structure de sortie du tHMap comprend une connexion à une métadonnée ou à un composant Talend Data Integration et une fonction WriteURL, la valeur de la fonction WriteURL passe la première. La métadonnée ou le composant Talend Data Integration ne reçoit aucune donnée du tHMap.
  • En utilisant le tHMap, vous pouvez tester le mapping Talend Data Mapper généré en mode Test Run.

    Pour utiliser la fonctionnalité, assurez-vous d'avoir un document d'entrée compatible de format CSV avec les propriétés suivantes :
    • le séparateur par défaut est la virgule (,) ;
    • le séparateur de lignes par défaut est utilisé pour les sauts de ligne ;
    • le fichier d'entrée ne contient pas de ligne d'en-tête ;
    • le fichier de sortie ne contiendra pas de ligne d'en-tête.

    Spécifiez votre document d'entrée dans Show Document (Afficher le document) > Select Sample Input Document (Sélectionner un document d'entrée échantillon) > Select Resource/Import Document (Sélectionner un document de ressource/import).

    Pour exécuter la transformation, cliquez sur Test Run. Après exécution, votre document de sortie généré est au format CSV. Vous pouvez le sauvegarder en cliquant sur Save to File. Pour configurer cette fonctionnalité, consultez Préférences de test.

    Note InformationsConseil : Si votre mapping contient plusieurs entrées et sorties, spécifiez un document d'entrée pour chaque ligne ou élément de mapping ReadURL. Pour l'exécuter, utilisez l'option Test Run to External Output et spécifiez une URL de fichier pour chaque WriteURL dans la structure de sortie du mapping.
Limitations
  • Si vous avez créé un tHMap avec plusieurs liens d'entrée ou de sortie, vous pouvez ajouter des liens d'entrée ou de sortie uniquement basés sur des schémas.
  • Lorsque vous ajoutez un nouveau lien avec une colonne unique, vous ne pouvez l'associer à une structure de payload. Le mécanisme de regénération de mapping ne génère qu'un enregistrement contenant un élément pour le nouveau lien.
  • Un Job contenant un tHMap ne peut être déployé en tant que bundle OSGi avec l'ancien moteur d'exécution basé Eclipse.
Utilisation avec Talend Runtime Si vous souhaitez déployer un Job ou une Route contenant un composant de mapping de données avec Talend Runtime, vous devez d'abord installer la fonctionnalité Talend Data Mapper. Pour plus d'informations, consultez Utiliser Talend Data Mapper avec Talend Runtime.
Note InformationsRemarque :
  • Pour plus d'informations concernant les transformations à l'aide de Talend Data Mapper , consultez cette documentation.

  • Lorsque vous utilisez des représentations autres que Map, CSV, Avro, XML et Cobol, exécuter ce composant avec l'ancien moteur d'exécution basé Eclipse peut créer des dossiers temporaires, qui ne sont pas automatiquement supprimés après arrêt du moteur d'exécution. Si vous exécutez Talend Data Mapper fréquemment, ces dossiers risquent de prendre beaucoup de place et conduire à une erreur de mémoire disque. Lorsque cette erreur survient, l'exécution échoue. Pour éviter cela, il est recommandé d'effectuer un nettoyage régulier des dossiers. Pour plus d'informations, consultez Nettoyer les fichiers et dossiers temporaires.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.