Aller au contenu

Checklists formateur

  • 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 up du TP 3 testé sur votre poste ; SPARK_VERSION aligné sur pip 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.
  • 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).
  • 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.
HeureQuoiPoint de vigilance
9h00Accueil, présentations, objectifs, règlesNoter les attentes. Prérequis manquants → prévenir Ambient IT
9h20Partie 1 : contexte, pourquoi Spark, installationDémo en direct, pas à pas
10h00TP 1 (30 min)Baromètre du groupe : repérer les binômes avancé / débutant
10h30PauseAnnoncer l’heure de reprise
10h45Partie 2 : RDD, transformations, DAGMontrer la Spark UI à chaque notion
11h10TP 2 (30 min) + partage« Qui a réussi ? » à mi-parcours ; correction en direct
11h50Quiz expressNoter les notions floues pour demain matin
12h00Émargement, déjeunerVérifier que tout le monde a signé
13h00Partie 3 : HDFS, Standalone, gestionnaires« Comment ça va ? » au retour. Port NameNode : 8020
13h50TP 3 (50 min) + partagePartie A pour tous ; partie B si Docker fonctionne ; mode dégradé sinon
15h00Pause
15h15Partie 4 : Spark SQL, DataFramesDémo explain() en direct
15h30TP 4 (45 min) + partageBonus explain() et ANSI pour les rapides
16h30Ce qu’il faut retenir + attentes cochéesFaire reformuler par les participants
16h45Fin, émargementPousser les corrigés sur le dépôt
  • 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.
  • matplotlib et seaborn présents dans l’environnement des participants (requirements.txt).
  • python jour2/corriges/tp6_regression.py lancé sur votre poste : RMSE arbre ≈ 4,66 $ (les chiffres des slides).
  • GraphFrames testé : pip install graphframes-py + JAR io.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.
HeureQuoiPoint de vigilance
9h00Météo du groupe, « Hier en 10 minutes »Qui n’a pas fini le TP 4 ? Aider avant d’avancer
9h20Partie 1 : programmer ou apprendre, supervisé, cycle, activité, visualisationActivité sans ordinateur en binômes avant le premier TP
9h55TP 5 (35 min)Règle d’or : agréger dans Spark avant toPandas()
10h30Pause
10h45Partie 2 : briques, pipeline, arbre, code en directExécuter le code cellule par cellule
11h10TP 6 (30 min) + partageRéussi si RMSE arbre < 5 $. Bonus « tricher » = la fuite
11h50Persistance, PySpark et RSparkR déprécié : orienter vers sparklyr
12h00Émargement, déjeuner
13h00Partie 3 : RF vs SVM, matrice, ROC, quiz flash, fuiteFaire calculer la précision à la main
13h40TP 7 (50 min) + partageRéussi si AUC > 0,65 + ROC. Sauvegarder le Random Forest
15h00Pause
15h15Partie 4 : K-means, démo GraphFramesAnimer K-means au tableau avec 10 points
15h35TP 8 (45 min) + partageRéussi si k justifié + 3 familles nommées
16h30Ce qu’il faut retenir, attentesFaire reformuler
16h45Fin, émargementPousser les corrigés TP 5–8
  • toPandas() sur tout le DataFrame → mémoire du Driver saturée : rappeler sample / groupBy.
  • Oubli de handleInvalid="keep" sur StringIndexer → erreur sur une catégorie absente du train.
  • Features de la SVM non normalisées → convergence lente, AUC basse.
  • vector_to_array oublié pour lire la probabilité (probability est un vecteur).
  • Fuite de données : total_amount, tip_amount, payment_type dans les features.
  • python scripts/stream_simulator.py courses --reset et logs --reset testés en direct sur votre poste.
  • Les 3 corrigés du J3 exécutés (avec --all) : alerte /payment 8h22–8h25 au TP 10, CSV ≈ 0,4 s / Parquet ≈ 0,15 s au TP 11.
  • out/modele_pourboire présent (TP 7) pour la démonstration du TP 11.
  • Quiz flash et atelier prêts.
  • Rappel Digiforma : QCM + satisfaction envoyés automatiquement à 16h.
HeureQuoiPoint de vigilance
9h00Météo, « Hier en 10 minutes »Qui n’a pas fini le TP 8 ? Annoncer le QCM de 16h
9h20Partie 1 : table non bornée, code, sources/sinks, Flume, DStreamsMontrer le simulateur en direct
9h55TP 9 (35 min)Schéma obligatoire ; shuffle.partitions = 4 ; un checkpoint par requête
10h30PauseArrêter requêtes et simulateurs
10h45Partie 2 : fenêtres, watermark, output modes, EncodersLe watermark est LA notion du jour : prendre le temps
11h10TP 10 (35 min) + partageRéussi si alerte /payment 8h22–8h25
11h52Quiz flash
12h00Émargement, déjeuner
13h00Partie 3 : Catalyst, Tungsten / AQE, ML sur fluxFaire lire PushedFilters / ReadSchema
13h25TP 11 (55 min) + partageLes deux plans montrent PushedFilters : la différence vient du format
14h45Pause (avancée de 15 min)Arrêter les requêtes de streaming
15h00Partie 4 : Deep Learning (10), SparkR (5), atelier (30), récap (15)Récap terminé à 16h00. En retard ? raccourcir l’atelier, jamais le récap
16h00QCM de validation + questionnaire de satisfaction (20 min)Remplir en parallèle le questionnaire intervenant
16h25Conclusion (tour de table)Noter les retours pour l’équipe pédagogique
16h50Émargement, merci, restons en contactFeuille complète pour les 3 jours
  • 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 (le T entre 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.