Formation Apache Spark Structured Streaming
| 2 090€ HT / personne |
| 3 jours (21 heures) |
Présentation
Apache Spark Structured Streaming permet de construire des pipelines de traitement de données en continu en s’appuyant sur les API DataFrame et SQL de Spark. Il permet de traiter, agréger et corréler des flux de données tout en bénéficiant des capacités de calcul distribué d’Apache Spark.
Notre formation Apache Spark Structured Streaming vous apprendra à concevoir des pipelines streaming robustes avec l’API moderne de Spark. Vous manipulerez les sources et sinks, les transformations, les agrégations et les différents modes de sortie avec PySpark.
Vous apprendrez à intégrer Apache Kafka à vos pipelines, à gérer les offsets et à traiter les données selon leur temps événementiel. Vous mettrez en œuvre le windowing, les watermarks et les jointures entre plusieurs flux afin de gérer les événements tardifs et les traitements temps réel complexes.
La formation aborde également le stateful processing, le checkpointing et la reprise après incident afin de construire des traitements fiables et tolérants aux pannes.
À l’issue de cette formation, vous serez capable de déployer, superviser et optimiser des pipelines Structured Streaming en production avec Spark UI, en maîtrisant le partitionnement, les performances et la gestion de l’état.
Comme toutes nos formations, celle-ci vous présentera la dernière version stable de la technologie Apache Spark Structured Streaming (4.0.1) et ses nouveautés.
Objectifs
- Construire des pipelines de données avec Spark Structured Streaming
- Transformer et agréger des flux avec les API DataFrame et Spark SQL
- Intégrer Apache Kafka comme source et destination des traitements
- Gérer le temps événementiel, les watermarks et les jointures entre flux
- Mettre en œuvre des traitements stateful et tolérants aux pannes
- Superviser et optimiser les pipelines Structured Streaming en production
Public visé
- Data Engineers
- Big Data Engineers
- Développeurs Spark
- Ingénieurs Data Platform
- Architectes Data
Pré-requis
- Bonnes connaissances d’Apache Spark, Spark SQL et des DataFrames
- Connaissances de Python ou Scala
- Connaissances de base en SQL
- Des notions d’Apache Kafka sont recommandées
- Connaissances de base d’un environnement Linux / Unix
Programme de notre formation Apache Spark Structured Streaming
[Jour 1 – Matin]
Comprendre Apache Spark Structured Streaming
- Rappels sur l’architecture d’Apache Spark : Driver, Executors, Jobs, Stages et Tasks
- Comprendre les différences entre traitements batch et streaming
- Découvrir le modèle micro-batch et le fonctionnement de Structured Streaming
- Comprendre l’évolution de l’ancienne API Spark Streaming / DStreams vers Structured Streaming
- Prendre en main SparkSession et les DataFrames streaming avec PySpark
- Atelier pratique : créer et exécuter une première requête Structured Streaming avec PySpark.
[Jour 1 – Après-midi]
Construire et transformer des flux avec Structured Streaming
- Créer des sources streaming avec readStream et DataStreamReader
- Écrire les résultats avec writeStream et DataStreamWriter vers des fichiers, tables ou traitements personnalisés
- Comprendre les Output Modes append, update et complete ainsi que les différents triggers
- Transformer, filtrer et enrichir les flux avec les API DataFrame et Spark SQL
- Réaliser des agrégations et utiliser foreachBatch pour intégrer des traitements personnalisés
- Atelier pratique : construire un pipeline combinant source, transformations, agrégations et différents modes de sortie.
[Jour 2 – Matin]
Intégrer Apache Kafka à Structured Streaming
- Comprendre les concepts Kafka : brokers, topics, partitions, offsets, producers et consumers
- Configurer Kafka comme source d’un pipeline Spark Structured Streaming
- Lire, désérialiser et transformer les messages provenant des topics Kafka
- Utiliser Kafka comme sink et publier les résultats des traitements streaming
- Comprendre la gestion des offsets, les garanties de traitement et les principes de reprise après incident
- Atelier pratique : construire et tester un pipeline Kafka → Spark Structured Streaming → sink.
[Jour 2 – Après-midi]
Gérer le temps événementiel et corréler les flux
- Distinguer event time et processing time et comprendre leur impact sur les traitements
- Créer des fenêtres temporelles avec le windowing tumbling et sliding
- Gérer les données arrivant en retard avec les watermarks
- Enrichir un flux avec des données statiques grâce aux stream-static joins
- Corréler plusieurs flux avec les stream-stream joins et maîtriser la conservation de l’état
- Atelier pratique : corréler des flux Kafka avec windowing, watermark et jointure stream-stream en prenant en compte les événements tardifs.
[Jour 3 – Matin]
Gérer l’état et assurer la tolérance aux pannes
- Comprendre les principes du stateful processing et le fonctionnement du State Store
- Gérer l’état, les clés et les mécanismes de timeout des traitements streaming
- Maîtriser la croissance de l’état avec les watermarks et les stratégies d’expiration
- Configurer le checkpointing et restaurer une requête après une interruption
- Gérer les offsets, les risques de doublons et concevoir des traitements idempotents
- Atelier pratique : construire un traitement stateful, provoquer une interruption puis vérifier sa reprise depuis un checkpoint.
[Jour 3 – Après-midi]
Superviser et optimiser les pipelines en production
- Superviser les requêtes avec Spark UI et les métriques Structured Streaming
- Analyser la progression des requêtes, les temps de traitement, le débit et le backlog
- Optimiser le partitionnement, les shuffles et la taille des micro-batches
- Surveiller et optimiser le State Store et les traitements stateful
- Diagnostiquer les problèmes de performance et adapter les ressources aux volumes traités
- Atelier pratique : analyser un pipeline streaming sous charge, identifier ses goulots d’étranglement et appliquer les optimisations adaptées.
Pour aller plus loin
Formation Spark Tuning Avancé
Formation Spark et Machine Learning
Formation Kafka
Formation Kibana
Formation MongoDB
Formation PostgreSQL
Langues et Lieux disponibles
Langues
- Français
- Anglais / English
Lieux
-
France entière
- Paris
- Lille
- Reims
- Lyon
- Toulouse
- Bordeaux
- Montpellier
- Nice
- Sophia Antipolis
- Marseille
- Aix-en-Provence
- Nantes
- Rennes
- Strasbourg
- Grenoble
- Dijon
- Tours
- Saint-Étienne
- Toulon
- Angers
-
Belgique
- Bruxelles
- Liège
-
Suisse
- Genève
- Zurich
- Lausanne
-
Luxembourg
Nos Formateurs Référents

