tPigCode - 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 tPigCode

Famille du composant

Big Data/Hadoop

 

Fonction

Le composant tPigCode vous permet de saisir du code Pig personnalisé afin de l'intégrer dans un programme Talend. Vous pouvez exécuter ce code une seule fois.

Objectif

Le tPigCode étend les fonctionnalités d'un Job Talend via des scripts Pig.

Basic settings

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.

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

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.

 

Scripts

Saisissez les scripts Pig que vous souhaitez exécuter selon la tâche que vous souhaitez effectuer. Pour plus d'informations concernant la syntaxe des fonctions Pig, consultez la documentation Apache relative aux UDF de Pig (fonctions personnalisées) :

http://pig.apache.org (en anglais).

Les composants Pig écrivent en sortie des tuples et configurent automatiquement un alias pour chaque tuple. Lorsque vous utilisez un tuple dans votre script Pig, vous devez saisir le bon alias.

La syntaxe de l'alias est Component_ID_rowID_Result, par exemple, tPigCode_1_row2_Result.

Advanced settings

tStatCatcher Statistics

Cochez cette case pour collecter les données de log, aussi bien au niveau du Job qu'au niveau de chaque composant.

 

Enable escape

Cochez cette case pour pouvoir écrire du code Pig brut dans le champ Scripts sans devoir garder à l'esprit les caractères d'échappement, habituellement requis pour générer du code Java.

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 est généralement utilisé comme étape intermédiaire. Il nécessite donc un composant d'entrée et un composant de sortie.

Un composant tPigCode peut seulement exécuter une instruction Pig Latin. Si vous devez en exécuter plusieurs, utilisez le nombre correspondant de composants tPigCode et exécutez-les l'un après l'autre.

Si un fichier .jar particulier est requis pour exécuter une instruction, vous devez enregistrer ce fichier de bibliothèque via le composant tPigLoad démarrant le processus Pig en question.

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 connaissance des scripts Pig est nécessaire.

Scénario : Sélectionner une colonne de données d'un fichier d'entrée et la stocker dans un fichier local

Ce scénario décrit un Job à trois composants sélectionnant une colonne de données correspondant à une condition de filtre définie dans le tPigCode et stocke le résultat dans un fichier local.

Construire le Job

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : tPigCode, tPigLoad et tPigStoreResult.

  2. Cliquez-droit sur le tPigLoad afin de le relier au composant tPigCode à l'aide d'un lien Row > Pig Combine.

  3. Cliquez-droit sur le tPigCode pour le connecter au tPigStoreResult à l'aide d'un lien Row > Pig Combine.

Charger les données

  1. Double-cliquez sur le composant tPigLoad afin d'ouvrir sa vue Basic settings.

  2. Cliquez sur le bouton [...] à côté du champ Edit schema pour ajouter des colonnes au tPigLoad.

  3. Cliquez sur le bouton [+] afin d'ajouter les colonnes Name, Country et Age puis cliquez sur OK afin de sauvegarder la configuration.

  4. Sélectionnez Local dans la zone Mode.

  5. Dans le champ Input file URI, renseignez le chemin d'accès complet au fichier d'entrée.

    Dans ce scénario, le fichier d'entrée est CustomerList et contient des lignes de noms, des noms de pays et des âges.

  6. Sélectionnez PigStorage dans la liste Load function.

  7. Laissez les autres paramètres tels qu'ils sont.

Configurer le composant tPigCode

  1. Double-cliquez sur le composant tPigCode afin d'ouvrir sa vue Basic settings.

  2. Cliquez sur Sync columns pour récupérer la structure du schéma du composant précédent.

  3. Dans le champ Script Code saisissez l'expression suivante :

    tPigCode_1_row2_RESULT = foreach tPigLoad_1_row1_RESULT generate $0 as name;

    Cette expression de filtre sélectionne la colonne Name dans CustomerList.

Sauvegarder les données de résultat dans un fichier local

  1. Double-cliquez sur le composant tPigStoreResult afin d'ouvrir sa vue Basic settings.

  2. Cliquez sur Sync columns afin de récupérer la structure du schéma du composant précédent.

  3. Dans le champ Result file, saisissez le chemin d'accès au fichier de résultats, ou parcourez votre système jusqu'à ce fichier.

    Dans ce scénario, le résultat est sauvegardé dans le fichier Result.

  4. Cochez la case Remove result directory if exists.

  5. Sélectionnez PigStorage dans la liste Store function.

  6. Laissez les autres paramètres tels qu'ils sont.

Exécuter le Job

Sauvegardez votre Job et appuyez sur F6 pour l'exécuter.

Le fichier Result est généré et il contient la colonne de données sélectionnée.