Big Data avec Spark (3 jours)

Objectifs

3 jours de formation sur Spark afin d'explorer toutes les possibilités qu'offre ce nouveau framework, notamment lorsqu'il est couplé avec Cassandra.La formation comprend plus 50% de Tps basé en Scala.

Contenu de la formation

1 - Présentation d’Apache Spark

  • Objectif du framework et cas d’utilisation
  • Histoire du framework
  • Proximité avec Hadoop et comparaison
  • Les différents modules de Spark
  • Intégration dans l’écosystème
  • Initiation au MapReduce

2 - Les bases en Scala

  • Pourquoi utiliser Scala pour écrire des applications Spark
  • Déclaration de variables, de méthodes et de classes
  • Lambda expressions
  • Pattern matching

3 - L’API de Spark

    • La notion de Resilient Distributed Dataset (RDD)
    • Construction de RDD : les sources existantes
    • Transformation de RDD : les opérations possibles
    • Actions finales sur un RDD
    • Les partitions : valeurs par défaut et réglages
    • Réutilisation de RDD : cache sur disque ou un mémoire
    • Accumulateurs et variables broadcastées
 
  • Travaux pratiques :
    • Mise en pratique de l’API des RDD

4 - Spark SQL & DataFrames

    • Principe de fonctionnement
    • DataFrames
    • Création de DataFrames depuis un RDD ou via un reader
    • Requêtage en SQL
    • Réutilisation de DataFrames
 
  • Travaux pratiques :
    • Mise en pratique de l’API des DataFrames
    • Exploration de données avec Spark SQL

5 - Spark en cluster

    • Topologie et terminologie
    • Types d’hébergement possibles : Yarn, Mesos, Standalone
    • Principe de Data Locality
    • Déployer ses traitements et son stockage de manière appropriée
    • Choix du matériel : recommandations
 
  • Travaux pratiques :
    • Mise en cluster de Spark
    • Mise en pratique avec HDFS
    • Tests de résilience

6 - Spark et Cassandra

    • Lecture de tables Cassandra complètes
    • Requêtage via CQL
    • Mapping objet des résultats
    • Écriture de RDD et DataFrames dans Cassandra
    • Connecteur Cassandra et Data Locality
    • Spark dans DSE (DataStax Enterprise)
 
  • Travaux pratiques :
    • Chargement d’une base Cassandra à partir de fichiers
    • Requêtage d’une base Cassandra et dénormalisation des données

7 - Spark ML (et MLlib)

    • Introduction au Machine Learning
    • Les différentes classes d’algorithmes de ML
    • Introduction au workflow typique de ML : data cleansing, feature engineering...
    • Les algorithmes présents dans Spark ML et MLlib
    • Utilisation de l’API de Spark ML et MLlib
 
  • Travaux pratiques :
    • Feature engineering
    • Classification en utilisant l’algorithme de Random Forests
    • Cross-validation

8 - Spark Streaming

    • Principe de fonctionnement
    • Notion de DStream
    • Opérations par “fenêtres glissantes”
    • API de streaming
    • Garantie de livraison des messages
    • Comparaison avec Storm et Storm Trident
 
  • Travaux pratiques :
    • Consommation de tweets et processing en streaming
 Note : les TP seront faits en Scala 

Support de formation