Formation SPARK - Mise en oeuvre des traitements Big Data avec Spark
Objectifs
- Pouvoir comprendre le fonctionnement de Spark et son utilisation dans un environnement Hadoop
- Savoir intégrer Spark dans un environnement Hadoop
- Comprendre comment traiter des données Cassandra, HBase, Kafka, Flume, Sqoop et S3
Public
- Chefs de projet
- Data Scientists
- Développeurs
Prérequis
- Connaissance de Java ou Python
- Avoir suivi le séminaire "Hadoop - Présentation de l'écosystème" (SEM35) ou avoir des bases Hadoop
- Notions de calculs statistiques
Programme
Introduction
- Présentation de Spark, origine du projet
- Apports et principes de fonctionnement
- Langages supportés
Premiers pas
- Utilisation du shell Spark avec Scala ou Python
- Modes de fonctionnement
- Interprété, compilé
- Utilisation des outils de construction
- Gestion des versions de bibliothèques
Règles de développement
- Mise en pratique en Java, Scala et Python
- Notion de contexte Spark
- Différentes méthodes de création des RDD : depuis un fichier texte, un stockage externe
- Manipulations sur les RDD (Resilient Distributed Dataset)
- Fonctions, gestion de la persistance
Cluster
- Différents cluster managers : Spark en autonome, avec Mesos, avec Yarn, avec Amazon EC2
- Architecture : SparkContext, Cluster Manager, Executor sur chaque noeud
- Définitions : Driver program, Cluster manager, deploy mode, Executor, Task, Job
- Mise en oeuvre avec Spark et Amazon EC2
- Soumission de jobs, supervision depuis l'interface web
Traitements
- Lecture/écriture de données : Texte, JSon, Parquet, HDFS, fichiers séquentiels
- Jointures
- Filtrage de données, enrichissement
- Calculs distribués de base
- Introduction aux traitements de données avec map/reduce
- Travail sur les RDDs
- Transformations et actions
- Lazy execution
- Impact du shuffle sur les performances
- RDD de base, key-pair RDDs
- Variables partagées : accumulateurs et variables broadcast
Intégration Hadoop
- Présentation de l'écosystème Hadoop de base : HDFS/Yarn
- Travaux pratiques avec YARN
- Création et exploitation d'un cluster Spark/YARN
- Intégration de données sqoop, kafka, flume vers une architecture Hadoop
- Intégration de données AWS S3
Support Cassandra
- Description rapide de l'architecture Cassandra
- Mise en oeuvre depuis Spark
- Exécution de travaux Spark s'appuyant sur une grappe Cassandra
DataFrames
- Spark et SQL
- Objectifs : traitement de données structurées
- L'API Dataset et DataFrames
- Optimisation des requêtes
- Mise en oeuvre des Dataframes et DataSet
- Comptabilité Hive
- Travaux pratiques : extraction, modification de données dans une base distribuée
- Collections de données distribuées
- Exemples
Streaming
- Objectifs , principe de fonctionnement : stream processing
- Source de données : HDFS, Flume, Kafka, …
- Notion de Streaming
- Contexte, DStreams, démonstrations
- Traitement de flux DStreams en Scala
Machine Learning
- Fonctionnalités : Machine Learning avec Spark, algorithmes standards, gestion de la persistance, statistiques
- Support de RDD
- Mise en oeuvre avec les DataFrames
Spark GraphX
- Fourniture d'algorithmes, d'opérateurs simples pour des calculs statistiques sur les graphes
- Exemples d'opérations sur les graphes
Moyens et Méthodes Pédagogiques
- La formation est constituée d’apports théoriques, d’exercices pratiques et de réflexions
- Un poste par stagiaire
- Formateur Expert
- Remise d’une documentation pédagogique papier ou numérique pendant le stage
Validation des acquis
- Auto évaluation des acquis par le stagiaire via un questionnaire en fin de formation
- Attestation de fin de stage remise avec la facture