tHDFSInput - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Avertissement

Ce composant est disponible dans la Palette du Studio Talend si vous avez souscrit à l'une des solutions Big Data de Talend.

Fonction

Le composant tHDFSInput lit un fichier situé dans un système de fichiers distribués 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.

Objectif

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

Si vous avez souscrit à l'une des solutions Big Data de Talend, ce composant est disponible dans les types de Job suivants :

Propriétés du tHDFSInput

Famille du composant

Big Data/Hadoop

 

Basic settings

Property type

Peut être Built-in ou Repository.

- Built-in : Propriétés utilisées ponctuellement.

- Repository : Sélectionnez le fichier dans lequel sont stockées les propriétés du composant.

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champs (colonnes) qui sont traités et passés au composant suivant. Le schéma est soit local (Built-In), soit distant dans le Repository.

Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir le schéma.

  • Change to Built-In property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : 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. Si vous souhaitez propager les modifications uniquement au Job courant, sélectionnez No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

  

Built-In : Le schéma est créé et conservé ponctuellement pour ce composant seulement. Voir également le Guide utilisateur du Studio Talend.

  

Repository : Le schéma existe déjà et il est stocké dans le Repository. Ainsi, il peut être réutilisé. Voir également le Guide utilisateur du Studio Talend.

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.

Note

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.

Version

Distribution

Sélectionnez dans la liste le cluster que vous utilisez. Les options de la liste varient selon le composant que vous utilisez. Les options de la liste dépendent des composants que vous utilisez, Parmi ces options, les suivantes nécessitent une configuration spécifique.

  • Si disponible dans la liste de Distribution, l'option Microsoft HD Insight vous permet d'utiliser un cluster Microsoft HD Insight. Dans cette optique, vous devez configurez les connexions aux services WebHCat, HD Insight et Windows Azure Storage du cluster dans les zones affichées. Une vidéo démontrant comment configurer cette connexion est disponible à l'adresse suivante : https://www.youtube.com/watch?v=A3QTT6VsNoM.

  • L'option Custom vous permet de vous connecter à un cluster différente des clusters de la liste, par exemple une distribution non supportée officiellement par Talend.

Pour vous connecter à une distribution personnalisée, une fois l'option Custom sélectionnée, cliquez sur le bouton pour afficher une fenêtre, dans laquelle vous pouvez :

  1. Sélectionner Import from existing version pour importer une distribution de base officiellement supportée et ajouter manuellement les autres Jars requis non fournis par cette distribution. Ou,

  2. Sélectionner Import from zip pour importer le fichier .zip de configuration pour la distribution personnalisée à utiliser. Ce fichier zip doit contenir les bibliothèques des différents éléments Hadoops et le fichier d'index de ces bibliothèques.

    Dans Talend Exchange, des membres de la Communauté Talend ont partagé des fichiers zip de configuration prêts à utiliser, que vous pouvez télécharger depuis cette liste Hadoop configuration et utiliser directement dans votre connexion. Cependant, avec l'évolution en continu des différents projets relatifs à Hadoop, il est possible que vous ne trouviez pas dans la liste le zip de configuration correspondant à votre distribution. Il est alors recommandé d'utiliser l'option Import from existing version, afin de se baser sur une distribution existante pour ajouter les .jars requis par votre distribution.

    Notez que certaines versions personnalisées ne sont pas officiellement supportées par Talend. Talend et sa Communauté fournissent l'opportunité de vous connecter à des versions personnalisées depuis le Studio mais ne peuvent garantir que la configuration de la version choisie sera simple, car de nombreuses versions et distributions d'Hadoop différentes sont disponibles. Il est recommandé de configurer une telle connexion uniquement si vos connaissances relatives à Hadoop sont suffisantes pour réparer les problèmes par vous-même.

    Note

    Dans cette boîte de dialogue, la case de la zone active doit être cochée, afin d'importer les fichiers .jar correspondant à la connexion créée entre la distribution personnalisée et ce composant.

    Pour un exemple étape par étape expliquant comment se connecter à une distribution personnalisée et partager cette connexion, consultez Connexion à une distribution Hadoop personnalisée.

 

Hadoop version

