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

Propriétés du tHDFSList

Famille du composant

Big Data/File

 

Fonction

Le composant tHDFSList effectue une boucle sur des fichiers, des dossiers ou un ensemble de répertoires.

Objectif

Le tHDFSList récupère une liste de fichiers ou dossiers à partir d'un masque de fichier et effectue une boucle sur chaque unité.

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 champs suivants sont alors pré-remplis à l'aide des données collectées.

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de 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.

 Authentication

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.

HDFS Directory

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

 

FileList Type

Sélectionnez dans la liste le type d'entrée sur lequel itérer :

Files si l'entrée est un ensemble de fichiers,

Directories si l'entrée est un ensemble de répertoires,

Both si l'entrée est un mélange des deux types ci-dessus.

 

Include subdirectories

Cochez cette case si la source d'entrée comprend des sous-répertoires.

 

Case Sensitive

Sélectionnez dans la liste le mode de casse, afin de créer des filtres sur les noms de fichiers, sensibles à la casse ou non.

 

Use Glob Expressions as Filemask

Cette case est cochée par défaut. Elle permet de filtrer les résultats à l'aide d'une Expression Globale (Glob Expressions).

 

Files

Cliquez sur le bouton [+] pour ajouter autant de lignes de filtre que nécessaire :

Filemask : Dans les lignes de filtre ajoutées, saisissez un nom ou un masque de fichier à l'aide de caractères spéciaux ou d'expressions régulières.

 

Order by

Les dossiers sont listés en premier, les fichiers ensuite. Vous pouvez choisir de personnaliser l'ordre des dossier et des fichiers :

By default : par ordre alphabétique, par dossier puis fichier,

By file name : par ordre alphabétique ou ordre alphabétique inversé,

By file size : du plus petit au plus grand ou du plus grand au plus petit,

By modified date : du plus récent au plus ancien ou du plus ancien au plus récent.

Note

Si vous sélectionnez by file name et que des fichiers ont le même nom, l'option modified date prime. Si vous sélectionnez by file size, si vous possédez des fichiers de taille identique, l'option file name prime. Si vous sélectionnez modified date et que des fichiers ont été modifiés à la même date, l'option file name prime.

  Order action

Sélectionnez l'ordre de tri en cliquant sur l'un des boutons radio :

ASC : ordre ascendant.

DESC : ordre descendant.

Advanced settings

Use Exclude Filemask

Cochez cette case pour activer le champ Exclude Filemask et exclure les conditions de filtre selon le type de fichier :

Exclude Filemask : Saisissez dans le champ les types de fichiers à exclure, du tableau Filemasks dans la vue Basic settings.

Note

Les types de fichier doivent être entre guillemets doubles et séparés par une virgule.

 

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 Job ainsi qu'au niveau de chaque 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.

Connections

Liens de sortie (de ce composant à un autre) :

Row : Iterate

Trigger: OnSubjobOk ; OnSubjobError ; Run if ; OnComponentOk ; OnComponentError.

Liens d'entrée (d'un autre composant à celui-ci) :

Row : Iterate.

Trigger : Run if ; OnSubjobOk ; OnSubjobError ; OnComponentOk ; OnComponentError ; Synchronize ; Parallelize.

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

Global Variables

CURRENT_FILE : nom du fichier courant. Cette variable est une variable Flow et retourne une chaîne de caractères.

CURRENT_FILEDIRECTORY : répertoire du fichier courant. Cette variable est une variable Flow et retourne une chaîne de caractères.

CURRENT_FILEEXTENSION : extension du fichier courant. Cette variable est une variable Flow et retourne une chaîne de caractères.

CURRENT_FILEPATH : nom du fichier courant ainsi que son chemin d'accès. Cette variable est une variable Flow et retourne une chaîne de caractères.

NB_FILE : nombre de fichiers itérés. Cette variable est une variable Flow et retourne un entier.

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

Le composant tHDFSList fournit une liste de fichiers ou dossiers à partir du répertoire HDFS sur lequel il effectue une boucle.

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.

Scénario : Effectuer une boucle sur un répertoire HDFS

