OSBI.FR - Open Source Business Intelligence

Les boucles dans Kettle 5

Voici le premier post d’une série d’articles à venir en 2014 concernant Pentaho 5 (ce sera d’ailleurs le 26ème et dernier post de l’année)

Comment ne pas commencer cette série par Kettle ? 🙂

Le « Job Executor »

Il y a plus de 3 ans, j’expliquais ici même comment implémenter des traitements itératifs dans Kettle, et il n’est pas exagéré de dire que jusqu’à Kettle 4.x, la tâche était plutôt… ardue !!

Désormais, grâce à la nouvelle étape « Exécution de tâche » (Job Executor) disponible dans une transformation, c’est devenu un véritable jeu d’enfant…

Voici donc comment adapter l’exemple fourni à l’époque pour Kettle 4 (je ne reprends pas toutes les explications, référez-vous donc à l’article original)

Etape 1 :

Créer un job qui appelle la transformation « Chargement Fichier »  :

La transformation « Chargement fichier » s’occupe de l’intégration d’un seul fichier CSV  (celle-ci est identique à l’article d’origine) :

Etape 2 :

Créer une transformation qui s’occupe de récupérer la liste des fichiers CSV à traiter (« Extraction fichier Excel »).

Placer ensuite l’étape « Exécution de tâche » et faire pointer celle-ci sur le job créé précédemment.

Dans l’onglet « Paramètres », associer aux champs Région et Année du flux respectivement les variables VAR_REGION et VAR_ANNEE :

Etape 3 :

C’est TOUT !

Vous n’avez plus qu’à exécuter la transformation.

Un fichier « temp_file.txt » sera alors créé dans votre répertoire de travail et contiendra l’ensemble du contenu des fichiers traités par la boucle.

Pour tester :

  • Dézipper celui-ci dans le répertoire de votre choix
  • Ouvrir et exécuter dans Spoon la transformation « transfo_principale.ktr »

Les (autres) nouveautés de Kettle 5

Il y a beaucoup d’autres nouvelles fonctionnalités dans Kettle 5, je vous renvoie donc à l’article de Matt à ce sujet.

Je suis sûr que tout comme moi vous apprécierez particulièrement le nouvel onglet « Prévisualiser » ajouté dans le panneau des résultats d’exécution : d’une très grande utilité pendant la phase de développement !

Bon réveillon, et à l’année prochaine !

4 Comments

  1. Cette version semble prometteuse, et les boucles s’en trouvent simplifiées un vrai plaisir.

    See you !

    Jérôme

  2. Bonjour,

    Un grand merci pour cet excellent tuto qui m’a vraiment aidé.
    J’aurai cependant une question : Comment faire l’exercice inverse ?

    Ma source de données provient d’une base Access et je souhaiterais créer des fichiers Excel.
    Dans un fichier Excel se trouvent l’ensemble des paramètres sur lesquels devra boucler la transformation (CheminStockageFichier ; NomFichier ; ValeurFiltre).
    Je bloque sur le parametre valeurFiltre que je n’arrive pas à faire dans le  » Filtrage lignes  » . Celui-ci n’acceptant comme condition qu’une valeur de champ ou un champ.
    J’ai aussi essayer d’utiliser la calculette afin de créer un champ qui prendrait comme valeur la valeur du parametre valeurFiltre mais sans succès.

    Auriez-vous une idée sur la manière d’aborder ce point ?

  3. Bonjour
    en effet, on ne peut pas utiliser un paramètre dans l’étape filtre
    La solution : utiliser une étape « récupération variable » juste avant le filtre pour créer un champ à partir de la variable… puis utiliser celui-ci dans le filtre
    Suffisait d’y penser 😉

  4. Bonjour,

    Effectivement,il fallait y penser même que PDI mettait à disposition le champ avec la valeur de la variable dans la sélection de champ de l’étape Filtrage Ligne.
    Je n’ai donc pas eu besoin de créer un nouveau champ.

    Encore merci.

Les commentaires sont fermés.