PLB CONSULTANT : 11. Spark, développer des applications pour le Big Data
Organisme
92300 LEVALLOIS PERRETVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Travaux pratiques. QCM en cours et en fin de formation. Auto-évaluation en début et en fin de formation.
Prix
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é
Jour 1
Introduction à Hadoop et son ecosystème
Introduction générale à hadoop
La place de mapreduce
Le traitement de données avec Hadoop
Les composants d’un cluster Hadoop
Un système de fichiers distribué (HDFS)
Traitement distribué sur un cluster Hadoop (mapreduce)
Travailler avec Yarn
En quoi Spark complète-t-il Hadoop ?
Travaux Pratiques
Manipulation de fichiers HDFS pour prendre en main l’environnement Hadoop
Exemples de traitement avec mapreduce pour introduire concrètement Spark Streaming
Architecture de Spark
Un framework offrant de nombreux services…
… mais pas de stockage (Hadoop, AWS S3, Cassandra, MongoDB, etc.)
Rôle du coeur de Spark (moteur)
RDD, la couche d’abstraction des données (Resilient Distributed Datasets)
Accéder aux données avec Spark SQL
Traiter les données en pseudo temps réel avec Spark Streaming
Développer des applications distribuées de machine learning (Spark MLib)
Quels liens entre Spark et les langages de programmation (Java, Python, R…) ?
Manipuler les graphes avec GraphX
Limites de Spark
Travaux Pratiques
Quizz sur le rôle des composants du framework Spark, leurs fonctionnements, et leurs complémentarités
Premiers pas avec la console Spark (scripts simples permettant de manipuler par l’exemple les concepts présentés dans ce chapitre)
Les RDD, structures fondamentales de Spark
Introduction aux RDD
Les sources de données de RDD
Créer et sauvegarder des RDD
Les opérations sur les RDD
Écrire et passer des fonctions de transformation Fonctionnement des transformations de Spark
Les RDD clé-valeur
Map-Reduce : principe et usage dans Spark
Autres opérations sur les RDD de paires
Exécuter des requêtes SQL (Spark SQL)
Interopérabilité avec les RDD
Travaux Pratiques
Transformer les données avec des RDD
Agrégation de données avec les RDD de paires
Soumissions de travaux
Exécution de requêtes SQL
Quiz de validation des acquis de la journée
Jour 2
Manipuler les données avec les Dataframe et Datasets
Créer des DataFrames depuis diverses sources de données
Les schémas des DataFrames
Afficher le Dataframe en mode texte (take)
Visualiser graphiquement le DataFrame (display)
Sauvegarder des DataFrames
Requêter des DataFrames avec des expressions sur les colonnes nommées
Les requêtes de groupement et d’aggrégation
Les jointures
Les différences entre Datasets et DataFrames
Créer des Datasets
Charger et sauvegarder des Datasets
Les opérations sur les Datasets
Conversion entre RDD et DataFrames
Travaux Pratiques
Synthèse RDD, DataSet, Dataframe :
Analyse du fonctionnement de Spark dans l’exécution de nos requêtes d’extraction de données
Création de dataframe à partir de fichiers CSV et Json, affichage et visualisation
Créer explicitement un DataFrame à partir de RDD
Manipuler des dataframe avec SQL catalyst
Écriture de requêtes SQL
Manipulations de Datasets
Quiz de validation des acquisde la journée
Machine learning avec Spark
Introduction au machine learning
Les différentes classes d'algorithmes
Présentation de SparkML et MLlib
Implémentations des différents algorithmes dans MLlib
Travaux pratiques
Mise en oeuvre d’apprentissage supervisé au travers d’une classification
Quiz de validation des acquis de la journée
Jour 3
Analyser en temps réel avec Spark Streaming
Comprendre l’architecture du streaming
Présentation des Discretized Streams (DStreams)
Les différents types de sources
Manipulation de l'API (agrégations, watermarking...)
Machine Learning en temps réel
Travaux pratiques
Création de statistiques en temps réel à partir d’une source de données et prédictions à l’aide du machine learning vu dans le TP précédent.
Écriture d'une application compilée
Écrire, configurer et lancer des applications spark
Écrire une application Spark
Compiler et lancer une application
Le mode de déploiement d’une application
L’interface utilisateur web des applications Spark
Configurer les propriétés d’une application
Travaux pratiques
Déploiement d’une application Spark