# tHDFSPut

Ce composant se connecte au système de fichiers distribués Hadoop pour charger de gros fichiers avec une performance optimisée.

Le tHDFSPut copie des fichiers d'un répertoire défini par l'utilisateur ou l'utilisatrice et les colle dans un système de fichiers distribué Hadoop donné (HDFS). Si nécessaire, il renomme ces fichiers.

Ce composant n'est pas intégré par défaut à votre Studio Talend. Vous devez l'installer à l'aide du gestionnaire des fonctionnalités. Pour plus d'informations, consultez [Installer les fonctionnalités à l'aide du Gestionnaire des fonctionnalités](https://help.qlik.com/talend/r/fr-FR/8.0/studio-user-guide/install-features-to-talend-studio).

## Propriétés du tHDFSPut Standard

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

Le composant tHDFSPut Standard appartient aux familles Big Data et Fichier.

Le composant de ce framework est disponible dans tous les produits Talend avec Big Data et dans Talend Data Fabric.

## Basic settings

| Propriétés | Description |
| --- | --- |
| Property Type | Sélectionnez la manière de configurer les informations de connexion.<br><br><ul> <li> <p> <span>Built-In</span>&nbsp;: les paramètres de connexion seront définis localement pour ce composant. Vous devez spécifier manuellement les valeurs pour toutes les propriétés de connexion.</p> </li> <li> <p> <span>Repository</span>&nbsp;: les paramètres de connexion stockés centralement dans le <span><span>Repository</span><abbr> &gt; </abbr><span>Metadata</span></span> seront réutilisés par ce composant. </p> <p>Vous devez cliquer sur le bouton <span>[...]</span> et, dans la boîte de dialogue <span>Repository Content</span>, sélectionnez les détails de connexion à réutiliser. Toutes les propriétés de connexion seront automatiquement renseignées.</p> </li> </ul> |
| *Use an existing connection* | Cochez cette case et, dans la liste Component List, cliquez sur le composant HDFS de connexion duquel vous souhaitez réutiliser les informations de connexion précédemment définies.<br><br>Notez que lorsqu'un Job contient un Job parent et un Job enfant, la liste Component List présente uniquement les composants de connexion du Job du même niveau. |
| Hadoop version | Sélectionnez la version Hadoop de la distribution que vous utilisez. |
| Scheme | Sélectionnez le schéma (scheme) du système de fichiers à utiliser, dans la liste déroulante Scheme. Ce schéma peut être :<br><br><ul> <li>HDFS</li> <li>WebHDFS. WebHDFS avec SSL n'est pas supporté.</li> <li>ADLS Seul Azure Data Lake Storage Gen1 est supporté.</li> </ul><br><br>Les schémas présents dans cette liste varient selon la distribution que vous utilisez. Seul le schéma s'affichant dans la liste pour une distribution donnée est officiellement supporté par Talend.<br><br>Une fois qu'un schéma est sélectionné, la syntaxe correspondante, par exemple webhdfs://localhost:50070/ pour WebHDFS, s'affiche dans le champ pour l'emplacement du NameNode de votre cluster.<br><br>Si vous avez sélectionné ADLS, les paramètres de connexion à définir sont désormais :<br><br><ul> <li> <p> <span>Dans les champs <span>Client ID</span> et <span>Client key</span>, saisissez respectivement l'ID et la clé d'authentification générés après enregistrement de l'application que le Job que vous développez utilise pour accéder à Azure Data Lake Storage.</span> </p> <p>Assurez-vous que l'application à utiliser a les droits d'accès à Azure Data Lake. Vous pouvez vérifier dans la vue Required permissions de cette application, dans Azure. Pour plus d'informations, consultez la documentation Azure <a href="https://docs.microsoft.com/fr-FR/azure/data-lake-store/data-lake-store-service-to-service-authenticate-using-active-directory#step-3-assign-the-azure-ad-application-to-the-azure-data-lake-store-account-file-or-folder" target="_blank"> Affecter l’application Azure AD au dossier ou fichier de compte Azure Data Lake Storage</a>.</p> </li> <li> <p> <span>Dans le champ <span>Token endpoint</span>, copiez-collez l'endpoint du jeton OAuth 2.0 que vous pouvez obtenir à partir de la liste <span>Endpoints</span> dans la page <span>App registrations</span> de votre portail Azure.</span> </p> </li> </ul><br><br><br>Pour une démonstration vidéo, consultez [Configure and use Azure in a Job](https://www.youtube.com/watch?v=Ww9-sp5Kd1o) (en anglais). |
| Use Knox | <ul> <li><span>NameNode URI</span></li> <li><span>Use Datanode Hostname</span></li> <li><span>Use kerberos authentication</span></li> <li><span>User name</span></li> <li><span>Use MapR Ticket authentication</span></li> </ul> |
| NameNode URI | Saisissez l'URI du NameNode Hadoop, nœud maître d'un système Hadoop. Par exemple, si vous avez choisi une machine nommée *mastermode* comme NameMode, son emplacement est hdfs://masternode:portnumber. Si vous utilisez WebHDFS, l'emplacement doit être webhdfs://masternode:portnumber ; WebHDFS avec SSL n'est pas supporté. |
| Use kerberos authentication | Si vous accédez au cluster Hadoop fonctionnant avec la sécurité Kerberos, cochez cette case, puis saisissez le Principal Name de Kerberos pour le NameNode dans le champ affiché. Cela vous permet d'utiliser votre nom d'utilisateur ou d'utilisatrice pour vous authentifier, en les comparant aux informations stockées dans Kerberos.<br><br>Cette case est disponible ou non selon la distribution Hadoop à laquelle vous vous connectez. |
| Use MapR Ticket authentication | Cochez cette case afin de vous authentifier via un Ticket MapR et saisissez les informations suivantes :<br><br><ul> <li><span>User name</span>&nbsp;: saisissez votre identifiant.</li> <li><span>Group</span>&nbsp;: saisissez le nom du groupe.</li> <li><span>Password</span>&nbsp;: saisissez votre mot de passe pour vous authentifier à l'aide d'un Ticket MapR.</li> <li><span>Cluster name</span>&nbsp;: saisissez le nom du cluster à utiliser.</li> <li><span>Ticket duration</span>&nbsp;: saisissez la durée du ticket, en secondes. Par exemple&nbsp;: <span>86400L</span>, où <span>L</span> correspond à un entier long.</li> </ul> |
| Use a keytab to authenticate | Cochez la case Use a keytab to authenticate pour vous connecter à un système utilisant Kerberos à l'aide d'un fichier keytab. Un fichier Keytab contient les paires des Principaux et clés cryptées Kerberos. Vous devez saisir le principal à utiliser dans le champ Principal et le chemin d'accès au fichier keytab dans le champ Keytab. Ce fichier keytab doit être stocké sur la machine où s'exécute votre Job, par exemple, sur un Talend JobServer.<br><br>l'utilisateur ou l'utilisatrice exécutant un Job utilisant un fichier Keytab n'est pas nécessairement celui désigné par un Principal mais doit avoir le droit de lire le fichier Keytab utilisé. Par exemple, le nom d'utilisateur ou d'utilisatrice que vous utilisez pour exécuter le Job est *user1* et le principal à utiliser est *guest*. Dans cette situation, assurez-vous que *user1* a les droits de lecture pour le fichier Keytab à utiliser. |
| User name | Le champ User name est disponible lorsque vous n'utilisez pas Kerberos pour vous authentifier. Dans le champ User name, saisissez votre identifiant pour cette distribution. Si vous laissez le champ vide, le nom de la machine hébergeant le Studio Talend sera utilisé. |
| Group | Identifiant de l'utilisateur ou de l'utilisatrice et nom du groupe sous lesquels les instances HDFS ont été lancées. Ce champ peut être disponible ou indisponible selon la distribution que vous utilisez. |
| Local directory | Répertoire local où sont stockés les fichiers à charger dans HDFS. |
| HDFS directory | Parcourez votre système ou saisissez le chemin d'accès aux données à utiliser dans le système de fichiers. |
| Action on File | Sélectionnez l'action à effectuer sur le fichier :<br><br><ul> <li> <span>Create</span>&nbsp;: créer un fichier.</li> <li> <span>Overwrite</span>&nbsp;: écraser les données dans le fichier existant.</li> </ul> |
| Use Perl5 Regex Expression as Filemask | Cochez cette case si vous souhaitez utiliser les expressions régulières Perl5 comme filtres de fichiers dans le champ Files. Cela est utile lorsque le nom du fichier à utiliser contient des caractères spéciaux comme des parenthèses.<br><br>Pour plus d'informations concernant la syntaxe des expressions régulières Perl5, consultez [Perl5 Regular Expression Syntax](http://perldoc.perl.org/perlre.html#Regular-Expressions) (en anglais). |
| Fichiers | Dans la zone Files, les champs à remplir sont :<br><br><ul> <li><span>File mask</span>&nbsp;: saisissez le nom du fichier qui sera sélectionné depuis le répertoire local. L'utilisation d'une expression régulière est possible.</li> <li><span>New name</span>&nbsp;: renommez le fichier chargé.</li> </ul> |
| Die on error | Cette case est cochée par défaut. Décochez-la pour ignorer les lignes en erreur et terminer le processus avec les lignes sans erreur. |

## Advanced settings

| Propriétés | Description |
| --- | --- |
| tStatCatcher Statistics | Cochez cette case afin de collecter les données de log au niveau du composant. |
| Hadoop Properties | Le *Studio Talend* utilise une configuration par défaut pour son moteur, afin d'effectuer des opérations dans une distribution Hadoop. Si vous devez utiliser une configuration personnalisée dans une situation spécifique, renseignez dans cette table la ou les propriété(s) à personnaliser. Lors de l'exécution, la ou les propriété(s) personnalisée(s) va (vont) écraser celle(s) par défaut.<br><br><ul> <li> <p>Notez que, si vous utilisez les métadonnées stockées centralement dans le <span>Repository</span>, cette table hérite automatiquement des propriétés définies dans ces métadonnées et passe en lecture seule jusqu'à ce que, dans la liste <span>Property type</span>, vous passiez de <span>Repository</span> à <span>Built-in</span>.</p> </li> </ul><br><br>Pour plus d'informations concernant les propriétés requises par Hadoop et ses systèmes associés, tels que HDFS et Hive, consultez la documentation de la distribution Hadoop utilisée ou consultez la [documentation Apache Hadoop](http://hadoop.apache.org/docs) (en anglais) en sélectionnant la version de la documentation souhaitée. À titre d'exemple, les liens vers certaines propriétés sont listés ci-après :<br><br><ul> <li> <p>Généralement, les propriétés relatives à HDFS peuvent être trouvées dans le fichier <em>hdfs-default.xml</em> de votre distribution, par exemple dans <a href="http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml" target="_blank"> http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml</a>.</p> </li> <li> <p>Apache fournit également une page listant les <a href="https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties" target="_blank">propriétés relatives à Hive</a> (en anglais).</p> </li> </ul> |

## Variables globales

| Variables | Description |
| --- | --- |
| Variables globales | NB\_FILE : Indique le nombre de fichiers traités. Cette variable est une variable After et retourne un entier.<br><br>TRANSFER\_MESSAGES : informations transférées du fichier. Cette variable est une variable After et retourne une chaîne de caractères.<br><br>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.<br><br>Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.<br><br>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.<br><br>Pour plus d'informations concernant les variables, consultez [Utiliser les contextes et les variables](https://help.qlik.com/talend/r/fr-FR/8.0/studio-user-guide/contexts-and-variables). |

## Utilisation

| Conseils d'utilisation | Description |
| --- | --- |
| **Règle d'utilisation** | Le composant combine la connexion HDFS et l'extraction de données, de cette façon il est souvent utilisé comme simple composant pour déplacer des données d'un répertoire local donné à HDFS.<br><br>À la différence des composants tHDFSInput et tHDFSOutput, il s'exécute en standalone et ne génère pas de flux d'entrée ou de sortie pour les autres composants.<br><br>Il est souvent relié au Job à l'aide d'un lien OnSubjobOk ou OnComponentOk, en fonction du contexte. |
| Paramètres dynamiques | Cliquez sur le bouton [+] pour ajouter une ligne à la table. Dans le champ Code, saisissez une variable de contexte afin de sélectionner dynamiquement votre connexion SCP parmi celles prévues dans votre Job. Cette fonctionnalité est utile si vous devez accéder à des fichiers dans différents systèmes HDFS ou dans différentes distributions, en particulier lorsque vous travaillez dans un environnement dans lequel vous ne pouvez pas changer les paramètres de votre Job, par exemple lorsque votre Job doit être déployé et exécuté dans un *Studio Talend* indépendant.<br><br>La table Dynamic settings est disponible uniquement lorsque la case Use an existing connection est cochée dans la vue Basic settings. Lorsqu'un paramètre dynamique est configuré, la liste Component List de la vue Basic settings devient inutilisable.<br><br>Pour des exemples d'utilisation de paramètres dynamiques, consultez [Lire des données dans des bases de données MySQL à l'aide de connexions dynamiques basées sur les variables de contexte](https://help.qlik.com/talend/r/fr-FR/8.0/components/defining-context-groups/reading-data-from-databases-through-context-based-dynamic-connections) et [Lire des données à partir de différentes bases de données MySQL à l'aide de paramètres de connexion chargés dynamiquement](https://help.qlik.com/talend/r/fr-FR/8.0/components/context/reading-data-from-different-mysql-databases-using-dynamically-loaded-connection-parameters). Pour plus d'informations concernant les Paramètres dynamiques et les variables de contexte, consultez [Schéma dynamique](https://help.qlik.com/talend/r/fr-FR/8.0/studio-user-guide/dynamic-schema) et [Créer un groupe de contextes et définir les variables de contexte](https://help.qlik.com/talend/r/fr-FR/8.0/studio-user-guide/creating-context-group-and-define-context-variables-in-it). |
| Prérequis | La distribution Hadoop doit être correctement installée afin de garantir les interactions avec le *Studio Talend* . La liste suivante présente des informations d'exemple relatives à MapR.<br><br><ul> <li> <p>Assurez-vous d'avoir installé le client MapR sur la même machine que le <span>Studio Talend</span> et d'avoir ajouté la bibliothèque client de MapR dans la variable PATH de cette machine. D'après la documentation de MapR, la ou les bibliothèques du client MapR correspondant à chaque OS peuvent être trouvées dans <em>MAPR_INSTALL\ hadoop\hadoop-VERSION\lib\native</em>. Par exemple, pour Windows, la bibliothèque est <em>lib\MapRClient.dll</em> dans le fichier Jar du client MapR.</p> <p>Si vous n'ajoutez pas de librairie, il est possible que vous rencontriez l'erreur suivante&nbsp;: <span>no MapRClient in java.library.path</span>.</p> </li> <li> <p>Configurez l'argument <span>-Djava.library.path</span>, par exemple, dans la zone <span>Job Run VM arguments</span> de la vue <span>Run/Debug</span> de la boîte de dialogue <span>Preferences</span> dans le menu <span>Window</span>. Cet argument fournit au <span>Studio Talend</span> le chemin d'accès à la bibliothèque native du client MapR. Cela permet aux utilisateurs et utilisatrices en souscription d'utiliser entièrement l'aperçu des données (<span>Data viewer</span>) afin de visualiser localement dans le <span>Studio Talend</span> les données stockées dans MapR.</p> </li> </ul><br><br>Pour plus d'informations concernant l'installation d'une distribution Hadoop, consultez le manuel correspondant à la distribution Hadoop que vous utilisez. |
| Limitations | La version 1.6+ de JRE est requise. |

**Concepts associés**

* [Traiter des données avec le système de fichiers distribués Hadoop](https://help.qlik.com/talend/fr-FR/components/8.0/hdfs/thdfsget-thdfsput-tfileinputdelimited-tlogrow-computing-data-with-hadoop-distributed-file-system-standard-component-bigdata-the)