Apache Spark au Hadoop User Group France : compte-rendu


Rédigé par Patrick COFFRE, Talend le 20 Juin 2014

Apache Spark était au centre des conversations et des présentations pendant la soirée du Hadoop User Group d’Avril. Puisque c’est un projet relativement récent, les participants sont venus nombreux pour mieux comprendre les spécificités et les fonctionnalités incluses dans ce projet.



Patrick COFFRE, Community Manager Talend
Plus précisément, ce post de blog détaillera l’utilisation d’Apache Spark chez Viadeo ainsi que le Scalable Machine Learning avec Spark.
C’est Viadeo qui se sera chargé de l’accueil des participants du Hadoop User Group, dans leurs locaux parisiens. Pour plus d’informations sur ce groupe utilisateurs, rendez-vous sur : http://hugfrance.fr/

Comme ce post de blog étudie Apache Spark, détaillons d’avantage les spécificités de ce projet et voyons comment il est possible de l’utiliser.

Tout d’abord, Apache Spark est un logiciel open source d'analyse qui accélère l'exécution de requêtes sur la plate-forme de traitement de données Hadoop.
Ensuite, ce projet Apache donne la capacité de traiter rapidement des données à grande échelle : les programmes sont exécutés jusqu'à cent fois plus rapidement que sur Hadoop MapReduce en mémoire ou dix fois plus rapidement sur disque.
Des applications peuvent être écrites aisément en Java, Scala ou Python, rendant Spark facile d'utilisation. Également, les analyses complexes, en streaming et SQL peuvent être combinées ensemble. De plus, Spark peut lire tous types de données Hadoop, que ce soit HDFS, HBase ou Cassandra.

Eugen Cepoi de Viadeo est le premier intervenant du Hadoop User Group. Eugen présente l’utilisation d’Apache Spark à travers certains projets de sa société.

Lors de ce groupe d’utilisateurs, Viadeo explique son utilisation concrète d’Apache Spark, mis en production sur un cluster Hadoop à la suite d’une « preuve de concept » commencé pendant l’été 2013 sur Spark 0.8.

Les avantages mis en avant pendant la soirée pour la société sont les fonctionnalités d’analyse des données, de streaming, le debugging et la facilité de test car le code est du Scala standard.

Des résultats concrets ont été exposés: ainsi, nous avons appris que la segmentation des membres prenait auparavant plusieurs heures. Aujourd’hui, celle-ci est réalisée en 4 minutes pour 60 variables. Aussi, grâce au Machine Learning sur Spark, Viadeo nous apprend qu’ils ont amélioré leur taux de clicks sur les offres d'emploi : la hausse représente entre 5% et 7% de ce taux.

Par ailleurs, Viadeo a expliqué que Mesos est utilisé pour faire fonctionner Spark et que la planification et la dépendance des jobs chez Viadeo sont réalisées en utilisant Chronos.

Ce cas d’utilisation concret chez Viadeo prouve qu’Apache Spark donne la possibilité à une société de leur taille de diminuer le temps de traitement des données et d’améliorer l’expérience utilisateur sur leur réseau social professionnel de manière significative. Ceci tend à prouver qu’un projet relativement nouveau comme Spark peut rapidement être mis en production et produire des résultats concrets en entreprise.

Sam Bessalah est le deuxième intervenant de ce groupe d’utilisateurs Hadoop et nous présente le Scalable Machine Learning avec Spark.

Sam détaille Apache Spark, en nous expliquant ce que sont les RDD (Resilient Distributed Datasets) : une forme restreinte de mémoire partagée et distribuée. Surtout, Spark fournit un environnement agile adapté à la data science, à travers les dataflows, les opérateurs de haut niveau et les API intuitives.

Ensuite, Spark est comparé à d’autres projets Apache et il en ressort que Spark Streaming est plus aisé à utiliser qu’Apache Storm. Spark est plus rapide que Mahout car les données tiennent souvent en mémoire. C’est pourquoi Spark commence à être utilisé en tant que second support pour Apache Mahout et Cloudera Oryx.

Surtout, Apache Spark est un outil adapté au Machine Learning puisque les algorithmes sont calculés 30 fois plus rapidement que sur Hadoop, tout en maintenant la scalabilité de MapReduce. Aussi, l’un des avantages de Spark soulevé pendant la soirée est qu’il rend la programmation des jobs plus aisée avec l'intégration dans le langage de programmation Scala. Au final, avec le chargement de datasets en mémoire et les requêtes répétées, Spark facilite les analyses interactives de big data.

Les présentations lors de la soirée ont su expliquer ce qu’Apache Spark pouvait apporter aux participants du Hadoop User Group, tant en terme de spécificités que de fonctionnalités. Que ce soit lors de la présentation du Scalable Machine Learning avec Spark, comme pendant le cas concret d’utilisation d’Apache Spark chez Viadeo : prouvant que ce projet pouvait être rapidement mis en place en entreprise et donner des résultats satisfaisants.
Pour d’autres informations complémentaires, vous trouverez la page dédiée au projet Apache Spark en suivant ce lien : http://spark.apache.org/



Dans la même rubrique :