MARGO

Actualité

Sparkube : quand l’OLAP devient un jeu d’enfant

Découvrez notre compte-rendu sur le Tools-in-Action Projet Sparkube : transformer Apache Spark en cube OLAP

Par Yassine Bargach Software Engineer @Yagach

27/04/2018

Les Consultants Margo ont participé à Devoxx France 2018, la conférence pour les Développeurs Passionnés organisée du 18 au 20 avril 2018 à Paris. Découvrez ci-dessous notre compte-rendu sur le Tools-in-Action consacré au projet Sparkube : Transformer Apache Spark en cube OLAP, animé par Antoine Chambille le mercredi 18 avril.

 

Vous avez enfin votre notebook préféré, votre cluster Spark est bien configuré et performant, et votre HDFS contient tout ce qu’il faut en données. Et pourtant, savez-vous que vous pouvez booster la valeur ajoutée de vos données, grâce à la puissance de l’OLAP ? A la conférence Devoxx France 2018, Antoine Chambille, directeur R&D chez Activeviam, est venu nous présenter le projet Sparkube qui vient d’être lancé.

Commençons par un petit point sur l’OLAP.

Cube en 3 dimensions

Les systèmes OLAP (pour OnLine Analytical Processing) ont pour but de permettre aux utilisateurs de naviguer intuitivement dans la donnée. Cette technologie se base sur une structure particulière : l’Hypercube (ou cube multidimensionnel).

Le cube permet d’analyser la donnée sous différents axes d’analyse, appelés hiérarchies. Par exemple, la date de la transaction, la catégorie du produit, la zone géographique, le nom du vendeur… Il contient aussi des mesures, qui sont agrégées sur les différents axes. Des exemples de mesures peuvent être le nombre total (count), le montant, la marge…

Mais comment utiliser ce cube ?

Le MDX (pour Multidimensional Expressions) est de-facto le langage de requêtage des cubes OLAP. Proposé par Microsoft et adopté ensuite par un grand nombre de solutions OLAP, ce puissant langage est particulièrement adapté pour la structure du cube, même si la courbe d’apprentissage peut ne pas être aussi rapide que souhaitée.

Il existe cependant un protocole, le XMLA (XML for Analysis), qui permet la découverte (liste des axes, des mesures…) et l’exécution de requêtes MDX sur un cube OLAP. Couplé à une interface graphique adaptée, l’utilisateur n’aura plus à s’occuper des MDX, et pourra générer à travers l’interface tous types de requêtes. Cerise sur le gâteau : Excel implémente le protocole XMLA, et permet donc de se connecter, sans aucun plugin additionnel, à tous serveurs qui l’implémentent.

Et Sparkube dans tout ça ?

Sparkube est une librairie , développée par l’éditeur Activeviam, capable d’introspecter un Spark DataFrame, et de créer une structure de cube OLAP adéquate. Sparkube va exposer le cube sur une interface XMLA. Il va répondre aux requêtes Discovery des clients, et transformer toutes les requêtes MDX en requêtes Spark, puis finalement retourner le résultat à la fin de l’exécution.
En plus de fonctionner « tel-quel » avec Excel, Activeviam fournit aussi son propre client, Active UI.

Interactions avec Sparkube

Et en pratique ?

Rien de plus simple, après avoir récupéré un jeu de données de plus de 370 000 lignes pour le test, nous suivons les instructions sur la page de Sparkube. Nous commençons par créer le DataSet, puis nous demandons à Sparkube de créer et d’exposer le cube.

Sparkube répond alors que le cube est bien exposé sur http://localhost:9090/xmla.

Et voilà, nous pouvons commencer l’exploration.

Nous récupérons par exemple le prix moyen d’une voiture en fonction de la marque, du kilométrage, ou encore en fonction de l’historique accidentel de la voiture:

Sparkube - Tableau de données à trois axes et une mesure

Nous pouvons bien également insérer des graphiques :

Sparkube - Pourcentage par type de voiture

Sparkube - Comparaison de prix médian entre deux type, par année d'immatriculation

