Recherche avancée
Par formation
Par date
Par ville
logo HUB Formation
Organisme de Formation
aux Technologies et métiers de L'informatique
La pédagogie au service de la technologie
> > > Mise en oeuvre des traitements Big Data avec Spark

Mise en oeuvre des traitements Big Data avec Spark

Mettre en oeuvre Spark pour optimiser des calculs

L’essor du Big Data a considérablement fait évoluer l’écosystème Hadoop, à l’origine principalement constitué de HDFS et MapReduce. Parmi les nouveaux outils qui gravitent autour d’Hadoop, Apache Spark, framework dédié au traitement et à l’analyse de données massives, a particulièrement attiré l’attention à tel point que quelques mois après sa mise à disposition sur la marché, les fournisseurs de solutions Hadoop l’ont intégré à leurs distributions. S’il rencontre un franc succès, c’est bien que Spark se pose en alternative crédible à MapReduce dont la mise en oeuvre est parfois lourde. En effet, contrairement à MapReduce, Spark propose un framework complet et unifié pour répondre aux besoins de traitements de données hétérogènes tout en permettant aux applications Hadoop d’être exécutées beaucoup plus rapidement.

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"  ou avoir des bases Hadoop
  • Notions de calculs statistiques

Programme de la formation

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

Les plus de cette formation

  • Une formation qui accorde une large place à la pratique : de nombreux exercices seront réalisés tout au long de la formation.
  • Les retours d'expérience et conseils de consultants experts du domaine.