Que faire lorsque la complexité de vos applications dépasse votre capacité de calcul ? La solution consiste à distribuer les calculs sur un cluster constitué de plusieurs machines, mais faut-il pour cela avoir un supercalculateur dans son garage ? Non !
Aujourd’hui, le cluster computing est à la portée de tous grâce à MapReduce, qui permet de créer facilement des applications distribuées, et au cloud, qui fournit des ressources de calculs pratiquement infinies pour un coût modique.C’est le rôle des Data Architects de déployer des clusters de calculs permettant de réaliser des analyses complexes sur des données massives. Pour cela, nous verrons ensemble comment écrire des applications distribuées avec Hadoop MapReduce et Spark, éléments essentiels de la boîte à outil des Data Architects.
À l’issue de ce cours, vous serez en mesure de lancer des calculs distribués sur des clusters contenant des dizaines de machines à l’aide d’Amazon Web Services.Vous voulez faire du Big Data sans blabla ? Alors on y va !
Objectifs pédagogiques :Dans ce cours d’introduction au Big Data et au calcul distribué, vous allez apprendre à…Distribuer des calculs avec MapReduce.
Utiliser Spark pour distribuer des calculs sous forme de graphesFormaliser un problème sous forme distribuée en comprenant le concept de Resilient Distributed DatasetDéployer, administrer et débugger une plateforme de calcul distribué avec Amazon Web Services.
Intervenants
Régis Behmo
Expert en machine learning, développeur fullstack, grimpeur invétéré et gros, très gros amateur de nouilles chinoises.
Céline Hudelot
Professeur des Universités en Informatique à CentraleSupélec.
Durée
4 semaines
Vous pouvez vous inscrire à ce cours à n’importe quel moment de l’année… Le cours est disponible directement sur la plateforme OpenClassrooms 365 jours par an, 24/7, sur tous supports (PC, MAC, tablette, mobile).
Vous pouvez également choisir de suivre les cours selon un rythme prédéfini par la plateforme (1 semaine par partie) ou bien sans rythme, sans contrainte de temps et organiser vous-même une progression régulière..
Le rythme d’une semaine par partie permet un avancement régulier en fixant des dates limites sur le rendu des devoirs. L’avancement du cours sans rythme vous permet quant à lui une grande flexibilité, car vous pouvez réaliser vos exercices à tout moment.
Cette formation est ouverte toute l’année.
Prérequis
Prérequis
AlgorithmiqueEstimation et optimisation de complexité en temps et espace, notation asymptotique. Structures de données (listes, piles, files, ensembles, tas, arbres binaires de recherche, tables de hachage)Théorie des graphes (parcours, plus court chemin). Conception d’algorithmes (diviser pour régner, force brute)Programmation. Solides connaissances en programmation objet (Java, Scala, Python, Ruby, C++ ou autre). Structures de données. Notions de parallélisation. Ingénierie informatique. Solides connaissances de l’environnement UNIXGestion de la mémoire et des transferts de données. Connaissances élémentaires des réseaux
Charge de travail
20 heures au total
Coût
Gratuit
Certification
Vous devez compléter tous les exercices du cours et obtenir une note finale d’au moins 70% pour obtenir votre certification !
Un compte OpenClassrooms Premium Solo (20€ / mois) est nécessaire pour valider votre certification.
Déroulement
Chaque cours est composé d’une ou plusieurs parties et peut comporter du texte, des images (schéma, illustration) et des vidéos. Les vidéos des cours durent 10 minutes maximum, avec une moyenne de 3-4 minutes. Elles sont visualisables à tout moment sur OpenClassrooms et téléchargeables en haute définition.
Chaque partie d’un cours certifiant est ponctuée d’exercices de 2 types :
– des quiz corrigés automatiquement
– des devoirs libres (exemple : créer un site web avec des consignes précises).Ces devoirs sont évalués par les pairs. Chaque devoir est corrigé 3 fois par 3 autres élèves, dans un processus en double aveugle, selon un barème fixé par le professeur. La note finale est la moyenne des 3 notes reçues sur le devoir.
Si vous rencontrez des difficultés, pas de panique ! Vous pouvez à tout moment obtenir de l’aide sur les forums.
Programme
Partie 1 – Au fond, c’est quoi le Big Data ?
1. Prenez vos marques dans le monde du Big Data
2. Voyagez dans l’écosystème du Big Data
3. Initiez-vous au calcul distribué
Quiz : Quiz 1
Partie 2 – Réalisez des calculs massivement parallèles avec MapReduce
1. Divisez (et distribuez) pour régner
2. Parcourez les principaux algorithmes MapReduce
3. Familiarisez-vous avec Hadoop
Activité : Recréez le cœur de Google avec Hadoop : la pondération tf-idf et le PageRank
Partie 3 – Effectuez des calculs distribués sous forme de graphes avec Spark
1. Allez au-delà de MapReduce avec Spark
2. Prenez Spark en main
3. Domptez les Resilient Distributed Datasets
4. Mettez Spark au service des Data Scientists5. Apprenez à débugger une application Spark
Activité : Mettez en place une application Spark
Partie 4 – Passez à l’échelle dans le cloud
1. Découvrez Amazon Web Services2. Stockez des données sur S3
3. Déployez un cluster de calcul distribué
4. Réalisez la maintenance d’un cluster
Quiz : Quiz 4
Certificat de réussite
Plateforme
OpenClassrooms
Une technologie issue du projet Open Source CLAIRE (Community Learning through Adaptive and Interactive multichannel Resources for Education) développé conjointement par OpenClassrooms (ex : Simple IT / Site du zéro), le laboratoire LIRIS (équipe Silex), et INRIA Grenoble (équipe WAM)