Blog de Pierrick Le Gall

Aller au contenu | Aller au menu | Aller à la recherche

vendredi 21 décembre 2007

Talend Open Studio 2.3.0M2 is out

TOS logo Talend Open Studio 2.3.0M2 is out. Let me list you what's new concerning Perl generation, compared to the current main release 2.2.3. As you will see, Perl code generation is still in progress :-) 13 new components, 8 new features in existing components. In this blog post, I only list news about Perl code generation, there are of course more new features, they are fully listed on the official ChangeLog page in releases 2.3.0M1 and 2.3.0M2.

Lire la suite

jeudi 29 novembre 2007

MySQL bulk update with Talend Open Studio

3 years ago, I introduced in PhpWebGallery a very fast way to update several lines of the same table, at once. See PhpWebGallery Subversion revision 625 for details. I don't remember how this idea came to me, but I've implemented it as a component in Talend Open Studio. The purpose is to improve speed on mass updates.

The standard way to update several lines of a table, with different values for each line of course, is to perform a query for each line to update. In a web application it is a really bad thing not to know in advance the number of queries for each page. In any other situation, it's not good because it's very slow.

Lire la suite

mercredi 28 novembre 2007

MySQL extended insert mode in Talend Open Studio

In feature 2378, I've implemented MySQL specific extended insert mode. Extended insert means that instead of inserting lines one by one, you insert many lines in the same insert query. Don't get confuse with a transaction mecanism, it's not. The advantage is speed.

To illustrate the performance improvement we'll have in Talend Open Studio 2.3.0M2 using extended inserts, I've created a benchmark : we read lines from a delimited file and we insert them in a table. 3 simple fields per line (numeric id, firstname, lastname). 1 million of lines to insert.

Lire la suite

vendredi 23 novembre 2007

New whitelist generator with TOS 2.3.0M1

I've updated the first Talend Open Studio "use case" I wrote nearly one year ago with release 1.1.0RC1. This time I use new feature from Talend Open Studio 2.2.x : tUnite and tNormalize avoid the temporary file and the "include sub directories" option in tFileList makes the job smarter.

whitelist generator with TOS, version 2

lundi 12 novembre 2007

Talend Open Studio aux journées Perl 2007

Logo Journées Perl 2007

Les journées Perl 2007 auront lieu à Lyon. Sur le campus où j'ai fait mes études d'ingénieur. Si la SNCF le veut bien, j'y serai pour écouter les autre présentateurs mais aussi pour co-présenter une conférence avec Richard, également développeur Perl chez Talend.

Devant une assemblée de développeurs Perl plus ou moins expérimentés, nous allons tenter de démontrer que dans certains cas, utiliser un générateur de code est plus avantageux que de coder directement le script. Notre objectif n'est pas de dire que TOS doit se substituer à tout développement spécifique en Perl mais bien de convaincre de l'intérêt à concevoir en 15 minutes un script qui prendrait plusieurs jours à coder à la main.

Pour faire cette démonstration, nous allons mettre sur notre job de la lecture XML, de l'aggregation, de l'écriture en base ainsi que d'autres petites surprises.

J'ajoute qu'afin d'attirer les foules, nous allons mettre en jeu un Ipod Nano 8GB qui sera gagné par tirage au sort. Ca fait au moins une bonne raison de venir :-)

mardi 21 août 2007

Talend 2.2.0M1 and Perl code performances

Talend logo

Richard and I have both worked 2 weeks on a main improvement proposed by Richard.

.----------------------------------------------------.
| job        | TOS 2.1.1 | TOS 2.2.0M1 | improvement |
+------------+-----------+-------------+-------------+
| Scenario 2 |    20.8 s |      16.9 s |      18.8 % |
| Scenario 3 |    81.2 s |      30.4 s |      62.6 % |
'------------+-----------+-------------+-------------'

Lire la suite

lundi 8 janvier 2007

Talend Open Studio 1.1.0 is out

TOS 1.1.0

Talend Open Studio release 1.1.0 is out. Exactly 3 months after release 1.0.0. This release contains many new features and of course many new Perl components. The list of new features is described on Freshmeat.

To give an example, TOS is now able to perform such a job:

  1. retrieve email files form a remote POP3 server
  2. extract informations from email headers (such as the "From" information)
  3. count the number of emails coming from the same author, with the new aggregate functions
  4. sort the result
  5. load result in bulk mode in a MySQL database

TOS can also read XML files with standard XPath queries, or even read/write LDIF files. Duplicates can be removed from a data flow.

To write components such as tAggregateRow or tSortRow, the 1.0 code generation model needed some improvements. Indeed, when you sort a list of lines, you need to first read all lines before outputing the first sorted line. This behaviour was not possible in TOS 1.0. We've implemented a system of virtual component. A virtual component hides a set of sub-components working altogether. This new technical feature of the Perl code generation model gives many possibilities to component writers.

For example, tSortRow is a virtual component hiding a tArray (filling a Perl array) and a tSortIn (sorting array values and outputing result). tSortIn starts its execution once tArray has finished to fill the Perl array. The first and second screenshots represent the same job.

Of course, there are many other new features in TOS 1.1, in this blog ticket I wanted to give information about the Perl part of TOS.

mercredi 3 janvier 2007

Whitelist generator with Talend Open Studio

I've written my first use case with Talend Open Studio : my purpose is to generate an email addresses whitelist based on the emails already accepted in my inbox. Using Talend Open Studio has saved me maybe 2 or 3 hours compared to a from scratch Perl script development. The generated Perl script is nearly as fast as if I had written the script specificaly for this task.

TOS use case 1 screenshot