Spark : un projet qui intéresse le monde du Big Data
En octobre dernier, si la conférence Strata + Hadoop World s’était certes habillée aux couleurs du framework Open Source, les organisateurs de l’événement auraient également pu y accoler le terme « Spark ».
En octobre dernier, si la conférence Strata + Hadoop World s’était certes habillée aux couleurs du framework Open Source, les organisateurs de l’événement auraient également pu y accoler le terme « Spark ». Ce moteur de traitement était au centre de nombreuses sessions, elles-mêmes très suivies. Une preuve que ce framework est considéré de près par de nombreux fournisseurs de technologies Big Data, distributions Hadoop et autres produits analytiques, chez Cray ou Dell notamment.
A l’origine, Spark a été développé pour proposer une alternative à MapReduce, le moteur de traitement central de la première génération d’Hadoop. Spark est sorti rapidement des labos de l’Université de Californie pour s’élever au rang de projet de premier niveau au sein de la Fondation Apache, puis plus récemment dans sa version 1.0. Sa qualité principale, selon les défenseurs de la technologie : exécuter des applications reposant sur des batches Hadoop beaucoup plus rapidement qu’avec MapReduce (jusqu’à 100 fois supérieur).
Spark supporte également d’autres types d’applications qui s’étendent au-delà du batch supporté par MapReduce. Par exemple, il peut être utilisé dans des applications de Machine Learning, notamment celles qui s’adossent à des flux continus de données et d’événements. De tels usages ont trouvé leur place dans des moteurs de recommandations pour l’industrie musicale ou dans la recherche génomique. Spark comprend une bibliothèque d’algorithmes pour le Machine Learning ainsi que des APIs qui supportent les requêtes SQL, le traitement de graphes et le streaming de données.
Cette polyvalence a permis à la plate-forme Spark d’attirer un peu plus l’attention sur elle, notamment chez les fournisseurs qui montrent un intérêt certain dans ses capacités de traitement des Big Data. « L’intérêt dans Spark est lié aux différentes typologies d’usages d’Hadoop, au moins jusqu’à maintenant », commente Merv Adrian, analyste chez Gartner.
Spark est également conçu pour opérer des traitements en mémoire, ce qui lui donne un avantage face à MapReduce qui reste très lié aux disques physiques. « Nous notons un intérêt croissant pour ce que propose Spark depuis un moment, surtout avec ses capacités de traitement en mémoire », résume Matthew Aslett, analyste au sein du cabinet 451 Research. « Ce qui est intéressant avec ce point est qu’il permet d’avoir plusieurs approches en termes d’analytique et ce au sein d’un seul moteur In-Memory. »
De nouvelles orientations pour les produits à base de Spark
Lors de la conférence Strata + Hadoop World, nombre de fournisseurs ont bien compris qu’il fallait se positionner sur Spark et avoir un discours sur le sujet. Notamment depuis que les ténors des distributions Hadoop, comme Cloudera, HortonWorks, MapR et Pivotal ont annoncé le support de la technologie.
Par exemple, Cray a sorti son système analytique Urika-XA, supportant jusqu’à 48 nœuds et pré-intégré avec Apache Hadoop et Spark. L’analyse de structure matérielle à l’échelle du nano est notamment un premier cas d’usage, affirme Cray .
De son côté, Dell a également intégré le framework Spark dans son appliance In-Memory pour Cloudera Enterprise, supportant aussi jusqu’à 48 nœuds. Un premier intérêt aurait été descellé dans la grande distribution qui a mis en place des technologies de tracking de produits via RFID. Alpine Data Labs a lui aussi présenté Alpine Chorus 5.0, une plate-forme analytique qui inclut un framework pour développer et gérer des workflows Spark.
« Spark propose des possibilités de streaming analytique opportunes », soutient Eric Carr, vice-président chez Guavus, un éditeur qui a développé une plate-forme analytique pour les secteurs de la communication et du marketing. Sa technologie Reflex 2.0 a récemment reçu le sceau Certified Spark Distribution de Databricks, une autre société créée par les membres fondateurs d’Apache Spark. « Le Machine Learning avec Spark concerne le traitement en mémoire de façon itérative », soutient Carr. « Vous pouvez aussi le faire avec Hadoop, mais c’est plus difficile. »
Guavus utilise Spark combiné à HDFS. Carr explique que l’intérêt pour Spark réside dans sa capacité à faire évoluer l’architecture Hadoop. YARN, le gestionnaire de ressources au cœur d’Hadoop 2.0, est « ce qui rend possible Spark », affirme-t-il. Avec YARN, les utilisateurs peuvent se brancher à Spark, Storm et d’autres technologies compatibles Hadoop selon leurs besoins, tout en continuant d’utiliser HDFS, comme système de fichiers.
Les débuts de Spark
Selon Carr, l’un des points de noirs de Spark est justement qu’il lui reste beaucoup de chemin à parcourir pour utiliser SQL comme langage de requêtage. Comme peuvent le proposer Impala, Storm, Stinger et Tez. Autre lacune : la solution n’en est qu’aux prémices de son développement – ce que l’on entend également pour Hadoop. Si tous s’accordent sur le fait que Spark avance à vitesse grand V, Aslett et Adrian y voient également des problèmes de maturité.
Selon Aslett, des problèmes pourraient alors intervenir, si les entreprises commençaient à l’utiliser pour les mauvaises raisons, et ne pas suffisamment réfléchir à la bonne application. Comme Carr, il considère également l’aspect In-Memory à double-tranchant : « si vous utilisez beaucoup ces capacité de gestion en mémoire, cela coûte cher », soutient Aslett. « Les cas d’usage doivent être considérés avec attention et les choix des technologies doivent être adaptés. »
« Spark va devoir grandir un peu – il est encore tout chaud », explique Adrian. Ajoutant que les choses bougent vite dans le monde de la gestion des Big Data et de l’analytique. « Dans les années Hadoop, il est encore un adolescent. »
Traduit par la rédaction