Sélectionnez la version de la distribution Hadoop que vous utilisez. Les options disponibles dépendent du composant que vous utilisez. En plus de l'évolution de Hadoop, veuillez noter les changements suivants :

  • Si vous utilisez Hortonworks Data Platform V2.2, les fichiers de configuration de votre cluster peuvent utiliser des variables d'environnement comme ${hdp.version}. Si vous êtes dans cette situation, vous devez configurer la propriété mapreduce.application.framework.path dans la table Hadoop properties de ce composant, avec la valeur du chemin d'accès pointant explicitement vers l'archive du framework MapReduce de votre cluster. Par exemple :

    mapreduce.application.framework.path=/hdp/apps/2.2.0.0-2041/mapreduce/mapreduce.tar.gz#mr-framework
  • Si vous utilisez Hortonworks Data Platform V2.0.0, le type de système d'exploitation utilisé pour la distribution Hadoop et pour le Job Talend doit être identique, par exemple Windows ou Linux. Sinon, vous devez utiliser le Jobserver de Talend afin d'exécuter un Job dans le même type de système d'exploitation que celui dans lequel la distribution Hortonworks Data Platform V2.0.0 utilisée est exécutée. Pour plus d'informations concernant le Jobserver de Talend, consultez le Guide d'installation Talend.

Authenticaion

Use kerberos authentication

Si vous accédez au cluster Hadoop fonctionnant avec la sécurité de Kerberos, cochez cette case, puis saisissez le "principal name" de Kerberos pour le NameNode dans le champ affiché. Cela vous permet d'utiliser votre identifiant pour vous authentifier, en le comparant aux identifiants stockés dans Kerberos.

Cette case est disponible ou indisponible selon la distribution d'Hadoop à laquelle vous vous connectez.

  Use a keytab to authenticate

Cochez la case Use a keytab to authenticate pour vous connecter à un système Hadoop utilisant Kerberos à l'aide d'un fichier keytab. Un fichier keytab contient des paires de principaux Kerberos et de clés cryptées. Vous devez saisir le principal à utiliser dans le champ Principal et le chemin d'accès au fichier keytab dans le champ Keytab.

Notez que l'utilisateur qui exécute un Job utilisant un keytab n'est pas forcément celui désigné par le principal mais qu'il doit avoir le droit de lecture pour le fichier keytab utilisé. Par exemple, le nom d'utilisateur 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.

 

NameNode URI

Saisissez l'URI du NameNode Hadoop. Le NameNode est le nœud maître d'un système Hadoop. Par exemple, si vous avez sélectionné une machine nommée masternode comme NameNode d'une distribution Apache Hadoop, son emplacement est hdfs://masternode:portnumber.

 

User name

Le champ User name est disponible lorsque vous n'utilisez pas Kerberos pour vous authentifier. Dans ce champ, saisissez votre identifiant pour cette distribution. Si vous laissez le champ vide, le nom de la machine hébergeant le Studio sera utilisé.

 

Group

Identifiant de l'utilisateur 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.

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.

File type

Type

Sélectionnez le type de fichier à traiter. Le type de fichier peut être :

  • Text file.

  • Sequence file : 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 http://wiki.apache.org/hadoop/SequenceFile (en anglais).

    Une fois le format Sequence file sélectionné, les listes Key column et Value column apparaissent et vous permettent de sélectionner les clés et les valeurs de ce fichier de séquence à traiter.

Row separator

Saisissez le séparateur à utiliser pour identifier la fin des lignes.

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.

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.

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.

Sélectionnez l'encodage à partir de la liste ou sélectionnez Custom et définissez-le manuellement. Ce champ est obligatoire pour la gestion de données de bases de données.

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.

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 alimente le flux d'entrée.

Ce champ n'est pas disponible pour un fichier Sequence.

Advanced settings

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.

  • Notez que, si vous utilisez les métadonnées stockées centralement dans le Repository, 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 Property type, vous passiez de Repository à Built-in.

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 d'Apache Hadoop sur http://hadoop.apache.org/docs en sélectionnant la version de la documentation souhaitée. A titre d'exemple, les liens vers certaines propriétés sont listés ci-après:

 

