TP : Spark Librairies
Auteurs
- Stéphane Derrode & Lamia Derrode, Centrale Lyon, Dpt Mathématiques & Informatique.
Objectifs d’apprentissage¶
À l’issue de ce TP, vous saurez :
- traiter des flux de données continus avec Spark Structured Streaming (API
readStream/writeStreambasée sur les DataFrame) ; - mettre en place un mini-pipeline temps réel (source
netcat→ traitement Spark → résultats à la seconde) ; - entraîner et évaluer des modèles de Machine Learning distribués avec Spark ML (
pyspark.ml, API DataFrame) :- K-Means (clustering non supervisé) ;
- Régression logistique (classification de spams) ;
- Forêt aléatoire (classification supervisée).
Pré-requis¶
- TP Spark terminé : vous savez écrire un script PySpark, le soumettre via
spark-submit, manipuler des RDD. - Cluster Docker déjà installé (cf. page d’installation).
- Notions de Machine Learning (clustering, classification supervisée).
Durée indicative (créneau de 2h)¶
Spark Structured Streaming (wordcount en flux) : 25 min
Spark ML — prise en main + K-Means : 30 min
Spark ML — régression logistique + forêt aléatoire : 30 min
Application — feux de forêt : 35 min en séance, à terminer en autonomie après la séance
Livrable¶
Pas de CR demandé pour ce TP. Les scripts servent de base d’expérimentation et la partie “feux de forêt” peut être terminée en autonomie après la séance.
Étapes du TP¶
Spark Structured Streaming¶
Spark Structured Streaming est l’API de traitement de flux continus de Spark, basée sur les DataFrame. Suivez les consignes décrites dans ce fichier pour mettre en place une petite manip :
Spark ML¶
Spark ML (pyspark.ml) est la librairie de Machine Learning de Spark basée sur les DataFrame, qui permet de développer des algorithmes efficaces sur des données massives. Suivez ce tutoriel pour expérimenter la librairie :