tHDFSExist - 6.3

Composants Talend Guide de référence

EnrichVersion
6.3
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 tHDFSExist vérifie l'existence d'un fichier dans un répertoire donné dans HDFS.

Objectif

Ce composant permet de vous assure de l'existence d'un fichier spécifique dans HDFS.

Propriétés du tHDFSExist

Famille du composant

Big Data/File

 

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 sélectionnez le composant de connexion adéquat à partir de la liste Component List pour réutiliser les paramètres d'une connexion que vous avez déjà définie.

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.

  • Si vous sélectionnez Amazon EMR, consultez l'article concernant Amazon EMR et la configuration des connexions, sur Talend Help Center (https://help.talend.com).

  • 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 Hadoop 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.

  • Si ce cluster est un cluster MapR de version 4.0.1 ou postérieure, vous pouvez paramétrer la configuration de l'authentification par ticket MapR en plus ou comme une alternative en suivant les explications dans Connexion sécurisée à MapR.

    Gardez à l'esprit que cette configuration génère un nouveau ticket de sécurité MapR pour le nom d'utilisateur défini dans le Job dans chaque exécution. Si vous devez réutiliser un ticket existant provenant du même utilisateur, laissez décochées les cases Force MapR ticket authentication et Use Kerberos authentication. MapR devrait pouvoir trouver automatiquement ce ticket à la volée.

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.

 

File name or relative path

Saisissez le nom du fichier dont vous souhaitez vérifier l'existence. Si nécessaire, parcourez votre système jusqu'au fichier ou saisissez le chemin d'accès relatif au répertoire défini dans le champ HDFS directory.

Advanced settings

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.

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

EXISTS : résultat spécifiant si un fichier existe ou non. Cette variable est une variable Flow et retourne un booléen.

FILENAME : nom du fichier traité. Cette variable est une variable After et retourne une chaîne de caractères.

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 tHDFSExist peut être utilisé en standalone.

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] dans le menu Window. 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 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 : Vérifier l'existence d'un fichier dans HDFS

Dans ce scénario, un Job à deux composants vérifie si un fichier spécifique existe dans HDFS et retourne un message pour indiquer le résultat de la vérification.

Dans un cas d'utilisation réelle, vous pouvez ensuite traiter le fichier en question selon le résultat de la vérification, à l'aide d'autres composants HDFS fournis avec le Studio Talend.

Lancez la distribution d'Hadoop dans laquelle se trouve le fichier dont vous souhaitez vérifier l'existence.

Relier les composants

  1. Dans la perspective Integration du Studio Talend, créez un Job vide, nommé hdfsexist_file, par exemple, à partir du 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 tHDFSExist et un tMsgBox dans l'espace de modélisation graphique.

  3. Connectez-les à l'aide d'un lien Trigger > Run if.

Configurer la connexion à HDFS

  1. Double-cliquez sur le composant tHDFSExist 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 nécessaires à la connexion à HDFS.

    Dans un cas d'utilisation réelle, vous pouvez utiliser un tHDFSConnection pour créer une connexion et la réutiliser. Pour plus d'informations, consultez tHDFSConnection.

  4. Dans le champ HDFS Directory, parcourez votre système, ou saisissez le chemin d'accès au dossier dans lequel se trouve le fichier dont vous souhaitez vérifier l'existence. Dans cet exemple, le dossier est le suivant : /user/ychen/data/hdfs/out/dest.

  5. Dans le champ File name or relative path, saisissez le nom du fichier dont vous souhaitez vérifier l'existence. Par exemple, output.csv.

Configurer le message à retourner

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

  2. Dans le champ Title, saisissez le titre à utiliser dans la fenêtre de message en cours de création.

  3. Dans la liste Buttons, sélectionnez OK pour choisir le bouton affiché dans la fenêtre de message.

  4. Dans la liste Icon, sélectionnez Icon information.

  5. Dans le champ Message, saisissez le message que vous souhaitez afficher une fois la vérification effectuée. Dans cet exemple, saisissez "This file does not exist!".

Configurer la condition

  1. Cliquez sur le lien If pour ouvrir sa vue Basic settings, dans laquelle vous pouvez configurer la condition pour vérifier l'existence du fichier.

  2. Dans le champ Condition, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables et sélectionnez la variable globale EXISTS. Saisissez un point d'exclamation avant la variable afin de mettre la variable à la forme négative.

Exécuter le Job

  • Appuyez sur F6 pour exécuter le Job.

Une fois exécuté, une fenêtre de message s'ouvre et indique que le fichier nommé output.csv n'existe pas dans le répertoire défini précédemment.

Dans la distribution de HDFS dans laquelle vous avez vérifié l'existence du fichier, parcourez votre système jusqu'au répertoire spécifié. Vous pouvez constater que le fichier n'existe pas.