Blog ENI : Toute la veille numérique !
Jusqu'à ce soir ! : -25€ dès 75€ sur les livres en ligne, vidéos... code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Pentaho
  3. Agrégation de données via PAD
Extrait - Pentaho Mise en place d'une solution Open Source de Business Intelligence
Extraits du livre
Pentaho Mise en place d'une solution Open Source de Business Intelligence Revenir à la page d'achat du livre

Agrégation de données via PAD

Présentation de Pentaho Aggregator Designer

1. Principe général

Le traitement de volumes importants de données par l’intermédiaire du moteur OLAP Mondrian peut générer des temps de calcul et de restitution très longs. Il peut être intéressant d’optimiser le jeu de données en créant des tables supplémentaires dans la base de données pour cumuler certaines valeurs (par exemple ne plus conserver le détail des ventes HT mais réaliser une agrégation par sommation de ces données par mois).

Cette optimation peut être envisagée par l’analyste qui connaît bien les données et les raisons de ces lenteurs. Il faut alors passer par des scripts SQL pour créer de nouvelles tables et les peupler par les données agrégées.

Dans la suite Pentaho, le composant Pentaho Aggregator Designer peut faciliter ces tâches fastidieuses en :

  • suggérant les optimisations,

  • générant les scripts SQL nécessaires à ces optimisations,

  • modifiant le schéma multimensionnel.

2. Installation du package Pentaho Aggregator Designer

Le composant Pentaho Aggregator Designer (PAD) est téléchargeable à l’adresse http://sourceforge.net/projects/mondrian/files/aggregation%20designer/1.2.1-RC1/.

Pour une utilisation sous Windows de PAD, on peut retenir le format...

Optimisation d’un schéma Mondrian

1. Présentation du jeu de données

La base de données Foodmart, fournie par l’installation de Mondrian (chapitre "Présentation de Mondrian/JPivot"), va être utilisée.

Elle est disponible en deux formats dans le répertoire d’installation (C:\Pentaho_CE\Tomcat- 7.0.5\Webapps\Mondrian-3.2.1\demo par exemple) :

  • Microsoft Access

  • MySQL (sous forme d’un script SQL de création de tables et d’insertion des données de nom FoodMartCreateData.sql)

Faisons le choix d’utiliser la version MySQL, qui offre l’avantage de fonctionner indifféremment sous Windows et Linux. Il suffit pour cela :

  • de créer une nouvelle base de données de nom foodmart_1998 sous phpMyAdmin,

  • d’exécuter dans la fenêtre SQL de cette base de données le script SQL FoodMartCreateData.sql.

2. Présentation du schéma Mondrian à optimiser

PAD réalise son optimisation sur une base de données (foodmart_1998 dans notre cas) et un schéma Mondrian (en réalité un cube intégré à un schéma) préexistant.

Pour faciliter la compréhension, le schéma à partir duquel il va être demandé à PAD d’agir est simple :

<?xml version="1.0"?>

<Schema name="MySchema">

    <!-- DEFINITION DES DIMENSIONS -->
    <Dimension name="Sexes">
        <Hierarchy hasAll="true" allMemberName="Tous les sexes"
primaryKey="customer_id">
            <Table name ="customer"/>
            <Level name="Sexe" column="gender" uniqueMembers="true"/>
        </Hierarchy>
    </Dimension>

    <!-- DEFINITION DU CUBE OLAP -->
    <Cube name="Ventes">

        <!-- TABLE DES FAITS -->
        <Table name="sales_fact_1998"/>

        <!-- REFERENCEMENT DES DIMENSIONS DU SCHEMA DANS LE CUBE -->
        <DimensionUsage name="Sexes"...