Ce scénario présente un Job à deux composants itérant un répertoire spécifié dans HDFS afin de sélectionner les fichiers et les déplacer vers un répertoire local.

Préparer les données à utiliser

  • Créez les fichiers à itérer dans votre HDFS. Dans ce scénario, deux fichiers sont créés dans le répertoire : /user/ychen/data/hdfs/out.

    Vous pouvez créez un Job dans le Studio Talend pour créer deux fichiers. Pour plus d'informations, consultez tHDFSPut ou tHDFSOutput.

Relier les composants

  1. Dans la perspective Integration du Studio Talend, créez un Job vide nommé HDFSList, par exemple, dans le nœud Job Designs de la vue Repository.

    Pour plus d'informations concernant la création d'un Job, consultez le Guide utilisateur du Studio Talend.

  2. Déposez un composant tHDFSList et un tHDFSGet dans l'espace de modélisation graphique.

  3. Connectez-les à l'aide d'un lien Row > Iterate.

Configurer l'itération

  1. Double-cliquez sur le composant tHDFSList pour ouvrir sa vue Component.

  2. Dans la zone Version, sélectionnez la distribution d'Hadoop à laquelle vous êtes connecté ainsi que sa version.

  3. Dans la zone Connection, saisissez les valeurs des paramètres requis pour vous connecter à HDFS.

    Dans un cas d'utilisation réelle, vous pouvez utiliser le composant tHDFSConnection afin de créer une connexion et la réutiliser à partir du composant en question. Pour plus d'informations, consultez tHDFSConnection.

  4. Dans le champ HDFS Directory, saisissez le chemin d'accès au dossier dans lequel se trouvent les fichiers à itérer. Dans cet exemple, le répertoire est /user/ychen/data/hdfs/out/.

  5. Dans le champ FileList Type, sélectionnez File.

  6. Dans la table Files, cliquez sur le bouton pour ajouter une ligne et saisissez * entre guillemets afin d'effectuer une boucle sur les fichiers existants.

Sélectionner les fichiers

  1. Double-cliquez sur le tHDFSGet pour ouvrir sa vue Component.

  2. Dans la zone Version, sélectionnez la distribution d'Hadoop à laquelle vous vous connectez, ainsi que sa version.

  3. Dans la zone Connection, saisissez les valeurs des paramètres requis pour vous connecter à HDFS.

    Dans un cas d'utilisation réelle, vous pouvez utiliser le composant tHDFSConnection afin de créer une connexion et la réutiliser à partir du composant en question. Pour plus d'informations, consultez tHDFSConnection.

  4. Dans le champ HDFS directory, saisissez le chemin d'accès au dossier dans lequel se trouvent les fichiers.

    Vous pouvez passer votre curseur sur ce champ puis appuyer sur les touches Ctrl+Espace pour afficher la liste d'auto-complétion et sélectionner la variable tHDFSList_1_CURRENT_FILEDIRECTORY afin de réutiliser le répertoire défini dans le composant tHDFSList. Dans cette variable, tHDFSList_1 est le libellé du composant. Si vous le nommez différemment, sélectionnez la bonne variable.

    Une fois la variable sélectionnée, le répertoire devient, par exemple ((String)globalMap.get("tHDFSList_1_CURRENT_FILEDIRECTORY")) dans ce champ.

    Pour plus d'informations concernant le nommage des composants, consultez le Guide utilisateur du Studio Talend.

  5. Dans le champ Local directory, saisissez le chemin d'accès ou parcourez votre système jusqu'au dossier dans lequel vous souhaitez placer les fichiers sélectionnés. Ce dossier sera créé s'il n'existe pas. Dans cet exemple, le dossier est C:/hdfsFiles.

  6. Dans le champ Overwrite file, sélectionnez always.

  7. Dans la table Files, cliquez sur le bouton pour ajouter une ligne et saisissez * entre guillemets dans la colonne Filemask, afin de récupérer tous les fichiers existants.

Exécuter le Job

  • Appuyez sur la touche F6 pour exécuter ce Job.

Une fois le Job terminé, vous pouvez vérifier que les fichiers ont été créés dans le répertoire local.