Spark permet de traiter des données qui sont figées à un instant T. Grâce au module Spark Streaming, il est possible de traiter des flux de données qui arrivent en continu, et donc de traiter ces données au fur et à mesure de leur arrivée.
Spark Streaming a un mode de fonctionnement un peu particulier. Comme dans Spark, il faut initialiser un contexte. Cependant avec Spark Streaming, un contexte est initialisé avec une durée (ne peut être inférieure à 1 seconde) . Le framework Spark va accumuler des données pendant cette durée puis produire un petit RDD (Resilient Distributed Dataset). Ce cycle accumulation / production de RDD va se reproduire jusqu’à ce le programme soit arrêté. On parle ici de micro-batches par opposition à un traitement des évènements un par un.
L’avantage principal de Spark Streaming c’est qu’il est possible de manipuler des flux de données (données en mouvement) de la même manière que l’on manipule des données figées (données au repos).