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

Propriétés du tHMapInput pour Apache Spark Batch

Ces propriétés sont utilisées pour configurer le tHMapInput s'exécutant dans le framework de Jobs Spark Batch.

Le composant tHMapInput Spark Batch appartient à la famille Processus en cours.

Ce composant est disponible dans les produits Talend Platform avec Big Data et dans Talend Data Fabric.

Basic settings

Storage

Pour vous connecter à une installation HDFS, cochez la case Define a storage configuration component et sélectionnez le nom du composant à utiliser, parmi ceux disponibles dans la liste déroulante.

Cette option nécessite d'avoir précédemment configuré la connexion à l'installation HDFS à utiliser, comme décrit dans la documentation du composant tHDFSConfiguration.

Si vous laissez la case Define a storage configuration component décochée, vous pouvez convertir les fichiers seulement en local.

Configure Component

Avant de configurer ce composant, vous devez déjà avoir ajouté un composant en aval et l'avoir lié au tHMapInput, ainsi que d'avoir récupéré le schéma du composant en aval.

Pour configurer le composant, cliquez sur le bouton [...] et, dans la fenêtre Component Configuration, effectuez les actions suivantes.
  1. Cliquez sur le bouton Select à côté du champ Record structure et, dans la boîte de dialogue Select a Structure qui s'ouvre, sélectionnez le mapping à utiliser, puis cliquez sur OK.

    Cette structure doit avoir été précédemment créée dans Talend Data Mapper.

  2. Sélectionnez dans la liste la représentation Input Representation à utiliser.

    Les formats d'entrée supportés sont Avro, COBOL, EDI, Flat, IDoc, JSON et XML.

  3. Cliquez sur Next.

  4. Précisez au composant où chaque nouvel enregistrement commence. Pour ce faire, vous devez comprendre la structure de vos données.

    La manière dont vous procédez dépend de la représentation d'entrée utilisée. L'une des options suivantes vous est présentée.

    1. Sélectionnez un séparateur d'enregistrements pour vos données. Notez que vous devez spécifier cette valeur sans guillemet.

      • Separator vous permet de spécifier un indicateur de séparateur, comme \n, pour identifier une nouvelle ligne.

        Les indicateurs sont \n pour une ligne de type Unix, \r\n pour Windows et \r pour Mac et \t pour les tabulations.

      • Start/End with vous permet de spécifier les caractères initiaux indiquant un nouvel enregistrement, comme <root, ou les caractères qui indiquent la fin d'un enregistrement.

        Start with supporte également les nouvelles lignes, avec \n pour une ligne de type Unix, \r\n pour Windows et \r pour Mac, ainsi que \t pour les tabulations.

        Cochez la case Regular Expression si vous souhaitez saisir une expression régulière correspondant au début d'un enregistrement. Lorsque vous sélectionnez XML ou JSON, cette case est cochée par défaut et une expression régulière pré-configurée est fournie.

      • Sample File : pour tester la signature avec un fichier d'exemple, cliquez sur le bouton [...], parcourez votre système jusqu'au fichier que vous souhaitez utiliser en tant qu'exemple, cliquez sur Open, puis cliquez sur Run pour tester votre exemple.

        Tester la signature vous permet de vérifier que le nombre total d'enregistrements et leurs longueur minimale et maximale correspondent à ce que vous attendez, sur la connaissance de vos données. Cette étape requiert que vous ayez un sous-ensemble local de vos données à utiliser en exemple.

      • Cliquez sur Finish.

    2. Si votre représentation d'entrée est COBOL ou plate avec des propriétés d'encodage positionnel et/ou binaire, définissez la signature pour la structure de l'enregistrement d'entrée :
      • Input Record correspond à l'élément racine de votre enregistrement d'entrée.
      • Minimum Record Size correspond à la taille en octets de l'enregistrement le plus petit. Si vous configurez une valeur trop petite, vous pouvez rencontrer des problèmes de performance, puisque le composant va effectuer plus de vérifications que nécessaire lors de la recherche d'un nouvel enregistrement.

      • Maximum Record Size correspond à la taille en octets de l'enregistrement le plus grand et utilisé pour déterminer combien de mémoire est allouée à la lecture de l'entrée.

      • Sample from Workspace ou Sample from File System : pour tester la signature avec un fichier d'exemple, cliquez sur le bouton [...], puis parcourez votre système ou votre espace de travail jusqu'au fichier que vous souhaitez utiliser en tant qu'exemple.

        Tester la signature vous permet de vérifier que le nombre total d'enregistrements et leurs longueur minimale et maximale correspondent à ce que vous attendez, sur la connaissance de vos données. Cette étape requiert que vous ayez un sous-ensemble local de vos données à utiliser en exemple.

      • Footer Size correspond à la taille en octets du pied de page, s'il y en a un. Lors de l'exécution, le pied de page sera ignoré, au lieu d'être inclus par erreur dans le dernier enregistrement. Laissez ce champ vide s'il n'y a pas de pied de page.

      • Cliquez sur le bouton Next pour ouvrir la fenêtre Signature Parameters, sélectionnez les champs définissant la signature de la structure de votre enregistrement d'entrée (pour identifier où commence un nouvel enregistrement), mettez à jour les colonnes Operation et Value selon vos besoins, puis cliquez sur Next.

      • Dans la fenêtre Record Signature Test qui s'ouvre, vérifiez que vos enregistrements sont correctement délimités en navigant parmi eux, à l'aide des boutons Back et Next et en effectuant une vérification visuelle, puis cliquez sur Finish.

  5. Mappez les éléments de la structure d'entrée à la structure de sortie dans le nouveau mapping qui s'ouvre, puis appuyez que les touches Ctrl+S afin de sauvegarder le mapping.

    Pour plus d'informations concernant la création de maps, consultez Créer une map standard.