tStatCatcher Statistics

Cochez cette case pour 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.

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

La table Dynamic settings n'est disponible que si 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 devient inaccessible dans la vue Basic settings.

Pour des exemples sur l'usage des paramètres dynamiques, consultez Scénario 3 : Lire des données dans des bases de données MySQL à l'aide de connexions dynamiques basées sur les variables de contexte et Scénario : Lire des données à partir de différentes bases de données MySQL à l'aide de paramètres de connexion chargés dynamiquement. Pour plus d'informations concernant les Dynamic settings et les variables de contexte, consultez le Guide utilisateur du Studio Talend.

Global Variables

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, si le composant a cette option.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

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. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

Ce composant requiert un lien de sortie.

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.

  • Assurez-vous d'avoir installé le client MapR sur la même machine que le Studio Talend 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 librairies du client MapR correspondant à chaque OS peuvent être trouvées MAPR_INSTALL\ hadoop\hadoop-VERSION\lib\native. Par exemple, pour Windows, la bibliothèque est lib\MapRClient.dll dans le fichier Jar du client MapR. Pour plus d'informations, consultez la page suivante sur le site de MapR : http://www.mapr.com/blog/basic-notes-on-configuring-eclipse-as-a-hadoop-development-environment-for-mapr (en anglais).

    Si vous n'ajoutez pas de librairie, il est possible que vous rencontriez l'erreur suivante : no MapRClient in java.library.path.

  • Configurez l'argument -Djava.library.path, par exemple, dans la zone Job Run VM arguments de la vue Run/Debug de la boîte de dialogue [Preferences]. Cet argument fournit au studio le chemin d'accès à la bibliothèque native du client MapR. Cela permet aux utilisateurs en souscription d'utiliser entièrement l'aperçu des données (Data viewer) afin de visualiser localement dans le studio les données stockées dans MapR. Pour plus d'informations concernant la configuration de cet argument, consultez la section expliquant comment visualiser les données dans le Guide de prise en main de Talend Big Data.

Pour plus d'informations concernant l'installation d'une distribution Hadoop, consultez le manuel correspondant à la distribution Hadoop que vous utilisez.

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Limitation

La version 1.6+ de JRE est requise pour exécuter le composant.

Le tHDFSInput dans des Jobs Map/Reduce Talend

Avertissement

Les informations contenues dans cette section concernent uniquement les utilisateurs ayant souscrit à l'une des solutions Big Data de Talend et ne sont pas applicables aux utilisateurs de Talend Open Studio for Big Data.

Dans un Job Map/Reduce Talend, le tHDFSInput, ainsi que le Job complet utilisant ce composant, génère du code Map/Reduce natif. Cette section présente les propriétés spécifiques du tHDFSInput lorsqu'il est utilisé dans un Job Map/Reduce. Pour plus d'informations concernant un Job Map/Reduce Talend, consultez le Guide de prise en main de Talend Big Data.

Famille du composant

MapReduce / Input

 

Basic settings

Property type

Peut être Built-in ou Repository.

- Built-in : Propriétés utilisées ponctuellement.

- Repository : Sélectionnez le fichier dans lequel sont stockées les propriétés du composant.

Les propriétés sont stockées centralement sous le nœud Hadoop Cluster de la vue Repository.

Pour plus d'informations concernant le nœud Hadoop Cluster, consultez le Guide de prise en main de Talend Big Data.

 

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champs (colonnes) qui sont traités et passés au composant suivant. Le schéma est soit local (Built-In), soit distant dans le Repository.

Cliquez sur Edit schema pour modifier le schéma. Si vous effectuez des modifications, le schéma devient automatiquement built-in.

  

Built-In : Le schéma est créé et conservé ponctuellement pour ce composant seulement. Voir également le Guide utilisateur du Studio Talend.

  

Repository : Le schéma existe déjà et il est stocké dans le Repository. Ainsi, il peut être réutilisé. Voir également le Guide utilisateur du Studio Talend.

 

Folder/File

Parcourez votre système ou saisissez le chemin d'accès aux données à utiliser dans le système de fichiers.