Walid
Data et software engineer, Lead développeur Java / Scala, passionné par la data et les architectures distribués. Je m’intéresse particulièrement aux sujets suivants :
- La programmation fonctionnelle / asynchrone réactive (Scala, Akka, Rx)
- Les architectures distribuées et BigData (Spark, Hadoop, Kafka)
- Machine Learning(SparkML, Scikit-learn, Deep Learning)
- DevOps(Ansible, Docker, Cloud, Aws, Jenkins, CI/DC )
- JVM(Profiling, Tuning GC)
Témoignages
Je recommande la formation
Afficher tous les témoignages
Je recommande la formation
formateur très pointu/compétent, nombreux retours d’expérience, et qualité des détails techniques
le formateur ne guide pas assez les utilisateurs au départ (pas de correction au fur et a mesure) / les supports pourraient être plus complets / riche / précis… bien que tout ceci soit largement compensé à la moindre question posée ou problème rencontré.
l’outil en ligne remplaçant le tableau blanc n’est visiblement pas pratique à utiliser avec une souris… offrir une tablette graphique au formateur serait clairement utile pour la lisibilité ! 🙂
Les connaissances générales du formateur
Quelques redondances dans la partie readStream et writeStream
Je recommande la formation
exercices pratiques
spark ui manipulation
partie kafka bien detaile
setup machine / ide / etc. un peu rapide pour un neophyte.
solutions aux exercices entre chaque exercice seraient utile pour valider son propre dev.
tuning advance difficile a comprendre suivant son niveau en spark.
n/a
Merci au formateur malgres les contraintes remotes.
Tres bonne adaptation a nos questions / problematiques
Preparation des exercices, pas de distribution des correction au fur et a mesure. je pense que certains etudiants ont eu beaucoup de mal a suivre au fur et a mesure… Distribution des supports au fur et a mesure…. difficultes de prises de notes sans support
De la theorie que l’on a bien applique avec les TDs
De ne pas avoir pu etre en presentiel
Aussi bien dans une salle la formation doit être bien, mais en remote avec gotomeeting, ça fait un peu brouillon : les explications au crayon sur des slides déjà remplis deviennent vite illisibles
le fait que chacun partage son écran en cas de problème fait perdre beaucoup de temps au final les solutions ne sont pas envoyées au fil de la formation.
Réponse d'Ambient IT
Bonjour Christophe,
Nous vous remercions d’avoir pris le temps de rédiger ce commentaire concernant la formation Spark Streaming.
Les circonstances actuelles nous obligeant à former en distanciel, impactent la qualité de nos formations.
Notre équipe travaille activement pour proposer une expérience digitale aussi qualitative qu’en présentiel.
tres bon environment pour les travaux pratiques. travaux pratiques tres adaptes.
Bon adaptation de la formation a notre demande d’agenda.
Merci !
(il reste juste une question en suspend a propos des aggregations faites dans les windows, et l’utilisation du watermark par rapport au windowing)
Noter la formation
| 2 090€ HT / personne |
| 3 jours (21 heures) |
UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?
Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.
ILS SE SONT FORMÉS CHEZ NOUS

