FAQ TalendConsultez toutes les FAQ

Nombre d'auteurs : 10, nombre de questions : 52, dernière mise à jour : 17 décembre 2014  Ajouter une question

 

Cette F.A.Q. a été réalisée à partir des connaissances de membres de Developpez.com en vue de répondre à des questions fréquemment posées par les utilisateurs.Elle traite exclusivement des questions relatives à Talend Open Studio et Talend Enterprise for Data Integration.Nous espérons que cette F.A.Q. saura répondre à un maximum de vos questions. Nous vous souhaitons une bonne lecture.Remerciements tout particulier aux contributeurs : atb, cyberchouan, dingo200, jsd03, marcl1, mumuri, mselle, jojodu31,jpzuate, rgent et souska et aux relecteurs : fafabzh6, Fleur-Anne.Blain et zoom61.L'équipe Talend de Developpez.com.


SommaireExécution de job (7)
précédent sommaire
 

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 :

Code java : Sélectionner tout
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 :

Code bash : Sélectionner tout
--context_param maVariable=maValeur
Testé en version 3.0.3

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

Code java : Sélectionner tout
--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...

par

Code : Sélectionner tout
"$@"

Mis à jour le 6 octobre 2008 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.

Mis à jour le 28 avril 2009 jsd03

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.

Mis à jour le 28 avril 2009 jsd03

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 :

  • Se référer au post précédent : Comment éviter les problèmes de mémoire lors d'un lookup dans un tMap ?
  • 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
  • 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.

Mis à jour le 28 avril 2009 jsd03

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.

Mis à jour le 6 mai 2009 jsd03

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.

Mis à jour le 6 mai 2009 jsd03

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é

Mis à jour le 18 mai 2009 jsd03

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire
 

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 © 2018 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et 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.

 
Contacter le responsable de la rubrique Talend