Cloudera a livré une édition commerciale du moteur Apache Spark qui analyse les données en temps réel dans les environnements Hadoop. Un apport qui peut potentiellement accélérer l'apprentissage automatique et étendre l'utilisation du framework Open Source au traitement de flux. Matt Brandwein, directeur marketing produit de la société, explique que les data scientists apprécient Spark. Il rappelle que le moteur est efficace sur l'apprentissage machine qui requiert de nombreuses itérations sur le même jeu de données.

Généralement, ceux qui utilisent Hadoop le font avec MapReduce, mais c'est assez lent, explique Matt Brandwein, en faisant référence aux multiples lectures et écritures vers le disque pour les tâches d'apprentissage automatique. Alors que Spark peut le faire pendant que les données sont encore dans la mémoire de travail. Spark peut être jusqu'à 100 fois plus rapide qu'Hadoop lui-même dans l'exécution des programmes grâce à ce modèle de conception in-memory, assurent les gestionnaires du logiciel.

Analyse de flux en temps réel

Spark peut aussi surveiller un flux de données et lancer des fonctions lorsque certaines conditions sont remplies. Cette surveillance peut par exemple s'appliquer à la gestion de la fraude et le suivi d'événements liés à la sécurité. Dans ces cas-là, on analyse en temps réel les données pour détecter les anomalies et prendre des mesures, mais les données peuvent aussi être transférées vers le système de fichiers Hadoop pour effectuer en différé des analyses interactives plus approfondies.

Développé au départ à Berkeley (Université de Californie), Apache Spark permet de charger les flux de données dans la mémoire de travail d'un cluster de serveurs pour pouvoir effectuer des requêtes en temps réel. Il n'y a pas de limite au nombre de serveurs ou à la taille mémoire qu'il peut utiliser. Il s'appuie sur la dernière version d'Hadoop qui utilise YaRN (Yet another Research Negotiator), un successeur de MapReduce qui permet de faire tourner plusieurs applications dans Hadoop en partageant la gestion des ressources communes. Spark n'a toutefois pas besoin du framework MapReduce qui opère en mode différé. Il dispose d'API pour Java, Scala et Python. Il peut nativement lire les données depuis l'Hadoop File System (HDFS) et les bases HBase et Cassandra.

DataBricks propose du support sur Spark

Plus de 120 développeurs ont contribué au projet Apache Spark et cette technologie a été utilisée par Yahoo, Intel et par d'autres. DataBricks, qui a constitué sa propre version commerciale de Spark propose pour Cloudera des services de support sur le moteur. L'idée de vouloir appliquer l'analyse Hadoop aux flux de données n'est pas nouvelle. Pour ses propres besoins, un acteur comme Twitter a par exemple constitué Storm,  un ensemble de logiciels Open Source avec lequel il analyse les messages.

En dehors de Spark, Cloudera va repackager ses solutions commerciales Hadoop en trois offres distinctes : l'édition Basic, l'édition Flex et l'édition Entreprise Hub Edition. Cette dernière réunit tous les outils complémentaires que Cloudera a intégrés avec Hadoop. Ce qui inclut HBase, Spark, des fonctions de back-up et le moteur SQL Impala. L'édition Flex permet de choisir un outil complémentaire à l'offre Hadoop de base. L'édition Standard a par ailleurs été renommée Cloudera Express.