<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dans la tête de Doc Malkovich &#187; etl</title>
	<atom:link href="https://blog.developpez.com/jmalkovich/pcategory/etl/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/jmalkovich</link>
	<description>Réflexions et humeurs sur la Business Intelligence</description>
	<lastBuildDate>Tue, 26 Aug 2014 11:54:41 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Talend et Googlemaps</title>
		<link>https://blog.developpez.com/jmalkovich/p9358/opensource/talend_et_googlemaps</link>
		<comments>https://blog.developpez.com/jmalkovich/p9358/opensource/talend_et_googlemaps#comments</comments>
		<pubDate>Thu, 07 Oct 2010 12:45:10 +0000</pubDate>
		<dc:creator><![CDATA[doc malkovich]]></dc:creator>
				<category><![CDATA[humeurs]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[talend]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Ce qui est bien avec Talend, c&#8217;est le côté opensource qui pousse les utilisateurs à développer des composants innovants et les partager avec all the World. Par exemple le composant tGoogleMapLookup qui valide des adresses via Google Map &#8230; Sympa, &#8230; <a href="https://blog.developpez.com/jmalkovich/p9358/opensource/talend_et_googlemaps">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Ce qui est bien avec Talend, c&rsquo;est le côté opensource qui pousse les utilisateurs à développer des composants innovants et les partager avec all the World.</p>
<p>Par exemple le composant tGoogleMapLookup qui valide des adresses via Google Map &#8230; Sympa, il fallait y penser. </p>
<p>Il y a aussi le composant Talend qui va créer des événements dans un agenda Google. </p>
<p>Ca change des ETL fermés où chacun va développer / bricoler de son côté.</p>
<p>Disponible chez <a href="http://www.perget.com/communauty">Perget</a> ou <a href="http://talendforge.org/exchange/tos/extension_view.php?eid=330">Talend</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sélectionner l&#8217;enregistrement max en une seule fois &#8211; la clause magique keep</title>
		<link>https://blog.developpez.com/jmalkovich/p9315/oracle/selectionner_l_enregistrement_max_en_une</link>
		<comments>https://blog.developpez.com/jmalkovich/p9315/oracle/selectionner_l_enregistrement_max_en_une#comments</comments>
		<pubDate>Thu, 23 Sep 2010 11:48:46 +0000</pubDate>
		<dc:creator><![CDATA[doc malkovich]]></dc:creator>
				<category><![CDATA[business objects]]></category>
		<category><![CDATA[odi / sunopsis]]></category>
		<category><![CDATA[optimisations]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Une problématique récurrente dans les traitements décisionnels est de récupérer le dernier enregistrement d&#8217;une série, par exemple les dernières opérations des clients en ayant en source une table contenant toutes les opérations. Avoir uniquement la dernière date d&#8217;opération est simple, &#8230; <a href="https://blog.developpez.com/jmalkovich/p9315/oracle/selectionner_l_enregistrement_max_en_une">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Une problématique récurrente dans les traitements décisionnels est de récupérer le dernier enregistrement d&rsquo;une série, par exemple les dernières opérations des clients en ayant en source une table contenant toutes les opérations.<br />
<span id="more-36"></span><br />
Avoir uniquement la dernière date d&rsquo;opération est simple, rapide et à portée de tous:</p>
<blockquote>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">/* exemple ** <br />
with operations <br />
as ( &nbsp;<br />
select 1 idclient, sysdate dat, 4 val from dual union all <br />
select 1 idclient, sysdate+1 dat, 8 val from dual union all <br />
select 1 idclient, sysdate+2 dat, 7 val from dual union all <br />
select 2 idclient, sysdate dat, 2 val from dual ) */ <br />
select idclient, max(dat) from operations group by idclient</div></div>
</blockquote>
<p>Par contre si on veut récupérer d&rsquo;autres informations de cet enregistrement, il faut passer par une sous-requête :</p>
<blockquote>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">select idclient, &nbsp;dat, &nbsp;val <br />
from operations a <br />
where a.dat=(select max(b.dat) from operations b where b.idclient=a.idclient )</div></div>
</blockquote>
<p>Le problème est ( entre autres ) qu&rsquo;on passe 2 fois sur la table operations, ce qui dégrade les performances. </p>
<p>Oracle propose depuis la 9i les fonctions analytiques, ce qui est bien pratique pour gérer ce type de problème.<br />
On utilisera par exemple la fonction row_number(), mais on aura toujours une sous-requête :</p>
<blockquote>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">select idclient, dat, val from ( <br />
&nbsp; select idclient, dat, val, <br />
&nbsp; &nbsp; row_number() over(partition by idclient order by dat desc) num <br />
&nbsp; from operations <br />
) <br />
where num=1</div></div>
</blockquote>
<p>Cette solution n&rsquo;est pas forcément simple à implémenter du fait de la sous-requête. Un ETL comme Sunopsis/ODI ne gère pas les sous-requêtes, il faut passer par des vues et du coup on perdra le lien dans l&rsquo;analyse d&rsquo;impact de l&rsquo;outil.<br />
Solution miracle, on a une requête en one-shot avec la clause keep :</p>
<blockquote>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">select idclient, <br />
&nbsp; max(dat), <br />
&nbsp; max(val) keep (dense_rank last &nbsp;order by dat) val <br />
from operations <br />
group by idclient</div></div>
</blockquote>
<p>Cerise sur le gâteau, on peut aussi utiliser ce type de clause dans un univers Business Objects, cela évite de passer par une table dérivée ou du sql en dur.</p>
<p>Que du bonheur.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Retour d&#8217;expérience sur &#8230; Sunopsis / ODI</title>
		<link>https://blog.developpez.com/jmalkovich/p8899/oracle/retour_d_experience_sur_sunopsis_odi</link>
		<comments>https://blog.developpez.com/jmalkovich/p8899/oracle/retour_d_experience_sur_sunopsis_odi#comments</comments>
		<pubDate>Tue, 04 May 2010 12:13:30 +0000</pubDate>
		<dc:creator><![CDATA[doc malkovich]]></dc:creator>
				<category><![CDATA[etl]]></category>
		<category><![CDATA[odi / sunopsis]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Sunopsis est un ETL fondé par un français, Alain Dumas en 1998. Contrairement aux ETL qui possèdent leurs propres moteurs de transformation, Sunopsis est un génarateur de code qui repose sur une architecture d&#8217;intégration distribuée. Au lieu de transformer les &#8230; <a href="https://blog.developpez.com/jmalkovich/p8899/oracle/retour_d_experience_sur_sunopsis_odi">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Sunopsis est un ETL fondé par un français, Alain Dumas en 1998. Contrairement aux ETL qui possèdent leurs propres moteurs de transformation, Sunopsis est un génarateur de code qui repose sur une architecture d&rsquo;intégration distribuée. Au lieu de transformer les données sur un serveur spécifique, il lance les traitements directements sur les bases de données, en exploitant au mieux les spécificités de chacune. Cette architecture est aussi définie comme ELT ( Extract/Load &amp; Transform ).<br />
Sunopsis a été racheté en 2006 par Oracle et depuis a été renommé en ODI ( Oracle Data Integrator ).</p>
<p><strong>Les + :</strong></p>
<ul>
<li>les performances ( mode ELT )</li>
<li>les KM ( modules de connaissance ) qui définissent les process &laquo;&nbsp;standard&nbsp;&raquo; ETL comme la détection des doublons, des valeurs inconnues de tables de référence ( écartés dans une table d&rsquo;erreur ),<br />
 l&rsquo;alimentation des tables ( en Insert pur, Insert en delta, en SCD &#8230; )</li>
<li>pas besoin de connaitre un nouveau langage, le SQL du SGBD suffit généralement !</li>
<li>debugage facile</li>
<li>reprise d&rsquo;un plantage à partir d&rsquo;un certain point ( où ça s&rsquo;est planté, ou depuis le début, ou 3 sql avant  &#8230; )</li>
<li>optimisation orientée SGBD donc facile ( un expert ETL n&rsquo;est pas nécessaire, un DBA suffit )</li>
<li>l&rsquo;analyse d&rsquo;impact très fine</li>
<li>l&rsquo;éditeur de requête sql qui permet de construire des requêtes assez complexes</li>
<li>les contextes qui facilitent le déploiement d&rsquo;un environnement à un autre</li>
<li>la séparation modèle physique / modèle logique</li>
</ul>
<p><strong>Les &#8211; :</strong>
<ul>
<li>traitements unitaires basiques ( plusieurs tables constituent une requête qui alimente une seule table ) : il faut généralement utiliser des tables temporaires, le flux de la donnée n&rsquo;est pas visible en un seul job.</li>
<li>nécessité de connaitre les SGBD &#8230; et des fonctions complexes dans certains cas<br />
  comme pour les comparaisons relatives entre lignes,<br />
  par ex pour comparer un statut par rapport au statut précédent<br />
  &#8211;> fonctions analytiques oracle</li>
<li>la perte des dépendances pour l&rsquo;analyse d&rsquo;impact sur certains traitements</li>
<li>la prise en main &#8211; il faut bien décomposer ses traitements</li>
</ul>
<p>L&rsquo;éditeur de requête SQL permet d&rsquo;élaborer des requêtes complexes tout en gardant les références aux objets. Ainsi il n&rsquo;y a pas besoin de coder les clauses &laquo;&nbsp;where&nbsp;&raquo;, &laquo;&nbsp;group by&nbsp;&raquo; ou &laquo;&nbsp;having&nbsp;&raquo; comme dans les autres ETL, et l&rsquo;analyse d&rsquo;impact se fait à la colonne &#8230;</p>
<p><strong>Quelques astuces :</strong></p>
<ul>
<li>simuler un MINUS &#8211; je vais faire un tuto dessus bientôt &#8230;</li>
</ul>
<p><strong>En conclusion :</strong><br />
Pour moi Sunopsis/ODI fait partie des meilleurs ETL du marché, il se démarque de ses concurrents principalement par ses performances et par l&rsquo;intégration des process habituels d&rsquo;alimentation dans l&rsquo;outil. </p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Retour d&#8217;expérience sur &#8230; Datastage</title>
		<link>https://blog.developpez.com/jmalkovich/p8862/etl/retour_d_experience_sur_datastage</link>
		<comments>https://blog.developpez.com/jmalkovich/p8862/etl/retour_d_experience_sur_datastage#comments</comments>
		<pubDate>Fri, 23 Apr 2010 12:38:03 +0000</pubDate>
		<dc:creator><![CDATA[doc malkovich]]></dc:creator>
				<category><![CDATA[datastage]]></category>
		<category><![CDATA[etl]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Datastage fait partie de la suite WebSphere d’IBM ( maintenant Infosphere ), il fait partie des principaux ETL adoptés chez les grands comptes. Il possède son propre moteur de traitement ( Engine-based ), ainsi que son propre référentiel. La version &#8230; <a href="https://blog.developpez.com/jmalkovich/p8862/etl/retour_d_experience_sur_datastage">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Datastage fait partie de la suite WebSphere d’IBM ( maintenant Infosphere ), il fait partie des principaux ETL adoptés chez les grands comptes. Il possède son propre moteur de traitement ( Engine-based ), ainsi que son propre référentiel.</p>
<p>La version max que je connais est la 7.5.2</p>
<p>Un exemple de job :<br />
<img src="http://blog.developpez.com/media/job4_0.gif" width="394" height="242" alt="Alimentation d'une table Oracle à partir d'une autre table Oracle en effectuant une jointure avec un fichier texte en référence" /><br />
<em>( Alimentation d&rsquo;une table Oracle à partir d&rsquo;une autre table Oracle en effectuant une jointure avec un fichier texte en référence )</em></p>
<p><strong>Les + :</strong></p>
<ul>
<li>graphiquement attractif &#8211; de jolis dessins en 3d</li>
<li>on voit le cheminement/flux de la donnée ( sources/cibles, les différents traitements : tri, agrégation )</li>
<li>pas besoin de connaitre le SGBD ( fonctions sql, procédures )</li>
<li>les fichiers hash pour dédoublonner en ne gardant que le dernier enregistrement</li>
<li>les variables dans les transformer pour comparer avec les valeurs de la ligne précédente</li>
</ul>
<p><strong>Les &#8211; :</strong></p>
<ul>
<li>boîte noire &#8211; on ne sait pas trop comment il fonctionne</li>
<li>un nouveau langage à apprendre même s&rsquo;il est estampillé basic &#8230;</li>
<li>les performances sont vite dégradées sur de grosses volumétries, car il fonctionne en mode curseur ( ligne par ligne )</li>
<li>analyse d&rsquo;impact peu poussée</li>
<li>limites du basic</li>
</ul>
<p>Le plus gros point faible pour moi concerne les performances. En effet on est vite amenés à tout coder en sql notamment pour les tris, les agrégations et les jointures. On se retrouve alors avec des jobs assez simples ( 3 stages : une source avec un sql complexe, un mapping et une cible )<br />
Pour l&rsquo;analyse d&rsquo;impact, le lien avec les métadonnées est perdu lors du développement. Par exemple, on importe la structure d&rsquo;une table T dans le référentiel, on crée un job et en source on prend la table T dont on importe la structure depuis le référentiel. Mais il n&rsquo;y a pas de lien entre le job et la métadonnée dans le référentiel, si on change la structure de T dans les métadonnées il n&rsquo;y a pas d&rsquo;alerte sur le job qu&rsquo;on a créé !!!<br />
L&rsquo;analyse d&rsquo;impact se fait alors principalement par mot clé, ce qui pose problème avec des mots clés bateau qu&rsquo;on retrouve partout !!!<br />
Pour le basic, d&rsquo;accord on est indépendant du SGBD mais on a un nouveau langage avec toutes ses subtilités.<br />
Par exemple, pour extraire une chaine :<br />
<code class="codecolorer text default"><span class="text">toto[4] &nbsp;= les 4 derniers caractère du champ toto</span></code></p>
<p>pour avoir la date système au format DD/MM/YYYY HH24:MI:SS d&rsquo;Oracle :<br />
<code class="codecolorer text default"><span class="text">OCONV(Date(),&quot;D-YMD[4,2,2]&quot;):&quot; &quot;:Oconv(time(), &quot;MTS&quot;)</span></code></p>
<p>D&rsquo;autre part, certaines fonctions/opérateurs très pratiques ne sont pas écrites comme le NVL, BETWEEN, IN &#8230;<br />
C&rsquo;est dommage, car certains aspects du BASIC Datastage sont séduisants, comme l&rsquo;utilisation indifférente des &nbsp;&raquo; ou des &lsquo; pour définir une chaîne de caractères<br />
( on peut écrire <code class="codecolorer text default"><span class="text">&quot;toto&quot;, 'toto', &quot;aujourd'hui&quot;</span></code> ou <code class="codecolorer text default"><span class="text">'des &quot;guillemets&quot;'</span></code> )</p>
<p><strong>Pbs courants :</strong></p>
<ul>
<li>obligation de trier les colonnes dans un stage Aggregate &#8230; sinon plantage &#8230;</li>
<li>pbs de mémoire lorsqu&rsquo;on utilise le stage de tri &#8230;<br />
  &#8211;> on trie et on somme en sql <img src="https://blog.developpez.com/jmalkovich/wp-includes/images/smilies/icon_sad.gif" alt=":-(" class="wp-smiley" /></li>
<li>le fichier hash dédoublonne sans prévenir &#8230;<br />
  &#8211;> alertes non remontées<br />
Par exemple, on récupère les noms à partir d&rsquo;un login, mais on a une évolution en source qui fait qu&rsquo;on peut avoir différents noms pour 1 login<br />
En utilisant le fichier hash, on récupère un des noms &#8230; mais pas forcément le bon &#8230; et ce n&rsquo;est pas remonté &#8230;<br />
En récupérant le nom via une requête, on aurait des doublons en entrée &#8211;> plantage<br />
  Il faut donc toujours mettre une contrainte d&rsquo;unicité en base sur les clés des fichiers hash pour éviter ce pb.</li>
<li>pas de remontée/warning des lignes non mises à jour<br />
  ex : un job traite une volumétrie de 100 000 lignes, mais aucune ligne n&rsquo;est mise à jour<br />
  &#8211;> il n&rsquo;y a aucune remontée, le job semble avoir maj les 100 000 lignes</li>
<li>pb ETL : il faut être vigilant qu&rsquo;on fonctionne en mode curseur<br />
  &#8211;> si on a un traitement qui met à jour les dossiers, et en entrée 10 fois le même dossier, on aura 10 mises à jour de la même ligne, sans remontée d&rsquo;alerte !!!</li>
</ul>
<p><strong>Pbs énervants :</strong></p>
<ul>
<li>renommage colonne en amont &#8211;> il faut tout changer en aval <img src="https://blog.developpez.com/jmalkovich/wp-includes/images/smilies/icon_sad.gif" alt=":-(" class="wp-smiley" /></li>
<li>les messages d&rsquo;erreur laconiques ( pb des phantom &#8230; ), où on passe des heures à débuguer ligne par ligne pour trouver ce qui ne va vraiment pas !<br />
&#8211;> notamment sur les routines, quand on a du null en argument &#8230;</li>
</ul>
<p><strong>Quelques conseils :</strong></p>
<ul>
<li>résister à l&rsquo;envie d&rsquo;écrire un seul &laquo;&nbsp;gros&nbsp;&raquo; job qui fait tout ( même si c&rsquo;est possible ). Il vaut mieux écrire des jobs &laquo;&nbsp;basiques&nbsp;&raquo;, avec le minimum de stages &#8211; c&rsquo;est plus simple à maintenir et à tester</li>
<li>éviter les stages tri et agrégat, ils amènenent souvent leurs lots d&rsquo;erreurs incompréhensibles</li>
<li>les stages folder et rowsplitter donnent envie quand on a plusieurs fichiers à traiter, mais ils ne sont vraiement pas pratiques à débuguer &#8211; pensez à votre prochain, rester aux stages simples de fichier &#8230;</li>
</ul>
<p><strong>En conclusion :</strong><br />
Au début on trouve l&rsquo;application géniale, c&rsquo;est quand même plus sympa que les tristounets scripts sql lancés en batch&#8230; Et on déchante assez vite devant les performances et les problèmes rencontrés &#8230; Du coup on simplifie les jobs au maximum et on met tous les traitements dans les sql &#8230; en se demandant si on n&rsquo;écrirait pas à la place des scripts sql qui seraient plus performants !!!</p>
<p>Pour moi Datastage fait partie des &laquo;&nbsp;anciennes&nbsp;&raquo; générations d&rsquo;ETL qui n&rsquo;ont pas vraiment su se renouveler.<br />
La montée en version n&rsquo;a pas apporté grand chose, à part un lifting graphique réussi.<br />
La version 8 ne me semble pas plus innovatrice, IBM répondant au problème de performance avec du parralélisme &#8230; De plus l&rsquo;offre devient plus floue, avec 2 versions de Datastage ( PX et Server ) dont celle correspondant à l&rsquo;ancienne qui n&rsquo;évolue plus !!!</p>
<p>Je lui préfère SunopsiS/ODI ou Talend pour les raisons que j&rsquo;expliquerais plus tard dans un autre article ..</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Enquête Gartner : Les utilisateurs jugent les éditeurs de BI et leurs plates-formes</title>
		<link>https://blog.developpez.com/jmalkovich/p8757/oracle/enquete_gartner_les_utilisateurs_jugent_</link>
		<comments>https://blog.developpez.com/jmalkovich/p8757/oracle/enquete_gartner_les_utilisateurs_jugent_#comments</comments>
		<pubDate>Thu, 25 Mar 2010 10:31:10 +0000</pubDate>
		<dc:creator><![CDATA[doc malkovich]]></dc:creator>
				<category><![CDATA[business objects]]></category>
		<category><![CDATA[datastage]]></category>
		<category><![CDATA[etl]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[talend]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Un article intéressant sur le site du grand bi : L&#8217;enquête Gartner incendie pour une fois les grands éditeurs comme SAP/BO, Oracle ou IBM sur les problèmes remontés par les utilisateurs &#8230; Certes, on pourra critiquer ces résultats en supposant &#8230; <a href="https://blog.developpez.com/jmalkovich/p8757/oracle/enquete_gartner_les_utilisateurs_jugent_">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Un article intéressant sur le site du grand bi :<br />
<a href="http://www.legrandbi.com/2010/03/enquete-gartner-les-utilisateurs-jugent-les-editeurs-de-bi-et-leurs-plates-formes/#more-3225"></p>
<p>L&rsquo;enquête Gartner incendie pour une fois les grands éditeurs comme SAP/BO, Oracle ou IBM sur les problèmes remontés par les utilisateurs &#8230;<br />
Certes, on pourra critiquer ces résultats en supposant que le nombre de problèmes est aussi fonction du nombre d&rsquo;utilisateurs &#8211; et comme peu de monde dans l&rsquo;entreprise utilisent les produits gagnants de l&rsquo;enquête &#8211; qui utilise Tableau Software ?<br />
Mais c&rsquo;est une avancée &#8230;<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conversion Datastage &#8211; Talend</title>
		<link>https://blog.developpez.com/jmalkovich/p8754/etl/conversion_datastage_talend</link>
		<comments>https://blog.developpez.com/jmalkovich/p8754/etl/conversion_datastage_talend#comments</comments>
		<pubDate>Wed, 24 Mar 2010 13:33:14 +0000</pubDate>
		<dc:creator><![CDATA[doc malkovich]]></dc:creator>
				<category><![CDATA[datastage]]></category>
		<category><![CDATA[etl]]></category>
		<category><![CDATA[talend]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[J&#8217;ai récemment étudié l&#8217;outil de conversion Datastage &#8211; Talend qu&#8217;on trouve sur Les jobs simples ( 1 source, 1 cible et 1 transformer entre 2 ) sont bien convertis, mais les jobs plus complexes nécessitent certaines modifications &#8230; Je n&#8217;ai &#8230; <a href="https://blog.developpez.com/jmalkovich/p8754/etl/conversion_datastage_talend">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>J&rsquo;ai récemment étudié l&rsquo;outil de conversion Datastage &#8211; Talend qu&rsquo;on trouve sur <a href="http://sourceforge.net/projects/etlconverter/files/"></p>
<p>Les jobs simples ( 1 source, 1 cible et 1 transformer entre 2 ) sont bien convertis, mais les jobs plus complexes nécessitent certaines modifications &#8230;<br />
Je n&rsquo;ai ni le temps, ni la place pour exposer tout ça ici, mais je planche là-dessus pour donner plus de détails + tard !<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
