IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ Talend

FAQ TalendConsultez toutes les FAQ

Nombre d'auteurs : 12, nombre de questions : 52, dernière mise à jour : 15 juin 2021 

 
OuvrirSommaireExécution de job

Pour passer des paramètres à un script Talend, il faut d'abord déclarer une variable (context) dans votre job ou dans votre projet, par exemple "maVariable". Utilisez ensuite cette variable dans votre job aux endroits nécessaires (par exemple un nom de fichier en entrée). En appelant la variable comme ceci :

 
Sélectionnez
context.maVariable

Ensuite, après avoir exporté votre script, éditez le fichier *.bat ou *.sh (suivant le système d'exploitation sur lequel vous allez exécuter le script) et rajoutez à la suite de la ligne :

 
Sélectionnez
--context_param maVariable=maValeur

Version : Testé en version 3.0.3

Pour passer une valeur comportant un ou plusieurs espaces à un paramètre utiliser la syntaxe suivante :

 
Sélectionnez
--context_param maVariable="ma Valeur"

Attention cette syntaxe fonctionne uniquement sous Windows pour toutes les version de Talend et à partir de la version 5.1.1 sous Unix.

Si vous voulez passer une valeur avec un espace sous Unix avant la version 5.1.1, modifier le fichier xxx_run.sh généré par Talend et changer la fin de la ligne java...

 
Sélectionnez
$*

par

 
Sélectionnez
"$@"
Mis à jour le 7 janvier 2012  par mumuri

Pour cela il suffit d'aller dans l'onglet "Code" du job qui donne un aperçu du code qui sera généré lors de la compilation.

On peut ainsi voir précisément à quel endroit et qu'elle erreur sera levée.

Créé le 28 avril 2009  par Jean-Sébastien DARGES

Lors d'un traitement important de données dans un tMap avec un ou plusieurs lookup il convient de sélectionner l'option "Store on disk" du lookup à l'intérieur du tMap. Pour éviter les problèmes de mémoire (Java Heap Space). Pour cela cliquez sur le bouton qui ressemble à un disque dur gris dans l'entrée qui correspond aux lookup. Puis fermer le tMap en appuyant sur "OK".

Maintenant au lieu de faire le traitement en mémoire, Talend le fera sur le disque en créant des fichiers temporaires.

Dans l'onglet "Component" des propriétés du tMap, il ne reste plus qu'a indiquer où seront créés les fichiers temporaires qui seront utilisés pour le traitement des données au moment du lookup.

Créé le 28 avril 2009  par Jean-Sébastien DARGES

A savoir : ce problème provient d'un manque de mémoire allouée à la machine virtuelle Java lors de l'exécution du job.

3 solutions s'offrent à vous :

  1. Se référer au post précédent : Comment éviter les problèmes de mémoire lors d'un lookup dans un tMap ?
  2. Editer les paramètres d'exécution du job en local. Pour cela cliquez successivement sur Window > Preferences. Dans la fenêtre qui s'affiche, cliquez successivement, dans l'arborescence, sur Talend > Run/Debug. Ici, spécifiez une valeur de -Xmx supérieur. Par exemple -Xmx2048
  3. Editer le fichier nomDuJob.sh ou nomDuJob.bat (suivant si vous exécutez le job sur un environnement Unix ou Windows) après avoir exporté votre job en script et remplacez la valeur -Xmx1024 par -Xmx2048 par exemple.
Créé le 28 avril 2009  par Jean-Sébastien DARGES

Cliquez sur l'onglet "Run (job ...)". Cochez la case "Statistics".

Les statistiques vont alors s'afficher sous forme de nombre de données entrantes et sortantes pour chaque composant du job avec le temps mis pour faire les traitement.

C'est très utile pour débugger et voir combien de données sont traitées dans tel ou tel job et/ou composant.

Créé le 6 mai 2009  par Jean-Sébastien DARGES

Cliquez sur l'onglet "Run (job ...)". Cochez la case "Traces".

Les données qui transitent entre les composants vont alors s'afficher sous forme d'un tableau avec pour colonne "NomDeLaColonne|valeur".

Comme les statistiques, le mode trace permet un meilleur débugage.

Créé le 6 mai 2009  par Jean-Sébastien DARGES

Avec sa montre bien sûr...

Non c'est beaucoup moins contraignant que ça ! Vous pouvez attendre le retour dans la console Talend mais il n'est pas très précis et non personnalisable. C'est pour cela que vous pouvez utiliser les composants tChronometerStart et tChronometerStop de la façon suivante :

tChronometerStart (OnSubjobOk) -> tRunJob (OnSubJobOk) -> tChronometerStop.

OU autre cas de figure :

tChronometerStart (OnSubjobOk) -> tFileInput -> traitement...-> tFileOutput et mettre une sortie de type OnSubjobOk sur le tFileInput (soit le premier composant du job) vers un -> tChronometerStop.

Le composant tChronometerStop étant configuré de la manière suivante:
- Since the tChronometerStart (lié avec le tChronometerStart de début de job)
- "Display human readable duration" coché

Créé le 18 mai 2009  par Jean-Sébastien DARGES

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2012 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.