Checklists formateur
Avant la formation
Section intitulée « Avant la formation »- Mail de prérequis envoyé sur le fil « Organisation & Prérequis d’installation » (modèle).
- Questionnaire de préformation lu sur Digiforma : niveaux, attentes, contraintes (proxy, sécurité, handicap).
- Dernière version stable de Spark vérifiée sur spark.apache.org ; slide « Spark 4 en bref » à jour.
-
docker compose updu TP 3 testé sur votre poste ;SPARK_VERSIONaligné surpip show pyspark. - Environnement de secours réservé auprès d’Ambient IT si des participants sont bloqués.
- Audit de préformation réalisé (intra, ou inter avec 3 participants d’une même entreprise). Ne pas dire oui à tout.
J-1 : le mode dégradé (clé USB)
Section intitulée « J-1 : le mode dégradé (clé USB) »- Archive
pyspark+py4j(pip download pyspark -d usb/). - Installateur JDK 17 Temurin (Windows
.msi, macOS.pkg, Linux.tar.gz). - Installateurs VS Code + extensions Python / Jupyter (
.vsix). - Le dépôt complet (zip), données incluses.
- Images Docker sauvegardées :
docker save apache/spark:<v>-python3 apache/hadoop:3.4.1 | gzip > usb/images.tar.gz. - Slides en PDF, corrigés en PDF.
- Adaptateur HDMI / USB-C, casque micro (classe virtuelle).
Jour 1 – Comprendre et utiliser Spark 4
Section intitulée « Jour 1 – Comprendre et utiliser Spark 4 »- Salle, projecteur, Yeti X (classe mixte), 2e écran.
- Terminal et VS Code en fond blanc, police 16+.
- Dépôt cloné et
check_env.py✔ sur le poste du formateur ; master Standalone testé (start_cluster_local.sh). - Slido / Kahoot prêt pour le quiz express de 11h50.
- Tableau : une colonne « Attentes » à cocher en fin de journée.
| Heure | Quoi | Point de vigilance |
|---|---|---|
| 9h00 | Accueil, présentations, objectifs, règles | Noter les attentes. Prérequis manquants → prévenir Ambient IT |
| 9h20 | Partie 1 : contexte, pourquoi Spark, installation | Démo en direct, pas à pas |
| 10h00 | TP 1 (30 min) | Baromètre du groupe : repérer les binômes avancé / débutant |
| 10h30 | Pause | Annoncer l’heure de reprise |
| 10h45 | Partie 2 : RDD, transformations, DAG | Montrer la Spark UI à chaque notion |
| 11h10 | TP 2 (30 min) + partage | « Qui a réussi ? » à mi-parcours ; correction en direct |
| 11h50 | Quiz express | Noter les notions floues pour demain matin |
| 12h00 | Émargement, déjeuner | Vérifier que tout le monde a signé |
| 13h00 | Partie 3 : HDFS, Standalone, gestionnaires | « Comment ça va ? » au retour. Port NameNode : 8020 |
| 13h50 | TP 3 (50 min) + partage | Partie A pour tous ; partie B si Docker fonctionne ; mode dégradé sinon |
| 15h00 | Pause | |
| 15h15 | Partie 4 : Spark SQL, DataFrames | Démo explain() en direct |
| 15h30 | TP 4 (45 min) + partage | Bonus explain() et ANSI pour les rapides |
| 16h30 | Ce qu’il faut retenir + attentes cochées | Faire reformuler par les participants |
| 16h45 | Fin, émargement | Pousser les corrigés sur le dépôt |
Après la journée
Section intitulée « Après la journée »- Corrigés poussés (
jour1/corriges/), message aux participants. - Notions floues du quiz et du tour de table notées → question / réponse de 10 min demain à 9h00.
- Questionnaire intervenant Digiforma : observations sur le groupe.
Jour 2 – Machine Learning avec Spark ML
Section intitulée « Jour 2 – Machine Learning avec Spark ML »-
matplotlibetseabornprésents dans l’environnement des participants (requirements.txt). -
python jour2/corriges/tp6_regression.pylancé sur votre poste : RMSE arbre ≈ 4,66 $ (les chiffres des slides). - GraphFrames testé :
pip install graphframes-py+ JARio.graphframes:graphframes-spark4_2.13; sinon démo en mode dégradé (groupBy). - Slido / Kahoot : quiz flash et activité préparés.
- Corrigés du jour 1 poussés ; notions floues d’hier relues.
| Heure | Quoi | Point de vigilance |
|---|---|---|
| 9h00 | Météo du groupe, « Hier en 10 minutes » | Qui n’a pas fini le TP 4 ? Aider avant d’avancer |
| 9h20 | Partie 1 : programmer ou apprendre, supervisé, cycle, activité, visualisation | Activité sans ordinateur en binômes avant le premier TP |
| 9h55 | TP 5 (35 min) | Règle d’or : agréger dans Spark avant toPandas() |
| 10h30 | Pause | |
| 10h45 | Partie 2 : briques, pipeline, arbre, code en direct | Exécuter le code cellule par cellule |
| 11h10 | TP 6 (30 min) + partage | Réussi si RMSE arbre < 5 $. Bonus « tricher » = la fuite |
| 11h50 | Persistance, PySpark et R | SparkR déprécié : orienter vers sparklyr |
| 12h00 | Émargement, déjeuner | |
| 13h00 | Partie 3 : RF vs SVM, matrice, ROC, quiz flash, fuite | Faire calculer la précision à la main |
| 13h40 | TP 7 (50 min) + partage | Réussi si AUC > 0,65 + ROC. Sauvegarder le Random Forest |
| 15h00 | Pause | |
| 15h15 | Partie 4 : K-means, démo GraphFrames | Animer K-means au tableau avec 10 points |
| 15h35 | TP 8 (45 min) + partage | Réussi si k justifié + 3 familles nommées |
| 16h30 | Ce qu’il faut retenir, attentes | Faire reformuler |
| 16h45 | Fin, émargement | Pousser les corrigés TP 5–8 |
Erreurs fréquentes des participants
Section intitulée « Erreurs fréquentes des participants »toPandas()sur tout le DataFrame → mémoire du Driver saturée : rappelersample/groupBy.- Oubli de
handleInvalid="keep"surStringIndexer→ erreur sur une catégorie absente du train. - Features de la SVM non normalisées → convergence lente, AUC basse.
vector_to_arrayoublié pour lire la probabilité (probabilityest un vecteur).- Fuite de données :
total_amount,tip_amount,payment_typedans les features.
Jour 3 – Streaming, performance, clôture
Section intitulée « Jour 3 – Streaming, performance, clôture »-
python scripts/stream_simulator.py courses --resetetlogs --resettestés en direct sur votre poste. - Les 3 corrigés du J3 exécutés (avec
--all) : alerte/payment8h22–8h25 au TP 10, CSV ≈ 0,4 s / Parquet ≈ 0,15 s au TP 11. -
out/modele_pourboireprésent (TP 7) pour la démonstration du TP 11. - Quiz flash et atelier prêts.
- Rappel Digiforma : QCM + satisfaction envoyés automatiquement à 16h.
| Heure | Quoi | Point de vigilance |
|---|---|---|
| 9h00 | Météo, « Hier en 10 minutes » | Qui n’a pas fini le TP 8 ? Annoncer le QCM de 16h |
| 9h20 | Partie 1 : table non bornée, code, sources/sinks, Flume, DStreams | Montrer le simulateur en direct |
| 9h55 | TP 9 (35 min) | Schéma obligatoire ; shuffle.partitions = 4 ; un checkpoint par requête |
| 10h30 | Pause | Arrêter requêtes et simulateurs |
| 10h45 | Partie 2 : fenêtres, watermark, output modes, Encoders | Le watermark est LA notion du jour : prendre le temps |
| 11h10 | TP 10 (35 min) + partage | Réussi si alerte /payment 8h22–8h25 |
| 11h52 | Quiz flash | |
| 12h00 | Émargement, déjeuner | |
| 13h00 | Partie 3 : Catalyst, Tungsten / AQE, ML sur flux | Faire lire PushedFilters / ReadSchema |
| 13h25 | TP 11 (55 min) + partage | Les deux plans montrent PushedFilters : la différence vient du format |
| 14h45 | Pause (avancée de 15 min) | Arrêter les requêtes de streaming |
| 15h00 | Partie 4 : Deep Learning (10), SparkR (5), atelier (30), récap (15) | Récap terminé à 16h00. En retard ? raccourcir l’atelier, jamais le récap |
| 16h00 | QCM de validation + questionnaire de satisfaction (20 min) | Remplir en parallèle le questionnaire intervenant |
| 16h25 | Conclusion (tour de table) | Noter les retours pour l’équipe pédagogique |
| 16h50 | Émargement, merci, restons en contact | Feuille complète pour les 3 jours |
Erreurs fréquentes des participants
Section intitulée « Erreurs fréquentes des participants »- Relancer une requête modifiée avec l’ancien checkpoint → erreur ou résultats incohérents : supprimer le dossier.
- Oublier le watermark avec une agrégation en
append→ « Append output mode not supported… without watermark ». - Format de date du log :
yyyy-MM-dd'T'HH:mm:ss.SSS(leTentre apostrophes). - Lire un fichier pendant qu’il est écrit : le simulateur écrit puis déplace ; reproduire ce principe en production.
- Plusieurs requêtes actives oubliées dans le notebook :
[q.stop() for q in spark.streams.active].
Dépôts des participants : Spark 4 & ML – formations2026/formation-spark-ml · Prompts IA – formations2026/formation-prompting-ia
Formations sur mesure · supports en ligne des formations animées pour nos clients.