Au moment où Hadoop accomplit sa mue d’une technologie prometteuse « réservée » aux acteurs de l’Internet en une plateforme généraliste de gestion de données pour les entreprises, une nouvelle solution, Spark, suscite un intérêt croissant. Confidentielle hors des cercles universitaires jusqu’en 2013, la technologie Spark d’analyse de données distribué, en mémoire, bénéficie depuis d’une attention soutenue. Spark est ainsi disponible sur Amazon EC2 depuis le printemps 2013 et le premier Spark Summit s’est déroulé à San Francisco en décembre 2013.
En comparaison d’Hadoop démarré en 2005, Spark est néanmoins un projet encore récent puisqu’il a vu le jour en 2009 au sein de l’Université de Berkeley. Pour autant, Spark rassemble d’ores-et-déjà une importante communauté de développeurs, avec plus de 120 contributeurs de 25 organisations différentes référencés. Le système suit en outre un rythme régulier de mises à jour, avec une nouvelle « release » tous les 6 mois. Surtout, Spark est désormais intégré à toutes les principales distributions Hadoop. WANDisco avait en l’espèce ouvert le bal en adoptant Spark dès septembre 2013. Depuis, aussi bien Cloudera que MapR ont fait le choix de Spark, et Hortonworks vient de les rejoindre comme l’avait auparavant dévoilé Eric Baldeschwieler dans son blog. De fait, loin de se positionner comme une technologie alternative ou concurrente à Hadoop, Spark et la société supportant le projet, Databricks, ont fait le choix pragmatique de se fondre dans l’écosystème Hadoop.
La complémentarité entre Spark et Hadoop est en effet forte. D’un coté Spark n’intègre pas nativement de couche de persistence des données, et l’intégration avec HDFS et HBase est tout à fait naturelle dans cette perspective. De l’autre, Spark comble opportunément deux faiblesses de l’écosystème Hadoop:
- Le support de traitements en temps-réel « in-memory », en particulier pour des applications de type analyse prédictive et machine learning. Hadoop offre donc désormais au sein de son écosystème open source une alternative à des solutions propriétaires telles que SAP HANA ou SAS LASR;
- Des APIs de programmation simples et élégantes, soit un des principaux reproche adressés à Hadoop MapReduce en dépit de couches d’abstraction comme Pig, Cascading ou Scalding.
Par ailleurs, Spark, tout comme Hadoop en son temps, se développe sous l’oeil attentif et bienveillant de Yahoo. La société utilise Spark en production depuis 2012, et a largement contribué à rapprocher les deux systèmes. En particulier, c’est Yahoo qui a été à l’initiative du port de Spark sur YARN, avec quatre employés de Yahoo contribuant à ce développement stratégique. Cette intégration permet d’opérer Spark au sein même d’un cluster Hadoop 2.0, avec une gestion des ressources coordonnées entre le moteur d’exécution Spark et d’autres environnements de traitements comme MapReduce.
S’il est tout à fait possible de faire fonctionner Spark indépendamment d’Hadoop, les efforts de Yahoo, l’implication des principales distributions Hadoop et la stratégie d’entreprise de DataBricks poussent donc à une intégration étroite entre ces deux systèmes. Spark a ainsi vocation à devenir un composant essentiel d’une architecture Hadoop, d’une importance au moins égale – et probablement supérieure à terme – à MapReduce.
Related articles
- Cloudera Offers Apache Spark For Hadoop Big Data (techweekeurope.co.uk)
- MapR Integrates the Complete Spark Stack (DataBricks blog)
- Spark now in CDH, HDP and MapR (@jeric14’s blog)