Jour 3 – Spark Streaming et Spark à grande échelle

Jour 1 : décrire. Jour 2 : prédire. Jour 3 : réagir pendant que ça se passe.
La troisième journée fait arriver les taxis en temps réel. scripts/stream_simulator.py dépose courses et logs
fichier par fichier, comme une application en production : c’est notre « production ». En entreprise, la source
serait Kafka ; le dossier de fichiers permet de travailler sans infrastructure, avec exactement la même API. La
journée se termine par le QCM de validation des acquis et le questionnaire de satisfaction, à 16h.
Objectifs du jour
Section intitulée « Objectifs du jour »À la fin de la journée, vous saurez :
- Raisonner en flux : la table non bornée,
readStream/writeStream. - Lire des sources et écrire des sinks en continu ; situer Flume et les DStreams dans l’histoire.
- Agréger par fenêtre et gérer les retards avec le watermark ; choisir un output mode ; comprendre le checkpoint.
- Analyser un fichier de log en temps réel et détecter une panne.
- Lire un plan Catalyst, comprendre Tungsten et AQE.
- Appliquer un modèle ML sur un flux avec
foreachBatch. - Situer Deep Learning, transfer learning, SparkR et sparklyr.
- Choisir entre architectures Lambda et Kappa.
Objectifs couverts : 3 (grands volumes), 4 (écosystème) et 6 (temps réel), voir la page Programme.
- Accueil, météo du groupe, hier en 10 minutes, objectifs, annonce du QCM de 16h
- Partie 1 – Structured Streaming : traiter les données qui arrivent
- TP 9 – Votre premier stream (35 min)
- Pause (arrêter requêtes et simulateur)
- Partie 2 – Agrégations continues, fenêtres et analyse de logs
- TP 10 – Les logs en temps réel (35 min), partage, quiz flash
- Émargement, déjeuner
- Partie 3 – Sous le capot (Catalyst, Tungsten, AQE) et ML en temps réel
- TP 11 – ML en temps réel et plans (55 min), partage
- Pause (avancée : la partie 4 a besoin d'une heure pleine avant 16h)
- Partie 4 – Écosystème, architectures et conclusion
- Atelier – Lambda ou Kappa ? (30 min)
- Ce qu'il faut retenir des 3 jours
- QCM de validation des acquis, puis questionnaire de satisfaction (20 min)
- Conclusion : tour de table, émargement
Le fil rouge du jour
Section intitulée « Le fil rouge du jour »| Séquence | Question métier | Partie | Technique |
|---|---|---|---|
| TP 9 · Premier stream | Le chiffre d’affaires par quartier, en direct | 1 | readStream, jointure flux-statique, complete |
| TP 10 · Logs en temps réel | Détecter une panne avant les clients | 2 | regexp_extract, fenêtres, watermark, append |
| TP 11 · ML + sous le capot | Le modèle de pourboire sur le flux ; lire un plan | 3 | PipelineModel.load, foreachBatch, explain, AQE |
| Atelier · Architecture | Lambda ou Kappa pour notre application ? | 4 | Conception en groupes |
Ce qu’il faut retenir des 3 jours
Section intitulée « Ce qu’il faut retenir des 3 jours »| Idée | En une phrase | |
|---|---|---|
| 1 | Diviser pour régner | Partitions, DAG, évaluation paresseuse : 1 shuffle = 1 stage. |
| 2 | DataFrames + Catalyst | Écrire en SQL ou DataFrame ; Parquet ; lire le plan. |
| 3 | Pipeline ML | fit / transform, train / test, la bonne métrique, pas de fuite. |
| 4 | Flux = table sans fin | Fenêtres, watermark, checkpoint : temps réel fiable. |
| 5 | Une seule API | Batch, ML et streaming : choisir l’architecture selon le besoin. |
Pour réviser : la fiche mémo du jour 3 et les quiz 9 et 10 de la section révision. Pour aller plus loin : la page Ressources.
La semaine prochaine : choisissez un cas de votre métier et refaites le fil rouge dessus.
Dépôt des participants : formations2026/formation-spark-ml (branche participants)
Contenu pédagogique © Ambient IT · 140 Avenue Jean Lolive, 93500 Pantin · formation@ambient-it.net · +33 (0)1 48 10 09 46
Organisme de formation enregistré sous le numéro 11 75 54743 75. Cet enregistrement ne vaut pas agrément de l'État.