Si le chemin d'accès défini pointe vers un dossier, ce composant lit tous les fichiers stockés dans le dossier, par exemple /user/talend/in. Si des sous-dossiers existent, ils sont automatiquement ignorés à moins que le chemin défini soit /user/talend/in/*.

Si vous souhaitez spécifier plusieurs fichiers ou dossiers dans ce champ, séparez les chemins à l'aide d'une virgule (,).

Si le fichier à lire est un fichier compressé, saisissez son nom ainsi que son extension. Le tHDFSInput décompresse le fichier automatiquement à l'exécution. Les formats de compression, ainsi que les extensions correspondantes, sont :

  • DEFLATE : *.deflate

  • gzip : *.gz

  • bzip2 : *.bz2

  • LZO : *.lzo

Assurez-vous que la connexion à la distribution Hadoop utilisée est correctement configurée dans l'onglet Hadoop configuration de la vue Run.

 

Die on error

Cochez cette case pour arrêter l'exécution du Job lorsqu'une erreur survient.

Décochez la case pour ignorer les lignes en erreur et terminer le processus avec les lignes sans erreur. Lorsque les erreurs sont ignorées,vous pouvez récupérer les lignes en erreur, si vous le souhaitez. Pour cela, utilisez un lien Row > Reject.

File type

Type

Sélectionnez le type de fichier à traiter. Le type de fichier peut être :

  • Text file.

  • Sequence file : 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 http://wiki.apache.org/hadoop/SequenceFile (en anglais).

    Une fois le format Sequence file sélectionné, les listes Key column et Value column apparaissent et vous permettent de sélectionner les clés et les valeurs de ce fichier de séquence à traiter.

 

Row separator

Saisissez le séparateur à utiliser pour identifier la fin des lignes.

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.

Ce champ n'est pas disponible pour un fichier Sequence.

 

Header

Saisissez le nombre de lignes à ignorer au début du fichier.

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.

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.

Vous pouvez rencontrer des problèmes d'encodage lorsque vous traitez des données stockées dans HDFS. Dans ce cas, cochez cette case pour afficher la liste Encoding.

Sélectionnez l'encodage à partir de la liste ou sélectionnez Custom et définissez-le manuellement.

Ce champ n'est pas disponible pour un fichier Sequence.

Advanced settings

Advanced separator (for number)

Cochez cette case pour modifier le séparateur utilisé pour les nombres. Par défaut, le séparateur des milliers est une virgule (,) et le séparateur décimal est un point (.).

 

Trim all columns

Cochez cette case pour supprimer les espaces en début et en fin de champ dans les colonnes sélectionnées. Lorsque cette case est cochée, la table Check column to trim est affichée, ce qui vous permet de sélectionner les colonnes desquelles vous souhaitez enlever les espaces en début et en fin de champ.

 

Check column to trim

Cette table est automatiquement renseignée avec le schéma utilisé. Cochez la (les) case(s) correspondant à la (aux) colonne(s) dont vous souhaitez supprimer les espaces et début et en fin de champ.

 

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du composant.

Global Variables

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, si le composant a cette option.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

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. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation dans les Jobs Map/Reduce

Dans un Job Talend Map/Reduce, ce composant est utilisé comme composant de début et requiert un composant de transformation comme lien de sortie. Les autres composants utilisés avec lui doivent également être des composants Map/Reduce. Ils génèrent nativement du code Map/Reduce pouvant être directement exécuté dans Hadoop.

Une fois qu'un Job Map/Reduce est ouvert dans l'espace de modélisation graphique, le tHDFSInput et toute la famille MapReduce apparaissent dans la Palette du Studio Talend.

Notez que, dans cette documentation, sauf mention contraire, un scénario présente uniquement des Jobs Standard, c'est-à-dire des Jobs Talend traditionnels d'intégration de données et non des Jobs Map/Reduce.

Hadoop Connection

Vous devez utiliser l'onglet Hadoop Configuration de la vue Run afin de définir la connexion à une distribution Hadoop donnée pour le Job complet.

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.

Scénario associé

Si vous êtes un utilisateur ayant souscrit à une solution Big Data, vous pouvez consulter le Job Talend Map/Reduce utilisant la version Map/Reduce du tHDFSInput :