Concurrence

Big data: Spark fait mieux que Mapreduce

par Jean Elyan, Serge Leblal / LeMondeInformatique.fr

Si l'année 2014 a bien été l'année de la révolution pour Hadoop MapReduce en matière d'analyse des données big data, 2015 pourrait bien être celle de son éviction par Spark dont les capacités d'analyse sont plus riches et plus conjoncturelles.

(Quelle: Unsplash/Public Domain)
(Quelle: Unsplash/Public Domain)

«L'industrie affiche un fort consensus pour aller vers Spark», a déclaré l'analyste Curt Monash, par ailleurs directeur du cabinet Monash Research. «L'an prochain, un grand nombre d'usages Hadoop dépasseront Hadoop», a ajouté pour sa part Ali Ghodsi, CEO et co-fondateur de Databricks. L'entreprise, fondée par plusieurs créateurs de Spark, propose un service Spark hébergé ainsi que du support technique pour les distributeurs de logiciels qui vendent des packs Spark. Platfora que nous avons rencontré la semaine dernière propose également un service d'analyse des big data reposant sur Spark.

Spark est un moteur in-memory qui permet d'analyser des données stockées sur un cluster d'ordinateurs. Comme Hadoop, Spark peut être utilisé pour analyser des ensembles de données trop volumineux pour séjourner dans un entrepôt de données traditionnel ou une base de données relationnelle classique. En outre, comme Hadoop, Spark peut travailler sur des données non structurées, les journaux d'événements par exemple, sans que celles-ci aient été préparées à l'avance dans des tables de base de données.

Analyse des données en temps réel

Cependant, Spark, dépasse les capacités de Hadoop dans le sens où il peut analyser des flux de données en temps réel et il est plus rapide que le framework MapReduce de Hadoop. Cette année, lors du Daytona Gray Sort Challenge, qui compare la vitesse des systèmes d'analyse de données, Spark a largement devancé MapReduce. Le nouveau système a réussi à trier 100 téraoctets de données en 23 minutes, contre 72 minutes pour MapReduce, soit trois fois plus longtemps. Initialement, le traitement en temps réel ne semblait pas un facteur différenciateur, mais il a servi de base pour des entreprises totalement nouvelles.

«Toute notre propriété intellectuelle a été bâtie autour de Spark», a expliqué Sharmila Shahani-Mulligan, CEO et co-fondateur de Clearstory Data. L'entreprise vend un service de business intelligence qui permet aux équipes de réunir une série de données de visualisation dans un scénario, comme s'il s'agissait d'une présentation PowerPoint. Les données peuvent provenir de différentes sources et être mises à jour quand de nouvelles données sont ajoutées. «Les gens ne veulent pas attendre une journée pour obtenir une réponse. Ils veulent des résultats rapides», a déclaré le CEO de Clearstory Data.  Spark pourrait par exemple aider les annonceurs qui font de la publicité digitale à décider à quel moment envoyer leurs annonces aux utilisateurs en fonction de leurs dernières navigations sur le Net, au lieu de se baser sur des sites visités il y a plusieurs jours ou plusieurs semaines.

Traitement de requêtes plus complexes

La vitesse de traitement des données par Spark représente un avantage important, parce que la quantité de données recueillie augmente rapidement, ce qui n'est pas le cas de la puissance de traitement informatique. «Spark offre également beaucoup plus de moyens pour analyser les données», a encore déclaré Curt Monash. Le moteur d'analyse par défaut de Hadoop, MapReduce, est surtout capable de résoudre un type de problème à la fois, et il doit au préalable filtrer et trier les données entre les différents serveurs (c'est le travail de «cartographie») avant de récapituler les résultats (c'est la fonction «réduction»). Au contraire, Spark a été conçu pour s'attaquer à des requêtes plus complexes impliquant, entre autres, des techniques d'apprentissage machine et de modélisation prédictive. «Là où MapReduce de Hadoop était assez bon, Spark est potentiellement meilleur», a déclaré le directeur de Monash Research.  Le service de streaming musical Spotify a été un autre adopteur précoce de Spark. Il utilise la technologie pour générer des playlists de musique en analysant les goûts de l'utilisateur à l'aide d'un ensemble d'algorithmes d'apprentissage machine. Les utilisateurs de Hadoop commencent à adopter la même attitude. «Cloudera, le distributeur de Hadoop, qui a également ajouté Spark à ses éditions, estime qu'une soixantaine d'entreprises clientes utilisent Spark sous une forme ou sous une autre», a ajouté Curt Monash. D'autres distributeurs de Hadoop, comme Hortonworks et MapR, offrent également Spark dans leurs distributions.

Le projet Spark a été lancé en 2008 par l'AMPLab (AMP pour Algorithms, Machine and People) de l'Université de Berkeley, Californie. Le projet, qui est désormais géré par l'Apache Software Foundation, affiche le plus grand nombre de contributions que tout autre projet logiciel Apache. Les principaux contributeurs sont des ingénieurs et des développeurs d'entreprises comme Intel, Yahoo, Groupon, Alibaba et Mint. Spark peut être utilisé en association avec Hadoop, pour analyser des données dans le système de fichiers Hadoop (HDFS), ou il peut être exécuté de façon autonome. Les développeurs construisent des applications hors de Spark avec Python, Java ou les langages de programmation Scala. «Une partie de l'attrait de Spark est lié à son API qui le rend facilement accessible aux développeurs et aux ingénieurs», a déclaré Reynold Xin, l'un des co-fondateurs de Databricks. «L'an prochain, un plus grand nombre de produits et services basés sur Spark devraient sortir sur le marché», a prédit Ali Ghodsi, le CEO de Databricks. Les programmeurs sont souvent interrogés sur leurs travaux Spark. «Lors de nos entretiens d'embauche, les candidats nous disent souvent que certains développeurs travaillent sur des projets Spark passionnants», a ajouté Ali Ghodsi.

www.LeMondeInformatique.fr

Kommentare

« Plus