Auteurs : Holden Karau, Andy Konwiski, Patrik Wendell, Matei Zaharia
Pendant ces derniers mois j’ai suivi pas mal de MOOC sur des sujets liés au Big Data. Le dernier en date était une introduction au Big Data avec Spark. Pour aller plus loin, je me suis acheté le livre Learning Spark afin d’approfondir le sujet.
Je n’ai pas encore tout à fait terminé la lecture de l’ouvrage, mais je peux déjà donner mes impressions sur les trois quart du livre.
Le livre est très bien, il est un bon complément à cours en ligne que j’ai suivie. Les premiers chapitres du livre se concentrent sur les concepts fondamentaux de Spark. Cette première partie permet de fixer les notions vue d’un point de vue pratique pendant le cours.
Ensuite ce sont les problématiques de chargement et de sauvegarde de données. C’est un point essentiel naturellement car sans données Spark ne sert pas à grand chose :P.
Le chapitre suivant est consacré à la programmation avancée avec Spark. On découvre des tips de programmation que l’on peut mettre en oeuvre selon certains de use cases.
Lorsque l’on arrive à ce moment du livre, on a déjà une vision très claire de comment développer avec Spark.
Spark est un outil permettant de traiter massivement des données dans un environnement distribué. La deuxième partie du livre commence en abordant les capacités de Spark à fonctionner dans un environnement clusterisé et également s’intégrer avec des outils de déploiement comme Meso ou Yarn.
Le livre continue son exploration en abordant les problématiques de configuration avancées et la façon de faire du debugging de programme écrit avec Spark.
La dernière partie du livre est consacrée à la présentation de 3 modules de Spark. Pour l’instant seul le module principal : Spark Core avait été abordé.
Les 3 modules sont
- Spark SQL : Librairie permettant de requêter des sources de données en se basant sur la – -language SQL.
- Spark Streaming : Librairie permettant de traiter des flux en temps réel
- Spark MLib : Librairie dédiée au Machine Learning
Le tour d’horizon proposé par l’ouvrage donne une vision très claire sur Spark. Le spectre couvert est large et approfondi et permet de démarrer très rapidement un projet.
Bien que l’outil soit écrit en Scala, l’outil est polyglotte. Il est possible d’écrire ses programmes sur la base de 3 langages :
- Scala
- Python
- Java
Etant complètement partial… Je préfère écrire mes programmes en Scala 😉 plus concis, expressif, etc… (troll ;))
En résumé, un très bon ouvrage qui se lit très bien. Pas de prérequis nécessaire pour lire ce livre. Je recommande se livre à qui veut se plonger dans l’univers de Spark!
Suite à la lecture de ce livre, j’ai commandé le livre : Advanded Analytics with Spark pour aller plus loin.