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.
- Comment passer des paramètres à un script ?
- Comment vérifier d'où provient une erreur lors de la compilation ?
- Comment éviter les problèmes de mémoire lors d'un lookup dans un tMap ?
- Problème récurrent de Java Heap Space ?
- Comment afficher les statistiques lors de l'exécution d'un job ?
- Comment afficher les données qui transitent entre mes composants ?
- Comment chronométrer le temps réel mis par un traitement ?
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
Code bash : | Sélectionner tout |
--context_param maVariable=maValeur
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"
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...
Code : | Sélectionner tout |
$*
Code : | Sélectionner tout |
"$@"
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.
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.
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.
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.
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.
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é
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 çaLes 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 © 2024 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.