Utilisation de PDI et le plugin PALO

| Patrick B | Fleur-Anne.Blain |

Ce tutoriel traite de l'utilisation de Pentaho Data Integration avec Jedox Palo. Il s'adresse à des personnes de niveau débutant connaissant déjà Palo pour l'avoir utilisé sur Excel, il nécessite simplement d'avoir au préalable créé le cube dans Palo et de bien connaitre la source des données que l'on veut importer.

Commentez ♪

- Titre : Utilisation de PDI et le plugin PALO

- Auteurs : Patrick B, Fleur-Anne.Blain

- Parution : 21 juin 2009

- Licence : Copyright ® 2009 Patrick B. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- II. Prérequis

- Utilisation de PDI

- Piège à éviter

- Création des connexions

- Création de la transformation

- Conclusion

- III. Remerciements

I - Introduction

Si comme moi vous avez découvert la base de données olap PALO vous avez dû rapidement rencontrer un problème pour importer des données en nombre. La fonction d'import via Excel est simple, mais cela prend beaucoup de temps lorsqu'il s'agit d'importer des dizaines de milliers de lignes. C'est là qu'a commencé ma recherche pour trouver un outil qui me permettrait d'importer les données plus rapidement.

Mon choix s'est porté sur Kettle, dénommé maintenant « Pentaho Data Integration ».

II - Prérequis

Vous trouverez le logiciel (open source) ici : http://kettle.pentaho.org/
et le plugin à ajouter ici : http://sourceforge.net/projects/palokettleplug/
vous aurez également besoin de cela : http://www.jpalo.com/en/products/palo_java_api.html/ ou http://sourceforge.net/projects/jpalo/

Utilisation de PDI

Piège à éviter

Le piège dans lequel je suis tombé au début (apparemment je ne suis pas le seul) concerne la connexion avec Palo, en effet le bouton « tester » ne fonctionne pas, alors qu'en fait cela fonctionne, donc oubliez le test de connexion et indiquez directement tous vos paramètres.

Création des connexions

Chez moi cela donne ceci :

Host Name : il s'agit de l'adresse du serveur, ici la bdd est installée en local, il s'agit donc de « localhost ».

Database Name : il s'agit du nom de la base de données (ces informations se retrouvent dans le plugin Excel si vous n'êtes pas sûr de vous.

Port Number : chez moi c'est le 7778, mais cela pourrait être différent chez vous, la configuration se fait à l'installation du serveur, vous pouvez cependant retrouver cette information dans le plugin Excel (cf ci-dessus 127.0.0.1 :7778).

User Name : par défaut le compte est « admin », mais vous pouvez avoir créé différents utilisateurs donc à vous de voir selon votre configuration.

Password : par défaut le mot de passe pour le compte « admin » est « admin » (user = mdp).

Création de la transformation

Après avoir créé les connexions, la première avec la base de données dans laquelle vous récupérez les données, et la deuxième avec Palo (cf ci-dessus), vous allez créer une nouvelle transformation.

On commence par extraire les données de la base. C'est une étape importante, car il faut que les données aient une forme particulière si vous voulez les importer dans Palo.

À vous de voir comment vous voulez procéder, il faut que les données aient la structure suivante :

Ste

Groupe

Sexe

AffectationLib

CategorieLib

Annee

Mois

Mesures

Valeur

dimension n°1

dimension n°2

dimension n°3

dimension n°4

dimension n°5

dimension n°6

dimension n°7

Nom utilisé pour les mesures

valeur de la mesure pour les dimensions indiquées

En d'autres termes, vous récupérez d'abord l'ensemble des dimensions, puis vous ajoutez deux colonnes, la première indiquera le nom de la mesure et la deuxième, la valeur à indiquer pour la sélection des dimensions.
Par exemple :

Ste

Groupe

Sexe

AffectationLib

CategorieLib

Annee

Mois

Mesures

Valeur

Danone

Evian

F

Finance

cadre

2005

3

26-30ans

3

Danone

Evian

M

Marketing

agent de maîtrise

2006

1

50-55ans

6

Danone

Evian

M

Marketing

cadre

2008

6

AgeMoyen

42

Ici vous allez importer les données dans un cube donc il y a théoriquement plusieurs mesures possibles, de mon côté j'ai préparé des tables dans ma base de données qui vont présenter les données correctement pour Palo, cela limite les transformations nécessaires à la mise en forme et me fait gagner du temps à l'import.

Dans l'exemple ci-dessus, j'ai au début une vue qui indique toutes les possibilités de croisement des dimensions puis à côté les colonnes avec les différentes mesures, ici cela va être le nombre de personnes entre 20 et 25 ans, entre 26 et 30 ans, etc., l'âge moyen, etc. Je vais ensuite alimenter une table dans laquelle je vais limiter chaque ligne à une seule mesure, un exemple :

SELECT  Ste, Groupe ,Sexe ,AffectationLib ,CategorieLib ,Annee ,Mois, '26-30ans' AS Mesures
,[26-30ans] AS Valeur FROM MaTable WHERE [26-30ans] IS NOT NULL
UNION
SELECT  Ste, Groupe ,Sexe ,AffectationLib ,CategorieLib ,Annee ,Mois, '50-55ans' AS Mesures
,[50-55ans] AS Valeur FROM MaTable WHERE [50-55ans] IS NOT NULL
UNION
SELECT  Ste, Groupe ,Sexe ,AffectationLib ,CategorieLib ,Annee ,Mois, 'AgeMoyen' AS Mesures
,[AgeMoyen] AS Valeur FROM MaTable WHERE [AgeMoyen] IS NOT NULL

Je n'ai plus qu'à récupérer cette table dans Kettle.

Du côté de Palo :

D'abord vous sélectionnez la connexion créée précédemment, puis si vous voulez vider le cube vous cochez « clear Cube… », vous sélectionnez alors le cube (normalement si la connexion est OK cela doit fonctionner). Vous cliquez sur « Get Dimensions », vous obtenez la liste des Dimensions, la colonne « Field » est alors vide. En entrant dans cette colonne, vous allez avoir accès à une liste déroulante, celle-ci présente les différentes colonnes de l'extraction, vous n'avez plus qu'à joindre celle-ci. Bien entendu vous l'aurez compris, à la fin vous sélectionnez pour « mesures » la colonne comportant le nom des mesures puis pour « Cube Measure » la colonne comprenant les valeurs.

Voilà vous avez terminé, il n'y a plus qu'à enregistrer et lancer le tout. Si vous avez des erreurs, vous pourrez identifier la partie bloquante dans le log.

Conclusion

Jusqu'à maintenant je n'ai utilisé que ce type de transformation, mais il est également possible d'exporter les données du cube de Palo, et il est aussi possible d'importer ou d'exporter les valeurs des dimensions ainsi que les attributs.

J'espère avoir été assez clair, si vous avez des remarques pour améliorer ce tutoriel n'hésitez pas.

III - Remerciements

Je remercie Fleur-Anne BLAIN pour m'avoir aidé.