D'après ses développeurs, Spark est jusqu'à 100 fois plus rapide qu'Hadoop pour effectuer le même genre de taches.
Spark repose sur HDFS (Hadoop Distributed File System) mais les calculs se font en mémoire pour accélérer les traitements. Le but de cette accélération est de pouvoir effectuer des requêtes en temps réel sur de très gros volumes de données, par exemple sur les logs d'accès d'un site Internet. L'analyse des données en temps réel, le rêve quand on fait de la BI!
D'autres applications sont possibles comme le machine learning ou le data mining. Mais commençons par mettre les mains dans le cambouis!
Le coeur de Spark est écrit en Scala mais des API Java et Python sont également proposées pour interagir avec le framework. Un shell est fourni par défaut, il permet de manipuler facilement l'API Scala de Spark. Très pratique pour faire des tests!
Pour découvrir Spark, commençons par lire un fichier en local :
val textFile = sc.textFile("README.md")
Note : sc est un objet disponible par défaut dans le shell, il correspond au contexte Spark courant.