En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de cookies pour vous proposer des services et offres adaptés à vos centres d’intérêts.
Pour en savoir plus et paramétrer les cookies, suivez ce lien
Développeur de compétences
  •  
  •  
  •  

Développement d'applications avec Spark


  • Objectifs
  • Profils
  • Pré-requis
  • Moyens pédagogiques
  • Certificat / Attestation
  • Appréhender le fonctionnement et l'architecture de Spark
  • Développer des applications avec Apache Spark
  • Optimiser une application Spark
  • Utiliser Spark SQL, les dataframes et les datasets
  • Faire de l'analyse en temps
  • réel avec Spark streaming
Trouvez votre prochaine formation

Programme

  • 9 Jours, 63h
  • 5295 HT *
    Introduction et motivations pour Apache Spark
    • L’écosystème Spark
    • Spark vs. Hadoop
    • Obtenir et installer Spark
    • La console Spark, et SparkContex

    Mise en pratique
    • Mettre en place l’environnement de lab
    • Démarrer l’interpréteur Scala
    • Premiers pas avec Apache Spark
    • Premiers pas avec la console Spark

    Introduction des RDDs
    • Les concepts de RDD, de cycle de
    • vie, et de  l’évaluation paresseuse.
    • Travailler avec des RDDs : création  et transformations (map, filter, etc.)
    • Partitionnement et transformation  des RDDs
    • Transformations avancées (flatMap,  explode, et split)

    Introduction des DataFrames et Datasets
    • Le concept de SparkSession
    • Création et inférence de schéma
    • Identification des formats supportés  (dont JSON, CSV, Parquet, Text ...)
    • Travailler avec l’API DataFrame
    • Travailler avec l’API DataSet
    • Transformations via des requêtes  SQL (Spark SQL)

    Comparaison entre les DataSets, DataFrames et RDDS
    Mise en pratique
    • Les bases des RDD
    • Opérations sur de multiples RDDs
    • Les formats de données
    • Les bases de  Spark SQL
    • Transformation de DataFrames
    • L’API typée des DataSets
    • Fractionner les données

    Optimisations

     

    • Shuffling, dépendances larges et  étroites, et leur impact sur la  performance
    • L’optimiseur de requêtes Catalyst
    • L’optimiseur Spark Tungsten (format binaire, gestion du cache…)
    • Le caching Spark (concept, type de  cache, recommandations)
    • Minimiser le shuffling pour  améliorer la performance
    • Utilisation de  la diffusion de
    • variables et de l’accumulateu

    Recommandations globales des performances
    • L’interface Spark UI
    • Les transformations efficaces
    • Stockage de données
    • Monitoring

    Mise en pratique
    • Comprendre le Shuffling
    • Explorer l’optimiseur de requête
    • Catalyst
    • Explorer l’optimiseur Tungsten
    • Travailler avec la mise en cache, le  shuffling et la diffusion de variables
    • Recommandations générales sur le  broadcast

    Les applications Spark
    • Configurer et créer une  SparkSession
    • Construire et lancer des applications
    • Cycle de vie des applications (Driver,  Executors, et Tasks)
    • Les modes d’executions  (Standalone, YARN, Mesos)
    • Logging et Debugging

    Introduction au temps réel
    • Spark Streaming (Spark 1.0+)
    • *DStreams, Receivers, Batching
    • *transformations Stateless
    • *Transformations Windowed
    • *Transformations Stateful
    • Structured Streaming (Spark 2+)
    • *Applications en continue
    • *Le paradigme de Table, et de  Result Tables
    • *Les étapes du structured  streaming
    • *Les sources et puits
    • *Introduction de Kafka
    • *Consommer des données Kafka
    • *Le Structured Streaming au format  "kafka"
    • 3Traitement du Stream

    Mise en pratique
    • Déclencher des jobs Spark
    • Capacités additionnelles de Spark
    • Spark Streaming
    • Spark Structured Streaming
    • Spark Structured Streaming avec  Kafka

* La durée et le prix de la formation sont donnés à titre indicatif pour une inscription en inter-entreprises. Toute demande intra-entreprise fait systématiquement l’objet d’un devis sur-mesure devant être approuvé pour acceptation.