# tHDFSInput

Ce composant extrait les données d'un fichier HDFS afin que d'autres composants puissent les traiter.

Le tHDFSInput lit un fichier situé dans un système de fichiers distribué Hadoop (HDFS) et écrit les données qui vous intéressent à partir de ce fichier dans un schéma Talend. Il passe ensuite les données au composant suivant.

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 tHDFSInput Standard

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

Le composant tHDFSInput 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> |
| Schema et Edit Schema | <ul> <li> <p>Un schéma est une description de lignes. Il définit le nombre de champs (colonnes) à traiter et à passer au composant suivant. Lorsque vous créez un Job Spark, évitez le mot réservé <kbd>line</kbd> lors du nommage des champs.</p> <p>Créez le schéma en cliquant sur le bouton <span>Edit Schema</span>. Si le schéma est en mode <span>Repository</span>, trois options sont disponibles&nbsp;:</p> <ul> <li> <p> <span>View schema</span>&nbsp;: sélectionnez cette option afin de voir uniquement le schéma.</p> </li> <li> <p> <span>Change to built-in property</span>&nbsp;: sélectionnez cette option pour passer le schéma en mode <span>Built-In</span> et effectuer des modifications locales.</p> </li> <li> <p> <span>Update repository connection</span>&nbsp;: sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs.</p> <p>Si vous souhaitez propager les modifications uniquement au Job courant, cliquez sur <span>No</span> et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre <span>Repository Content</span>.</p> </li> </ul> </li> <li> <p> <span>Built-in</span>&nbsp;: le schéma est créé et conservé localement pour ce composant seulement.</p> </li> <li> <p> <span>Repository</span>&nbsp;: le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans des Jobs et projets.</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). |
| 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. |
| File Name | Parcourez votre système ou saisissez le chemin d'accès aux données à utiliser dans le système de fichiers.<br><br>Si le chemin que vous avez saisi pointe vers un dossier, le composant lit tous les fichiers contenus dans ce dossier. De plus, si le dossier contient des sous-dossiers et que vous souhaitez que les fichiers de ces sous-dossiers soient lus, cochez la case Include sub-directories if path is directory dans la vue Advanced settings. |
| Type | Sélectionnez le type de fichier à traiter. Le type de fichier peut être :<br><br><ul> <li> <p> <span>Text file</span>.</p> </li> <li> <p> <span>Sequence file</span>&nbsp;: un fichier de séquence Hadoop se compose de paires clé/valeur binaires et convient au framework Map/Reduce.                     Pour plus d'informations, consultez la page <a href="http://wiki.apache.org/hadoop/SequenceFile" target="_blank">http://wiki.apache.org/hadoop/SequenceFile</a> (en anglais). </p> <p>Une fois le format <span>Sequence file</span> sélectionné, les listes <span>Key column</span> et <span>Value column</span> apparaissent et vous permettent de sélectionner les clés et les valeurs de ce fichier de séquence à traiter.</p> </li> </ul> |
| Row separator | Saisissez le séparateur utilisé pour identifier la fin d'une ligne.<br><br>Ce champ n'est pas disponible pour un fichier Sequence. |
| Field separator | Saisissez un caractère, une chaîne de caractères ou une expression régulière pour séparer les champs des données transférées.<br><br>Ce champ n'est pas disponible pour un fichier Sequence. |
| Header | Saisissez le nombre de lignes d'en-tête à ignorer dans les données transférées. Par exemple, saisissez *0* pour ne pas ignorer de ligne dans les données sans en-tête et *1* pour les données dont l'en-tête se trouve dans la première ligne.<br><br>Ce champ n'est pas disponible pour un fichier Sequence. |
| Custom encoding | Il est possible de rencontrer des problèmes d'encodage lorsque vous traitez les données stockées. Dans ce cas, cochez cette case pour afficher la liste Encoding.<br><br>Sélectionnez l'encodage à partir de la liste ou sélectionnez Custom et définissez-le manuellement. Ce champ est obligatoire pour la manipulation des données de base de données. Les encodages supportés dépendent de la JVM que vous utilisez. Pour plus d'informations, consultez [https://docs.oracle.com](https://docs.oracle.com/).<br><br>Ce champ n'est pas disponible pour un fichier Sequence. |
| Compression | Cochez la case Uncompress the data pour décompresser les données d'entrée.<br><br>Hadoop fournit différents formats de compression permettant de réduire l'espace nécessaire au stockage des fichiers et d'accélérer le transfert de données. Lorsque vous lisez un fichier compressé, le Studio Talend doit le décompresser avant de pouvoir en alimenter le flux d'entrée.<br><br>Cette option n'est pas disponible pour un fichier Sequence. |

## Advanced settings

| Propriétés | Description |
| --- | --- |
| Include sub-directories if path is directory | Cochez cette case pour lire non seulement le dossier spécifié dans le champ File name mais également les sous-dossiers contenus dans ce dossier. |
| 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> |
| tStatCatcher Statistics | Cochez cette case afin de collecter les données de log au niveau du composant. Notez que cette case n'est pas disponible dans la version Map/Reduce de ce composant. |

## Variables globales

| Variables | Description |
| --- | --- |
| Variables globales | 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** | Ce composant requiert un lien de sortie. |
| Dynamic settings | 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**

* [Utiliser les composants HDFS pour travailler avec Azure Data Lake Store (ADLS)](https://help.qlik.com/talend/fr-FR/components/8.0/hdfs/thdfsinput-thdfsoutput-tlogrow-tfixedflowinput-using-hdfs-components-to-work-with-azure-data-lake-storage-adls "Ce scénario décrit comment utiliser les composants HDFS pour lire des données de et écrire des données dans Azure Data Lake Storage.")