Spark

Spark

Manipulez des volumes importants de données en un temps record 


Référence IBD-SPAR-F
Durée 3 jour(s)

Pour une session intra ou sur mesure

Demander un devis
Avancé Bases de données Science des données

Spark est le moteur de traitement de données Big Data le plus rapide puisqu’ il permet de diviser par 100 le temps d’exécution en maximisant le travail “in-memory”. Spark exploite les principes de programmation fonctionnelle afin d’optimiser l’empreinte mémoire nécessaire à son exécution. Conçu pour mettre en œuvre des traitements distribués, Spark peut s’appuyer sur plusieurs types de clusters.

Au terme de cette formation, vous saurez concevoir une application avec Spark, comprendre le principe de distribution des traitements ou encore positionner SparkML dans un contexte de Data Science !

Objectifs pédagogiques

Les objectifs pour un candidat ayant suivi cette formation sont :

  • Maîtriser les concepts fondamentaux de Spark.
  • Développer des applications avec Spark Streaming.
  • Mettre en œuvre un cluster Spark.
  • Exploiter les flux de données et l'apprentissage automatique.
  • Avoir une première approche du Machine Learning.

Public concerné

Développeurs, architectes système et responsables techniques qui veulent déployer des solutions Spark dans leur entreprise.

Prérequis

Maîtrise de la programmation orientée objet en Java ou en C#, connaissances en Big Data.

Programme de la formation

Le Big Data

  • Définition du périmètre du Big Data.
  • Le rôle du projet Hadoop.
  • Les concepts de base des projets Big Data.
  • Hadoop V1 s V2.
  • Les architectures Big Data à base du projet Hadoop.
  • Le Hadoop Distributed File System (HDFS).
  • Introduction aux données dans HDFS.
  • MapReduce Framework et YARN.

Spark 

  • Présentation d'Apache Spark
    • Historique du Framework.
    • Les différentes versions de Spark (Scala, Python et Java).
    • Comparaison avec l'environnement Apache Hadoop.
    • Les différents modules de Spark.
    • La Programmation fonctionnelle au sein de Spark.
  • Programmer avec les Resilient Distributed Dataset (RDD)
    • Présentation des RDD.
    • Créer, manipuler et réutiliser des RDD.
    • Accumulateurs et variables broadcastées.
    • Utiliser des partitions.
  • Agrégation des données avec les pair RDD
    • Key-value Pair RDD.
    • Map Reduce.
    • Autres opérations avec les Pair-RDD.
  • Ecrire et exécuter des applications Spark
    • Spark Shell versus Spark Application.
    • Création du Spark Context.
    • Construction d’un application Spark.
    • Lancement d’une application Spark.
    • Web UI relatives à Spark.
  • Configuration des applications Spark
    • Propriétés de configuration de Spark.
    • Gestion des log.
  • Exécution distribuée
    • Spark en exécution sur un cluster.
    • Partition des RDD.
    • Partition des RDD basés sur des fichiers.
    • “Data Locality” sur HDFS.
    • Exécution des opérations en parallèle.
  • Manipuler des données structurées avec Spark SQL
    • SQL, DataFrames et Datasets.
    • Les différents types de sources de données.
    • Interopérabilité avec les RDD.
    • Performance de Spark SQL.
    • Apache Spark SQL et le SQL Context.
    • Création des Dataframes.
    • Transformer et requêter un Dataframe.
    • Persister un Dataframe.
    • Dataframes et RDD.
  • SPARK STREAMING
    • tructured Streaming API.
    • StreamingContext.
    • Static et Dynamic Datasets.
    • Continuous Aggregations.
    • Encoders.
    • Analyse temps-réel d’un fichier de log (Real-Time Analytics).
    • Gagner en efficacité grâce à Catalyst Optimizer et Tungsten Engine.
    • Création d’agents, de sources, channel et sink.
    • Sérialisation avec Avro RPC.
  • SPARK ML Introduction au machine Learning (ML)
    • Apprentissage supervisé.
    • Apprentissage non-supervisé.
    • Clustering : KNN, K-mean.
    • Régression : Arbre de régression.
    • Classification : Random Forest, SVM, AUC, Courbe ROC.
    • SPARK ML – INTRODUCTION.
    • Pipelines : Transformer, Estimator, Model.
    • ML persistence.

Moyens pédagogiques

Travaux pratiques.