Aller au contenu
Data Analytics, Data Visualization et BI

Développer des traitements Big Data avec Apache Spark (Java & Python)

Développez des applications Big Data performantes avec Apache Spark (Java ou Python) pour traiter, transformer et analyser de grands volumes de données en temps réel ou batch.

Intermédiaire
Blended

Description de la formation

Introduction à Spark et aux architectures Big Data

  • Comparatif Spark vs Hadoop (MapReduce)
  • Versions disponibles (Java, Scala, Python) – introduction à PySpark
  • Cas d’usage typiques : log, IoT, ETL, IA, BI, temps réel

Programmation avec Spark RDD

  • Rappels sur les concepts de résilience, partitionnement, persistance
  • Manipulation des RDD (transformations, actions)
  • Broadcast, Accumulateurs, gestion de la mémoire
  • Travaux pratiques en Java (et introduction à équivalent PySpark)

Spark SQL et DataFrames

  • Schéma, Datasets, DataFrames : différences et usages
  • Connexion à des sources structurées : CSV, JSON, JDBC, Hive
  • Écriture de requêtes SQL sur DataFrames
  • Optimisation avec Catalyst & Tungsten

Déploiement sur cluster

  • Architecture Spark : Standalone, YARN, Mesos
  • Installation mono-node & multi-node (simulation Docker possible)
  • spark-submit, gestion des dépendances, logs
  • Monitoring avec Spark UI

Traitement en temps réel avec Spark Streaming

  • DStreams & micro-batch
  • Connexion à Kafka, sockets, fichiers live
  • Fenêtrage, état, logique métier temps réel
  • Comparatif avec Structured Streaming (v2)

Machine Learning avec MLlib

  • Présentation des algorithmes disponibles
  • Pipelines de transformation, évaluation, tuning
  • Régression, classification, clustering
  • Atelier : mini-projet de modélisation ML sur Spark

(Optionnel) PySpark

  • API Python pour Spark
  • Similitudes et différences avec l’API Java
  • Atelier : transformation et agrégation de données en PySpark

Objectifs pédagogiques

  • Comprendre les principes de traitement distribué avec Apache Spark
  • Développer des applications batch et temps réel avec Spark Core et Spark Streaming
  • Manipuler des données structurées avec Spark SQL
  • Découvrir Spark MLlib pour les traitements analytiques avancés
  • Mettre en œuvre un cluster Spark et déployer des jobs

Programme détaillé

Module 1 Introduction à Spark et aux architectures Big Data
  • Comparatif Spark vs Hadoop (MapReduce)
  • Versions disponibles (Java, Scala, Python) – introduction à PySpark
  • Cas d’usage typiques : log, IoT, ETL, IA, BI, temps réel
Module 2 Programmation avec Spark RDD
  • Rappels sur les concepts de résilience, partitionnement, persistance
  • Manipulation des RDD (transformations, actions)
  • Broadcast, Accumulateurs, gestion de la mémoire
  • Travaux pratiques en Java (et introduction à équivalent PySpark)
Module 3 Spark SQL et DataFrames
  • Schéma, Datasets, DataFrames : différences et usages
  • Connexion à des sources structurées : CSV, JSON, JDBC, Hive
  • Écriture de requêtes SQL sur DataFrames
  • Optimisation avec Catalyst & Tungsten
Module 4 Déploiement sur cluster
  • Architecture Spark : Standalone, YARN, Mesos
  • Installation mono-node & multi-node (simulation Docker possible)
  • spark-submit, gestion des dépendances, logs
  • Monitoring avec Spark UI
Module 5 Traitement en temps réel avec Spark Streaming
  • DStreams & micro-batch
  • Connexion à Kafka, sockets, fichiers live
  • Fenêtrage, état, logique métier temps réel
  • Comparatif avec Structured Streaming (v2)
Module 6 Machine Learning avec MLlib
  • Présentation des algorithmes disponibles
  • Pipelines de transformation, évaluation, tuning
  • Régression, classification, clustering
  • Atelier : mini-projet de modélisation ML sur Spark
Module 7 (Optionnel) PySpark
  • API Python pour Spark
  • Similitudes et différences avec l’API Java
  • Atelier : transformation et agrégation de données en PySpark

Prérequis

  • Bonne maîtrise du langage Java (ou Python si volet PySpark activé)
  • Notions de Big Data et de bases de données

Public visé

  • Développeurs, data engineers, architectes techniques, chefs de projets Big Data

Modalités de la formation

  • 📍 Format : Mixte (présentiel + distanciel)
  • 📊 Niveau d'entrée : Intermédiaire
  • 👥 Effectif : 4 à 12 stagiaires (groupe restreint)
  • 🎯 Pédagogie : Apports théoriques, exercices pratiques, études de cas, projet fil rouge
  • ♿ Accessibilité : Formations accessibles aux personnes en situation de handicap. Contactez notre référent handicap.