agsandrew - Fotolia
Spark Summit : Databricks détaille Spark 2.0
Alors que Microsoft et IBM poursuivent leur développement autour de Spark, Databricks en dit un peu plus sur Spark 2.0 Attendu d’ici à la fin juin.
A l’occasion du Spark Summit qui s’est tenu début juin à San Francisco, Databricks, le créateur du désormais très tendance framework analytique, a détaillé certains chantiers qui seront au cœur de la 2.0 de la solution. IBM et Microsoft ont quant à eux profité de l’événement pour abattre un peu plus leurs cartes sur leurs offres dédiées.
Si l’on en croit, Matei Zaharia, le CTO de Databricks, Apache Spark 2.0 devrait être disponible courant juin. Même si pour l’heure la version n’est pas sèche et donc instable, rapporte-t-il, à l’image de la mouture de test livrée le mois dernier, il explique que cette 2.0 est une bonne version pour se lancer.
Matei Zaharia, qui a donné naissance à Spark lors qu’il était étudiant à l’Université de Californie – il a également renoncé à un poste au MIT pour créer Databricks – affirme que cette mouture comprend plus de 2 000 patches développés par 280 contributeurs. Parmi les éléments qu’il met en avant, on retient une technologie de programmation qui accélère les développements et les performances, le support de SQL 2003 et ce qu’il appelle le streaming structuré.
Selon lui, les possibilités de génération de code plus avancées – Databriks décrit le moteur du prochain Spark comme étant un compilateur intelligent -, associées à des APIs de plus haut niveau devraient au final ouvrir Spark à davantage de développeurs. Un bienfait pour les DSI, aux prises avec des compétences Spark aujourd’hui rares, et donc très chères. Une récente étude de Stack Overflow réalisée auprès de 13 540 personnes aux Etats-Unis révèle en effet que Spark fait désormais parti des compétences les mieux valorisées. La framework ainsi que Scala – Spark est écrit en Scala – peuvent rapporter gros : l’étude mentionne des salaires moyens de 125 000 $ par an.
Combiner batch et streaming
Autre point clé de cette prochaine mouture, la simplification du développement de processus de streaming de données, une tâche considérée parfois comme ardue à mettre en place. Dans cette 2.0, les contributeurs ont opté pour une approche généraliste du streaming – en partie pour faciliter la transition des développeurs peu aguerris à cette technologie. Spark conserve aussi son approche mini-batch, parfois critiquée par les développeurs.
Le streaming de données est souvent cité comme un des points forts de Spark. Toutefois, certains projets sont venus concurrencer le framework dans ce domaine, à l’image de Storm, Flink et Heron, certains offrant une latence plus faible que Spark.
Le streaming structuré de Spark 2.0 propose un jeu unique d’APIs qui peut entrer dans la catégorie des architectures Lambda, un terme qui désigne les architectures associant batch et streaming. Celui-ci supporte « les usages les plus communs en matière de streaming », explique Matei Zaharia. « La plupart des utilisateurs intègre différents modes de traitement. » Il ajoute : « les nouvelles Spark Streaming APIs ressemblent aussi beaucoup aux APIs SQL de Spark, encore une fois avec la volonté de rendre le framework pus accessible aux développeurs. »
Même s’il conçoit que le streaming de données n’est pas forcément à l’ordre du jour dans toutes les entreprises, Thomas Dinsmore, analyste indépendant, confirme que cette approche de Databricks qui consiste à croiser batch et modèles de programmation en temps réel devrait trouver son public. « Avec le streaming structuré, il se peut que Spark fasse entrer le streaming un peu plus loin dans l’industrie. Et il est vrai que personne aujourd’hui ne tirent des conclusions et des analyses à partir d’un seul flux », commente-t-il. « Généralement, le flux est associé à des données et tendances historiques. Cela est vrai pour les grosses applications, comme par exemple pour la détection de fraudes à la carte bancaire. »
Pour Thomas Dinsmore, les caractéristiques de cette version 2.0 pourraient bien positionner Spark avantageusement, y compris face aux projets concurrents. « Spark ne doit pas forcément être le meilleur. Il doit juste être bon à tous les niveaux », fait-il remarquer.
Spark : un écosystème qui s’étoffe
Cette version 2.0 devrait aussi faire son apparition alors que les offres bâties sur le framework fleurissent de plus en plus. Aussi bien chez les grands de l’IT traditionnelles que chez les start-ups.
A l’occasion du Spark Summit, Microsoft a officiellement sorti Spark pour sa plateforme Azure HDInsight. L’éditeur a également rendu disponible des versions de R Server pour HDInsight, dans le Cloud et sur site. Pour mémoire, Microsoft dispose du R Server depuis le rachat de Revolution Analytics en 2015. L’un des objectifs de l’éditeur est de venir gonfler les rangs des développeurs Spark en améliorant le support de R sur Spark. Un autre étant la vitesse de calcul.
« En combinant R à Spark, les data scientists retrouvent R avec lequel ils sont familiers, tout en leur permettant d’exécuter leur code sur Spark et son architecture scalable », lance Oliver Chiu, responsable marketing chez Microsoft. Pour l’analyste Thomas Dinsmore, adapter R Server à Spark est un bon choix. « Ils ont créé une plateforme très performante. »
Les intégrations de R à Hadoop ont parfois soufferts de faibles performances, occasionnées par MapReduce. Rapprocher R de Spark pourrait bien être la solution au problème, commente encore l’analyste – celui-ci a occupé les fonctions de chef de produit chez Revolution Analytics. Cela confirme aussi le fait que Spark offre des performances supérieures à MapReduce.
IBM porte Spark plus près des data scientists et de R
De son côté, IBM a aussi consolidé son offre autour de Spark en dévoilant un environnement de développement pour le framework. S’appuyant logiquement sur Bluemix, cet outil vise les data scientists, et particulièrement ceux qui travaillent avec le langage R. Data Science Experience, nom de la solution, est en fait un service collaboratif centré sur SparkR, Spark SQL et Spark ML.
Les adeptes de R ont en effet besoin de davantage d’outils pour se transformer en développeurs Spark, soutient Rod Thomas, vice-président développement Produit au sein des activités Analytics d’IBM. « Nous voulons qu’il soit plus facile pour les data scientists de développer des modèles R et de les exécuter sur Spark », explique-t-il. R est devenu un outil clé pour cette communauté d’utilisateurs, mais son utilisation avec Spark est difficile, note-t-il. « Jusqu’alors, R n’a pas été considéré comme un composant de premier ordre pour Spark. »