Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/10/2011, 10h06   #1
Futur Membre du Club
 
Inscription : décembre 2010
Messages : 147
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 147
Points : 19
Points : 19
Par défaut améliorer temps execution jobs talend

Bonjour,

J'ai 2 jobs talend qui mettent à eux 2 très peu de temps sur des petits volumes de fichiers d'entrée (fichiers xls/csv) mais environ 15mn sur des gros volumes.

Les jobs utilisent principalement des t_map avec des lookup.

Y a-t-il des "techniques" qui permettraient de diminuer le temps de traitement?

Merci d'avance
cecile38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 12h34   #2
Membre du Club
 
Avatar de jnbarthas
 
Homme
Ingénieur développement logiciels
Inscription : août 2011
Messages : 49
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 49
Points : 64
Points : 64
Bonjour,

au niveau du tMap, il y a différentes options et paramètres à regarder ("store on disc", "reload for each row (avec critère de réduction du nombre de ligne pour les liens lookUp)", ...)

De façon plus générale, il faut identifier les traitements dits "lents"; affichez les statistiques d'exécution pour voir le nombre de lignes traités et le temps consommé (en mode design).

Si le traitement est complexe, vous pouvez utiliser les composants "chrono" ou traces spécifiques.
Montrez-nous la copie d'écran du job avec les 15 minutes de traitement.

Les axes d'optimisations sont nombreux (ETL/ELT/BULK, SQL, java, choix des structures de données, tMap/tXMLMap, ...).
jnbarthas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2011, 08h25   #3
Futur Membre du Club
 
Inscription : décembre 2010
Messages : 147
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 147
Points : 19
Points : 19
Ok. Je pense que ces informations devraient bien me servir.

Merci beaucoup
cecile38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2011, 19h21   #4
Rédacteur/Modérateur
 
Avatar de jsd03
 
Jean-Sébastien DARGES
Consultant décisionnel
Inscription : août 2008
Messages : 983
Détails du profil
Informations personnelles :
Nom : Jean-Sébastien DARGES
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Activité : Consultant décisionnel

Informations forums :
Inscription : août 2008
Messages : 983
Points : 1 845
Points : 1 845
Bonjour,

Un traitement de 15 minutes n'est pas forcement un traitement long surtout quand on traite beaucoup de volumétrie. Le tout est de savoir combien de ligne tu traites et le nombre de lignes ramenées par tes lookup.

Pour compléter ce qu'a répondu jnbarthas, il faudrait vérifier le type de données Java que utilise dans tes tMap. Le type BigDecimal souvent utilisé par Talend n'est pas forcement approprié pour tous les traitements de données et des fois il suffit d'un Integer ou d'un Double pour les transformations (si tu as besoins d'information à ce sujet n'hésite pas).
Laisser les options de chargement des lookups par défaut dans les tMap (à part effectivement l'option store on disk qui peut être utile) car reload for each row n'est pas du tout conseillé pour une forte volumétrie.

Petit tips : il est préférable de faire une jointure par tMap quitte à en avoir plusieurs que de tout faire dans un seul. Tu verra les performances s'accroitre.

Si tu fais des insertion/MAJ dans une base, n'utilise pas de tBddConnection et tBddRollback et Commit car on ne peut pas spécifier de commit interval et donc au final tout sera commiter à la fin de l'alimentation et ça c'est pas bon au niveau des tablespaces (mais bon là je parle pour une BDD Oracle )

Pour terminer, il ne faut pas forcement montrer du doigt Talend (et les ETL en général) et se poser d'autres questions du genre :
- qu'utilises-tu comme BDD ? Car suivant les SGBD, certaines requêtes sont plus performantes que d'autres.
- est-ce que j'ai mis des indexes aux bons endroits pour lire plus rapidement mes données
- à contrario : est-ce que mes indexes ne génèrent pas des goulots d’étranglement
- ai-je désactivé les FK avant insertion ?
- ...
__________________
Google est ton ami mais ton voisin aussi

Modérateur BI
Mes tutoriels - FAQ Talend - FAQ SQL*Plus

Suivez @Developpez sur twitter !
jsd03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h14.


 
 
 
 
Partenaires

Hébergement Web