Vous êtes sur la page 1sur 4

ESIL – Département Informatique, Réseaux et Multimédia 2009 - 2010

2ème année
mohamed.quafafou@univmed.fr

TP 1 : Entrepôts de données
Plateforme de développement et de déploiement

But de ce TP
Le but de ce travail est de mettre en place une architecture incluant un ensemble de
composants pour concevoir, déployer et exploiter un cube de données. Pour cela nous allons
considérer Mondrian qui représente une solution Open Source de Pentaho :
• Mondrian : serveur OLAP.
• Jpivot : intégré à Mondrian, il permet l'accès et la navigation dans le cube
• Cube Designer : création du cube

Résumé
Le projet Pentaho a pour objectif d'offrir les composants indispensables aux fonctionnalités de
« Business Intelligent » : génération de rapports, outils d’analyse, tableaux, etc. La suite
Pentaho est donc composée de plusieurs briques complémentaires offrant des fonctionnalités
différentes : Mondrian (OLAP Serveur), JfreeReport (Génération de rapports), Kettle
(Intégration de données - ETL) et Weka (Extraction de connaissance). Vous pouvez
télécharger séparément chacune des briques sur le site http://www.pentaho.com.

Nous allons nous intéresser plus particulièrement à Mondrian qui est un moteur OLAP écrit
en JAVA qui se présente sous la forme d’une application web (webapp du moteur Tomcat).
C'est un moteur OLAP d’interprétation des cubes qui permet la connexion à la base de
données via JDBC et la présentation des données sur un navigateur. Son architecture se
compose des quatre couches suivantes :

• Présentation : (GUI via un navigateur Web. Comment l’utilisateur voit les résultats
des requêtes et comment il peut interagir sur les données présentées (application de
filtres, visualisation avancée, export, etc.)
• Dimension : C’est la couche qui valide et effectue la requête MDX. La requête MDX
est construite dans un fichier de configuration mais peut aussi être écrite via la couche
présentation.
• Agrégation : C’est la couche qui maintient en cache les données agrégées et éviter
ainsi de multiples requêtes en base à chaque action de l’utilisateur.
• Stockage : Couche représentative de la base de données. Les données sont accédées
via le composant JDBC spécifique au type de base.

2. Installation et Configuration de Mondrian

Télécharger mondrian sur le site du TP (page perso). Installer le fichier war dans le répertoire
webapps de Tomcat puis redémarrer Tomcat.
Le composant Jpivot intégré à Mondrian permet l'accès et la navigation dans le cube. Pour
accéder à la GUI, il suffit de saisir http://localhost:8080/mondrian-embedded sur un
navigateur Web.

4. Cube Designer

CubeDesigner est l’outil de création de cubes utilisables par la suite avec le serveur OLAP
Mondrian. Pour plus de details, voir le guide utilisateur
Pentaho_Cube_Designer_User_Guide_0.7.0.pdf

4.1. Installation

Une fois téléchargé, il suffit de décompresser le fichier sur le disque dur et s’assurer de la
présence d’une JVM version 5 pour pouvoir utiliser le logiciel.

4.2. Cube de données Vente

• La création d’un cube demande un nom (impérativement sans espaces). Fournir


ensuite une description du cube à créer. Il est nécessaire de configurer la source
des données à utiliser pour créer le cube. En choisissant l’ajout d’une connexion,
une fenêtre pop-up s’ouvre pour permettre la configuration:
o Le premier champ est le nom avec laquelle la connexion sera identifiée
par la suite.
o Le driver choisi est le driver MySQL simple. Le « connect string » est
« jdbc:mysql://localhost:PORT/DATABASE_NAME », où PORT et
DATABASE_NAME devront être modifiés afin de permettre la
connexion à la base de données.
o Le port est celui fourni par défaut : 3306. L’utilisateur et le mot de
passe doivent être ceux qui régissent la base de données. TESTER la
connexion avant de passer à la suite !
• L’étape suivante consiste à créer la requête qui va alimenter le cube de données.
Pour cela, on utilise une interface graphique :
o Constater en bas à gauche la liste des tables de la base de données. En
double cliquant sur l’une d’elles, sa représentation graphique apparaît
dans l’espace de travail à droite.
o Cochez une des checkboxs, on remarque une mise à jour de la requête
générée automatiquement en haut à gauche. La création de jointure
peut se faire de façon graphique, en effectuant un glisser-déposer entre
2 colonnes (ou en faisant un clic droit sur la colonne de son choix).
• L'étape suivante vous permet de définir les mesures à considérer dans le cube en
utilisant la table de faits.
• On crée ensuite les dimensions. Afin de créer une nouvelle dimension, il convient
de sélectionner la table qui servira de base pour la dimension, puis de cliquer sur le
bouton « Add new dimension ».
• La dernière étape vous permet entre autre de voir le code XML qui constitue votre
cube. Copier ce code dans le fichier test.xml et placer ce dernier dans le répertoire
WEB-INF/queries de Mondrian.
• On définit maintenant test.jsp (à placer aussi dans WEB-INF/queries de Mondrian)
qui permet l'accès à votre cube via un navigateur. Il inclus les informations sur le
pilote JDBC à utiliser pour la connexion à la base, les paramètres de connexion à
la base de données, l’emplacement du fichier xml contenant la définition du
cube et a requête MDX :

<%@ page session="true" contentType="text/html; charset=ISO-8859-1" %>


<%@ taglib uri="http://www.tonbeller.com/jpivot" prefix="jp" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

<jp:mondrianQuery id="query01" jdbcDriver="com.mysql.jdbc.Driver"


jdbcUrl="jdbc:mysql://localhost/pentahocubedesigner?user=root&password="
catalogUri="/WEB-INF/queries/test.xml">
select {[Measures].[SUM of vente.quantite], [Measures].[SUM of vente.somme]} ON
columns,
{[produit]} ON rows
from [pentahocubedesigner]
</jp:mondrianQuery>

<c:set var="title01" scope="session">Arrows</c:set>

• Modifier la page principal de Mondrian (mondrian/index.html) en rajoutant un lien


à l'aide de la ligne suivante :
<li><a href="testpage.jsp?query=test">Test de Mondrian</a></li>
ANNEXE

Interface JPivot

Rajouter/enlever des champs (en colonne comme en ligne) et des filtres.

Manipuler l’interface graphique JPivot qui va envoyer des requêtes MDX à Mondrian.
MDX (MultiDimensional eXpressions) est un langage de requête pour les bases
dimensionnelle OLAP au même titre que SQL l’est pour les bases relationnelles.

Tri.

Sauvegarder la configuration dans le référentiel.

Changer de présentations (fusionner des lignes ou des colonnes)

Supprimer les lignes blanches.

Interchanger les colonnes et les lignes.

Les 10e, 11e, 12e et 13e pictos sont dédiés aux drills.
L’appui sur un + permet de faire du drill-down (zoomer sur les données pour découvrir de
nouvelles sous catégorie), l’appui sur un – permet de faire du drill-up (d’agréger les
informations sur une catégorie commune).
Le dernier picto permet de faire du drill-through pour afficher des flèches vertes sur les
données et ainsi d’avoir une répartition détaillée de la donnée suivant les différentes
dimensions.

Activer le mode graphique et de configurer les options du diagramme

Définir les options d’impression PDF et d’exporter en PDF ou en XLS (MS


Excel).