# tHDFSRowCount

Ce composant lit un fichier dans HDFS ligne par ligne afin de déterminer le nombre de lignes qu'il contient.

Le tHDFSRowCount compte le nombre de lignes d'un fichier donné dans HDFS. Si le fichier à traiter est un fichier Hadoop de type séquence ou un jeu de données volumineux, il est recommandé d'utiliser un composant tAggregateRow pour compter les enregistrements.

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

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

Le composant tHDFSRowCount 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 | Built-in : le schéma est créé et conservé localement pour ce composant seulement.<br><br>Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans des Jobs et projets. |
| *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. |
| Row Separator | Saisissez le séparateur utilisé pour identifier la fin d'une ligne. |
| Ignore empty rows | Cochez cette case pour ignorer les lignes vides. |
| Encoding | 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/). |
| 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. |

## Advanced settings

| Propriétés | Description |
| --- | --- |
| 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 pour collecter les métadonnées de traitement du Job au niveau du Job ainsi qu'au niveau de chaque composant. |

## Variables globales

| Variables | Description |
| --- | --- |
| Variables globales | COUNT : nombre de lignes dans un fichier. Cette variable est une variable Flow et retourne un entier.<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 tHDFSRowCount est un composant standalone. Il peut être utilisé avec un lien OnSubjobOk vers un tJava afin de retourner le nombre de lignes.<br><br>Le code valide pour que le tJava obtienne ce compte est, par exemple, le suivant :<br><br>```<br><br>System.out.print(((Integer)globalMap.get("tHDFSRowCount_1_COUNT")));<br><br>```<br><br>Dans cet exemple, *tHDFSRowCount\_1* est le nom d'un des composants d'un Job. Cela peut varier à travers les différents scénarios. COUNT est la variable globale du tHDFSRowCount et représente le flux de type Integer du compte de lignes. |
| 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. |