# tHConvertFile

Ce composant utilise des structures Talend Data Mapper pour effectuer une conversion d'une représentation à une autre, comme une exécution Spark Batch.

Le tHConvertFile convertit des données d'une représentation à une autre dans un environnement Spark.

## Propriétés du tHConvertFile pour Apache Spark Batch

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

Le composant tHConvertFile 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

| Propriétés | Description |
| --- | --- |
| 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.<br><br>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.<br><br>Si vous laissez la case Define a storage configuration component décochée, vous pouvez convertir les fichiers seulement en local. |
| Configure Component | Pour configurer le composant, cliquez sur le bouton [...] et, dans la fenêtre Component Configuration, effectuez les actions suivantes.<br><br><ol> <li> <p>Cliquez sur le bouton <span>Select</span> à côté du champ <span>Record structure</span> et, dans la boîte de dialogue <span>Select a Structure</span> qui s'ouvre, sélectionnez la structure que vous souhaitez utiliser lors de la conversion du fichier, puis cliquez sur <span>OK</span>.</p> <p>Cette structure doit avoir été précédemment créée dans <em><span>Talend Data Mapper</span></em>.</p> </li> <li> <p>Sélectionnez dans la liste la représentation <span>Input Representation</span> à utiliser.</p> <p>Les formats d'entrée supportés sont Avro, COBOL, EDI, Flat, IDoc, JSON et XML.</p> </li> <li> <p>Sélectionnez dans la liste la représentation <span>Output Representation</span> à utiliser.                                     Les choix disponibles pour la représentation de sortie dépendent de ce que vous avez choisi comme représentation d'entrée.</p> <p>Les formats de sortie supportés sont Avro, Flat, JSON et XML.</p> </li> <li> <p>Cliquez sur <span>Next</span>.</p> </li> <li> <p>Précisez au composant où chaque nouvel enregistrement commence.                                     Pour ce faire, vous devez comprendre la structure de vos données.</p> <p>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.</p> <ol> <li> <div>Sélectionnez un séparateur d'enregistrements pour vos données. Notez que vous devez spécifier cette valeur sans guillemet.<ul> <li> <p> <span>Separator</span> vous permet de spécifier un indicateur de séparateur, comme <em>\n</em>, pour identifier une nouvelle ligne.</p> <p>Les indicateurs sont <em>\n</em> pour une ligne de type Unix, <em>\r\n</em> pour Windows et <em>\r</em> pour Mac et <em>\t</em> pour les tabulations.</p> </li> <li> <p> <span>Start/End with</span> vous permet de spécifier les caractères initiaux indiquant un nouvel enregistrement, comme <em>&lt;root</em>, ou les caractères qui indiquent la fin d'un enregistrement. Il peut également s'agir d'une expression régulière.</p> <p> <span>Start with</span> supporte également les nouvelles lignes, avec <em>\n</em> pour une ligne de type Unix, <em>\r\n</em> pour Windows et <em>\r</em> pour Mac, ainsi que <em>\t</em> pour les tabulations.</p> </li> <li> <span>Sample File</span>&nbsp;: pour tester la signature avec un fichier d'exemple, cliquez sur le bouton <span>[...]</span>, parcourez votre système jusqu'au fichier que vous souhaitez utiliser en tant qu'exemple, cliquez sur <span>Open</span>, puis cliquez sur <span>Run</span> pour tester votre exemple.<p>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.</p> </li> </ul> <ul> <li> <p>Cliquez sur <span>Finish</span>. </p> </li> </ul> </div> </li> <li> <div>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&nbsp;:<ul> <li> <span>Input Record</span> correspond à l'élément racine de votre enregistrement d'entrée.</li> <li> <p> <span>Minimum Record Size</span> 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.</p> </li> <li> <p> <span>Maximum Record Size</span> 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.</p> </li> <li> <span>Maximum Block Size (BLKSIZE)</span> correspond à la taille en octets du plus grand bloc dans les fichiers Variable Blocked. Si vous n'avez pas la valeur exacte, vous pouvez saisir <kbd>32760</kbd>, taille maximale BLKSIZE.<p>Avec la signature Variable Blocked, chaque bloc est extrait comme enregistrement Spark. Chaque exécution de mapping traite un bloc complet et non un enregistrement Cobol individuel, comme avec les autres signatures Cobol.</p> </li> <li> <span>Sample from Workspace</span> ou <span>Sample from File System</span>&nbsp;: pour tester la signature avec un fichier d'exemple, cliquez sur le bouton <span>[...]</span>, puis parcourez votre système ou votre espace de travail jusqu'au fichier que vous souhaitez utiliser en tant qu'exemple.<p>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.</p> </li> <li> <p> <span>Footer Size</span> 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.</p> </li> <li> <p>Cliquez sur le bouton <span>Next</span> pour ouvrir la fenêtre <span>Signature Parameters</span>, 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 <span>Operation</span> et <span>Value</span> selon vos besoins, puis cliquez sur <span>Next</span>.</p> </li> <li> <p>Dans la fenêtre <span>Record Signature Test</span> qui s'ouvre, vérifiez que vos enregistrements sont correctement délimités en navigant parmi eux, à l'aide des boutons <span>Back</span> et <span>Next</span> et en effectuant une vérification visuelle, puis cliquez sur <span>Finish</span>.</p> </li> </ul> </div> </li> </ol> </li> </ol> |
| Input | Cliquez sur le bouton [...] pour définir le chemin d'accès à l'emplacement où est stocké le fichier d'entrée.<br><br>Vous pouvez également saisir manuellement le chemin d'accès, entre guillemets. |
| Output | Cliquez sur le bouton [...] afin de définir le chemin d'accès à l'emplacement où est stocké le fichier de sortie.<br><br>Vous pouvez également saisir manuellement le chemin d'accès, entre guillemets. |
| Action | Dans la liste déroulante, sélectionnez :<br><br><ul> <li> <p> <span>Create</span> si vous souhaitez que le processus de conversion crée un fichier.</p> </li> <li> <p> <span>Overwrite</span> si vous souhaitez que le processus de conversion écrase un fichier existant.</p> </li> </ul> |
| Open Structure Editor | Cliquez sur le bouton [...] pour ouvrir la structure afin de la modifier dans l'éditeur Structure Editor de *Talend Data Mapper*.<br><br>Pour plus d'informations, consultez [Éditeur de structure de sortie hiérarchique](https://help.qlik.com/talend/r/fr-FR/8.0/data-mapper-user-guide/hierarchical-output-structure-editor). |
| Fusionner les résultats en un fichier | Par défaut, le composant tHConvertFile crée plusieurs fichiers part. Cochez cette case pour fusionner ces fichiers en un seul fichier.<br><br>Les options suivantes sont utilisées pour gérer les fichiers sources et cible :<br><br><ul> <li> <span>Merge File Path</span>&nbsp;: saisissez le chemin d'accès au fichier qui contiendra le contenu fusionné de toutes les parties.</li> <li> <span>Remove source dir</span> : cochez cette case pour supprimer les fichiers sources après la fusion. </li> <li> <span>Override target file</span> : cochez cette case pour écraser le fichier existant à l'emplacement cible. Cette option n'écrase pas le dossier. </li> <li> <span>Include Header</span>&nbsp;: cochez cette case pour ajouter l'en-tête CSV au début du fichier fusionné. Cette option est utilisée uniquement pour des sorties CSV. Pour d'autres représentations, elle n'a aucun effet sur le fichier cible.</li> </ul><br><br>Note InformationsAvertissement : Utiliser cette option avec une sortie Avro crée un fichier Avro invalide. Comme chaque partie commence par un en-tête Avro Schema, le fichier fusionné aura plusieurs Avro Schema, ce qui est invalide. |

## Advanced settings

| Propriétés | Description |
| --- | --- |
| Die on error | Cochez cette case pour arrêter l'exécution du Job lorsqu'une erreur survient.<br><br>Décochez la case pour ignorer les lignes en erreur et terminer le processus. |
| Use old Eclipse runtime (deprecated) | Cochez cette case pour inclure l'ancien environnement d'exécution Eclipse dans votre Job.<br><br>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.<br><br>Note InformationsRemarque : À partir de la version 8.0 R2025-04 du Studio Talend, le paramètre Use old Eclipse runtime (deprecated) est supprimé. |

## Utilisation

| Conseils d'utilisation | Description |
| --- | --- |
| Règle d'utilisation | Ce composant est utilisé avec le tHDFSConfiguration, définissant la connexion au stockage HDFS, ou en tant que composant standalone pour convertir des fichiers locaux uniquement. |
| 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](https://help.qlik.com/talend/r/fr-FR/8.0/data-mapper-user-guide/using-talend-data-mapper-with-talend-runtime). |