Aller au contenu principal

AJC FORMATION : 11. Spark, développer des applications pour le Big Data

Durée

21 heures

Modalités

Formation
  • Classe virtuelle
  • Présentiel
Évaluation

Evaluation des acquis : Les apprenants réalisent tout au long de la formation des exercices, QCM, mises en situation, TP, TD qui seront corrigés pour faciliter l’acquisition de compétences

Prix

Inter
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
1058.4€ HT / personne
Intra
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
4662€ HT / groupe
4 stagiaires minimum

Public

Chefs de projet, Data Scientists, Développeurs, Architectes…

Pré-requis

Avoir des connaissances de Java ou Python et des notions de calculs statistiques

Objectifs pédagogiques

Maîtriser les concepts fondamentaux de Spark

Savoir intégrer Spark dans un environnement Hadoop

Développer des applications d’analyse en temps réel avec Spark Streaming

Faire de la programmation parallèle avec Spark sur un cluster

Manipuler des données avec Spark SQL

Avoir une première approche du Machine Learning

Programme détaillé

Introduction et motivations pour Apache Spark

▪ L’écosystème Spark

▪ Spark vs. Hadoop

▪ Obtenir et installer Spark

▪ La console Spark, et SparkContext

Travaux pratiques :

▪ 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êtesSQL (Spark SQL)

 

Comparaison entre les DataSets, DataFrames et RDDs

Travaux pratiques :

▪ 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’accumulateur

 

Recommandations globales de performances

▪ L’interface Spark UI

▪ Les transformations efficaces

▪ Stockage de données

▪ Monitoring

 

Travaux pratiques :

▪ 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"

– Traitement du Stream

Travaux pratiques :

▪ Déclencher des jobs Spark

▪ Capacités additionnelles de Spark

▪ Spark Streaming

▪ Spark Structured Streaming

▪ Spark Structured Streaming avec Kafka

 

 

Sessions

Filtrer les résultats
Modalités pédagogiques
Formation synchrone se déroulant avec la présence physique du (des) formateur(s) et du (des) apprenant(s) réunis dans un même lieu de formation.
Formation combinant des séquences en présentiel et des séquences à distance synchrones ou asynchrones.
Formation à distance, asynchrone, s’appuyant sur une plateforme d’apprentissage, pouvant être complétée par d’autres modalités de formation à distance (visio-conférence…)
Formation à distance, synchrone, s’appuyant sur un dispositif de visio-conférence. La classe virtuelle recrée à distance les conditions d’une formation en salle traditionnelle.
Type de formation
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
Options
Les compétences professionnelles visées par la formation sont validées via un test permettant d’obtenir une certification officielle.
Ces sessions ne peuvent être ni annulées ni reportées par l’organisme de formation.