|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : mars 2005 Messages : 277 ![]() |
Salut,
Quelles differences existe t il entre tous ces outils ETL ? Quel ETL utiliser pour quel besoin ? Quel ETL utilisez-vous et pourquoi ?
|
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() |
Bonjour, moi j'utilise Informatica pour alimenter des tables Oracle à partir de fichiers plats ou d'autres tables Oracle. L'intérêt d'un ETL (Pour Informatica) est d'avoir un outil graphique qui rend le travail beaucoup plus facile à comprendre (parce que les traitements sont souvent super complexes)... En gros c'est une sorte d'AGL pour faire de l'alimentation.
Pour résumer tout est graphique, tu drag and drop tes tables cibles, il y a des fonctions qui permettent de générer tes requêtes mais généralement c'est du cas par cas sinon se serait trop facile Sur Informatica tu as pas mal de fonctions de base comme les conversions, les manipulations de chaînes de caractères, les calculs et agrégations... Pour les calculs plus complexes tu peux aussi utiliser les procédures stockées sous Oracle. Qu'entends-tu par utiliser des tables temporaires? L'ETL que j'utilise fonctionne en mode ligne à ligne: il lit les infos à partir de la source, fait les transformations nécessaires et enregistre les données à la volée dans une cible, la source et la cible pouvant être un fichier ou une table (Oracle...). Tu peux créer une table intermédiaire (table ODS) pour stocker les résultats intermédiaires que tu pourras ensuite utiliser comme source pour réinjecter les données dans ta table finale (cible). J'ai développé une procédure stockée, qui, à partir d'une table RH Oracle permet de calculer le temps de présence journalier d'un salarié (données issues d'une badgeuse) à partir d'un matricule et d'une date passés en paramètre. Sous l’ETL il suffit d’insérer un composant "Procédure Stockée" qui va exécuter la procédure pour chaque couple matricule/date passé en paramètre. J’ai aussi utilisé une procédure permettant de vérifier les contraintes d’intégrités d’une table. Sous informatica, j'utilise une procédure stockée Oracle (développée sous Oracle). Quand tu veux utiliser une procédure stockée dans un flux d'alimentation il faut l'avoir préalablement importée. Avec Informatica tu cliques sur "importer une procédure stockée", tu saisies l'instance, le user et le mot de passe, tu choisis la procédure que tu veux utiliser, tu fais ok et ta procédure apparaît sur ton écran de travail (Et tu vois tous les ports d'entrée/sortie de ta procédure). Ensuite tu n'as plus qu'à la connecter au reste de ton flux. Dès que tu as besoins de passer des paramètres à tes workflows tu dois utiliser unix. L’utilisation des scripts shell dépend de la façon de travailler des entreprises. Dans mon cas il faut compter un script de lancement par worflow. Sinon je vais bientôt être formé sous un nouvel ETL (Genio), je pourrais donner mes impressions. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 2 ![]() |
Bonjour,
Je suis entrain de faire une étude comparative sur les ETLs open source présents sur le marché (c' est une premiere partie de mon PFE). parmi ceux que j'ai trouvé (Octopus, Babeldoc, CloverETL, Talend), en avez vous testez? Qu’en pensez vous? Quels sont selon vous, les points forts et faibles de chacun? Merci d’avance |
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2005 Messages : 74 ![]() |
Salut,
un retour d'expérience sur PDI/Kettle sur ce forum.Par ailleurs, je te conseille vivement de tester toi même toutes ces solutions si tu veux pouvoir en parler en toute connaissance de cause et ainsi disposer d'un peu plus que d'un simple verni. Par exemple, avec un VMWare (ou Xen ou VirtualPC ...), quelques machines virtuelles et un peu de temps, tu devrais pouvoir te monter rapidement un petit socle de test et acquérir une première impression assez fiable pour chaque solution. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 2 ![]() |
Bonjour,
Oui je suis tout à fait d'accord, il faut tester pour bien justifier ses choix,ses deduction. Je voulais savoir si ca vaut la peine de tester sur d'autre ETL ou non. En fait, j'ai testé et comparé : Talend, kettle, octopus, avec Ab Initio. Ab Initio : C'est le plus performant (Interface graphique ergonomique, performant : trop rapide, et payant : trop meme), Ab Inition genere un script shell qui s'execute au serveur. Talend : J'ai aprécié, car il presente une interface graphique, genere un script perl (et java : dans la version prochaine d'Avril), performance acceptable. Kettle : Son petit probleme c'est qu'il prend un peut plus de temp.Tests de rapidité : J'ai fait un tri sur un fichier plat de 127Mo Ab Initio : 13s Talend : 68s Kettle : 777.5s !!! un peu lent |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2005 Messages : 74 ![]() |
Ab Initio me tente aussi ces derniers temps.
Attention cependant sur Kettle pour les tris : il faut paramétrer au poil la transformation (nb de rows pour une passe de tri, usage de la ram / fichiers temporaires). A la vue du temps de tri que tu as constaté pour Kettle, je dirais que tu es passé par un nombre élevé de fichiers temp. Augmenter le nb de rows en mémoire booste énorément le traitement. Il y a aussi une option de compression des temp files, utile lorsque l'espace disk est compté, mais qui rajoute du temps de traitement. A titre d'illustration, je tris un petit million de rows en un peu moins de 3 minutes sur Solaris en allouant 1 Gb au moteur java de Kettle et en passant des "paquets" de 200 000 rows. |
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Inscription : juin 2006 Messages : 140 ![]() |
Ab Initio est surement de loin le plus performant et surtout il sait s'adapter en fonction des ressources disponibles.
Par contre les licences et formations sont vraiment hors de prix. Il n'est d'ailleurs utilisé pratiquement que par les grands comptes. |
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() |
>Ab Initio : 13s
>Talend : 68s >Kettle : 777.5s !!! un peu lent Pfff, tous le monde peut créer des testes pareilles. J'ai 3 choces a dire: 1) Text input: Ab Initio comme d'autres n'utilisent pas Unicode dans ce cas la. C'est pas facille a faire en Java, mais on travaille deçu. 2) Je ne crois pas que Talend supporte des trés grandes fichiers. La limite est la taille du mémoire interne de l'ordinateur. Comme VinZent l'a dit, on peut configurer Kettle de fair la même chose. (trier les données en mémoire) 3) Sans références (fichiers utilisé, transformations utilisé), sans versions (AI, Talend, Kettle) vos resultas sont imossible a vérifier... Cordiallement, Matt |
|
|
00
|
|
|
#9 | |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 7 ![]() |
Citation:
Je crois que Kettle est un bon produit par contre pour ce qui est des performances, pourquoi Pentaho n'offre pas sur leur site de résultats de Benchmark et de documentation sur l'architecture pour que l'on puisse voir ce dont il est capable? Bien que c'est une information très dépendante du contexte de chaque installation, pourquoi n'a-t-on pas de Minimal Requirements? Du moins avoir des exemples configurations dans lesquelles Kettle réponds bien. Le tout est histoire de pouvoir prévoir notre plateforme Hard pour l'installer. Merci Hugo Poissant Montréal, Canada |
|
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() |
|
|
|
00
|
|
|
#11 | ||
|
Membre émérite
![]() ![]() |
Citation:
Citation:
|
||
|
00
|
|
|
#12 |
|
Membre habitué
![]() |
Et voila, problème résolu ;-)
|
|
|
00
|
|
|
#13 | |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 7 ![]() |
Citation:
|
|
|
|
00
|
|
|
#14 | |
|
Nouveau Membre du Club
![]() Inscription : mai 2007 Messages : 29 ![]() |
Citation:
Le composant tExternalSortRow construit la ligne de commande pour le programme GNU sort. En dupliquant le composant, on peut lui faire utiliser un autre exécutable, voire même changer la façon de le paramétrer. Alternative : si SyncSort se paramètre de la même façon que GNU sort, le plus simple est de faire un lien symbolique sort -> syncsort Pour éviter toute "langue de bois" : non, on ne peut pas dire quel executable utiliser dans le tExternalSortRow, mais tout a été mis en oeuvre pour faciliter sa duplication et la personnalisation d'un composant défini par l'utilisateur. |
|
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 2 ![]() |
Bonjour,
J'ai fait un benchmark avec l'ETL TALEND open Studio 2.0. Ce bench met en jeu un fichier source de 1 million de lignes : - un lookup de 5000 lignes, - un filtrage des lignes, - une agregation suivant 2 champs afin de calculer 2 moyennes et une valeur minimum, - une transformation en scripting (extraire de valeurs entieres), - un tri suivant 3 clés (2 alphanumériques une numérique), - l’écriture d'un fichier positionnel, d'un fichier XML et d'un fichier délimité. Ce job est généré en Perl (via TOS 2.0) et tourne sur ma station Windows2000 (1GB, Core Duo, 3.2 GHz). L'interpréteur perl est un 5.8.8. Cela met environ 31 secondes pout traiter 1 million de lignes sur mon poste soit environ 32 000 lignes/seconde. Je recherche des tests similaires avec les outils Octopus/kettle/CloverETL. Je suis preneur si vous avez faits ce type de test. Merci. |
|
|
00
|
|
|
#16 | |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 8 ![]() |
Citation:
http://marcrussel.files.wordpress.co...-vs-kettle.pdf Il en ressort que le grand vanqueur coté performance est Talend Open Studio (meme par rapport à la prochaine version PDI 3.0 M1)! Bob |
|
|
|
00
|
|
|
#17 | |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 2 ![]() |
Citation:
Merci pour ce document fort interessant. |
|
|
|
00
|
|
|
#18 |
|
Membre du Club
![]() Inscription : février 2006 Messages : 101 ![]() |
Bonjour,
Pour ma part je suis en ETL génio, je suis dispo si vous avez des questions Cdlt |
|
|
00
|
|
|
#19 |
|
Membre habitué
![]() |
Tous les versions de Kettle sont testés: 2.2.2 --> 3.0.0RC2
...et aussi Talend 2.0.3 et 2.2.0, En plus : http://www.ibridge.be/?p=82 A+, Matt |
|
|
00
|
|
|
#20 | |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 8 ![]() |
Citation:
Meme mieux, vu 5 posts plus haut, il est précisé que lorsqu'on a des fichiers volumineux il n'est pas pertinent de faire des tris en mémoire donc il serait bien que tu rajoutes un test avec le composant tExternalSort dont plegall parle afin d'avoir un bench représentatif de ce qui est réalisé dans la vraie vie? Peux-tu faire cela? |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com