Entrée

Cliquez sur le bouton [...] pour définir le chemin d'accès à l'emplacement où est stocké le fichier d'entrée.

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

Arrêter en cas d''erreur

Cette case est cochée par défaut.

Décochez la case pour ignorer les lignes en erreur et terminer le traitement des lignes sans erreur.

Si vous décochez cette case, vous pouvez exécuter les options suivantes :
  • Connectez le composant tHMapInput à un composant de sortie, par exemple le tAvroOutput, à l'aide d'une connexion Row > Rejects. Dans le composant de sortie, assurez-vous d'ajouter une métadonnée fixe avec les colonnes suivantes :
    • inputRecord : contient l'enregistrement d'entrée rejeté pendant la transformation.
    • recordId : renvoie à l'identifiant de l'enregistrement. Pour une entrée texte ou binaire, le recordId spécifie l'offset de début de l'enregistrement dans le fichier d'entrée. Pour une entrée AVRO, le recordId spécifie l'horodatage de l'entrée exécutée.
    • errorMessage : contient le statut de transformation, avec des informations sur les raisons de l'échec de la transformation.
  • Si cette case est décochée, vous pouvez récupérer les enregistrements rejetés dans un fichier. Un de ces mécanismes déclenche cette fonctionnalité : (1) une variable de contexte talend_transform_reject_file_path) et (2) une variable système configurée dans les paramètres avancés du Job (spark.hadoop.talend.transform.reject.file.path).

    Lorsque vous configurez le chemin d'accès au fichier dans Hadoop Distributed File System (HDFS), aucune configuration supplémentaire n'est nécessaire. Lorsque vous configurez le fichier sur Amazon S3 ou dans un autre système de fichiers compatible Hadoop, ajoutez le paramètre avancé de configuration Spark associé.

    En cas d'erreur lors de l'exécution, le tHMapFile vérifie que l'un des mécanismes existe et, si c'est le cas, il écrit à la suite du fichier spécifié les enregistrements rejetés. Le contenu du fichier de rejets comprend la concaténation des enregistrements rejetés sans métadonnée supplémentaire.

    Si le système de fichiers que vous utilisez ne supporte pas l'écriture à la suite d'un fichier, un fichier séparé est créé pour chaque rejet. Le fichier utilise le chemin d'accès fourni comme préfixe et ajoute en suffixe l'offset du fichier d'entrée et la taille de l'enregistrement rejeté.

Note InformationsRemarque : Les erreurs qui surviennent durant les tentatives de stockage des rejets sont enregistrées et le traitement continue.

Advanced settings

Use old Eclipse runtime

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.

Utilisation

Règle d'utilisation

Ce composant est utilisé avec le tHDFSConfiguration, définissant la connexion au stockage HDFS.

Ce composant est un composant d'entrée et nécessite un flux de sortie.

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.

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 – dites-nous comment nous améliorer !