Les tests sont réalisés sur un jeu de données de plus de 370 000 lignes, de 20 colonnes. La construction du cube dure à peu près 3 minutes, et le temps de réponse des requêtes se situe entre 2 et 5 secondes.

Conclusion

Il est certain que Sparkube n’offre ni toute la flexibilité, ni les performances des solutions conçues spécialement pour l’OLAP. Ces solutions peuvent notamment pré-agréger et indexer tous les points du cube, elles profitent d’architectures matérielles particulières (NUMA par exemple) et se basent principalement sur une scalabilité horizontale pour limiter les échanges réseaux (et permettre des agrégations non linéaires très performantes). Cependant le projet reste très prometteur, et la possibilité de prouver des concepts aussi facilement avec de très bonnes performances sur des tailles raisonnables démontre l’intérêt d’OLAP pour les utilisateurs.

Pour le moment, la page de Sparkube ne contient pas suffisamment d’informations, mais il est intéressant de suivre l’évolution de ce projet !

Ressources :

 

Retrouvez la vidéo de la conférence animée par Antoine Chambille : Projet Sparkube Transformer Apache Spark en cube OLAP.


Par Yassine Bargach Software Engineer @Yagach
ActiveViam
Haute Performance IT
OLAP
Actualité

Les clés pour recruter dans l'IT

Emilia Kabak-Wołk, HR Manager chez Margo en Pologne témoigne des défis que représente le recrutement de profils rares tels que les Software Engineers, lors d'une interview menée par le magazine polonais Rekruter. 

18/05/2018 Découvrir 
Actualité

Le e-trading de A à Z

Le 24 avril dernier, Wissam Benhmida, Business Analyst chez Margo, a animé un Meetup sur le e-trading à #LaPiscine. En l'espace d'une heure, il a pris le temps de revenir sur la définition du trading, pour ensuite détailler le mode le fonctionnement, les enjeux et les risques du trading électronique.

17/05/2018 Découvrir 
Actualité

Introduction aux systèmes réactifs

Les systèmes réactifs sont un style d’architecture permettant à de multiples applications individuelles de se fondre en une seule unité, en réagissant à leur environnement, tout en restant conscientes les unes des autres. La première formalisation de ce terme a vu le jour avec la création du « Reactive Manifesto » en 2013 par Jonas Boner qui, en rassemblant certains des esprits les plus brillants dans l’industrie des systèmes distribués, souhaitait clarifier la confusion autour de la réactivité (qui est devenu un « buzz-word ») et construire une base solide pour un style de développement viable.

04/05/2018 Découvrir 
Actualité

Modern Android Development : les nouveaux apports du langage Java

Depuis la sortie en 2008 d’Android 1.0, l'écosystème Android a énormément changé, mais plus particulièrement dans les dernières années, avec les apports nouveaux du langage Java, les changements liés aux terminaux et l’apparition de nouveaux outils. Les recommandations et les bonne pratiques ont évolué en conséquence.

03/05/2018 Découvrir 
Actualité

Les Cookies, très utilisés, mais si peu compris

Lou Montulli, co-fondateur de Netscape et créateur du Text Web Browser Lynx, est un informaticien américain à l’origine de la balise Blink et aussi de la première Live Web Cam d’Internet. Il est aussi connu pour être l’inventeur des fameux Cookies HTTP.

26/04/2018 Découvrir 
Actualité

Retour sur la journée de la femme digitale #JFD18

En ce mardi 17 avril 2018, l’ensemble de l’équipe RH de Margo s’est rendue à la Journée de la Femme Digitale, pensée et créée par Delphine Remy-Boutang, l’occasion d’y rencontrer des femmes inspirantes et courageuses, innovantes et créatrices. Au programme, chefs d’entreprises, haute fonctionnaire, entre et intrapreneur(e)s, directrice de communication, directeur général, Secrétaire d’Etat...autant de profils aux parcours divers avec comme but commun, l’innovation pour tous et par tous.

25/04/2018 Découvrir