|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : décembre 2010 Messages : 147 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Ingénieur développement logiciels Inscription : août 2011 Messages : 49 ![]() |
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, ...). |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : décembre 2010 Messages : 147 ![]() |
Ok. Je pense que ces informations devraient bien me servir.
Merci beaucoup |
|
|
00
|
|
|
#4 |
![]() ![]() Jean-Sébastien DARGESConsultant décisionnel Inscription : août 2008 Messages : 983 ![]() |
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 !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com