F3B308A : Architecture Big Data


Retour
Imprimer la fiche programme
Code analytique: EDF03B308
Responsable  : Laurent LECORNU
Co-responsable  : Cécile BOTHOREL
   
Programmé en UVF3B308

Présentation :

Le module "Architecture Big Data" est un module informatique. Ce module est axé sur la mise en place d'un Cluster Big Data à partir de Raspberry Pi 3 : branchement du cluster, configuration, et initiation au système de fichiers réparti HDFS avec un focus sur l'architecture technique et logicielle. Puis vient l'utilisation du Cluster pour des calculs de type Wordcount (mais pas seulement), en Map Reduce essentiellement, sans oublier le monitoring de processus et l'évaluation de performances.

Le fil conducteur de cet enseignement est de comprendre l'architecture d'un cluster big data et la philosophie de programmation fonctionnelle exploitant la parallélisation horizontale. Tout algorithme n'est en effet pas parallélisable en utilisant des structures de données clé/valeur ; l'objectif du module (et plus globalement de l'UV) est ainsi de faire la part des choses sur l'usage de cluster Hadoop à bon escient.


Objectifs pédagogiques :


  • Configuration d'un cluster Hadoop
  • Manipulation du système de fichiers HDFS
  • Monitoring de processus distribués
  • Développement en Python selon le patron de programmation MapReduce
  • Mesure de performances
  • Déploiement sur un cluster Big Data opérationnel
  • Initiation au développement sur le framework Open Source Apache Spark

Pré-requis :

Commandes de base Linux (cd, ls, chmod, mkdir, etc.)

Volume horaire : 18h


Contenu détaillé :

Après une introduction à l'écosystème Hadoop, la première partie du module concerne la construction d'un cluster à partir de Rapsberry Pi nus. Les machines seront données avec le système d'exploitation Raspbian installé et SSH configuré ; les archives des logiciels Hadoop auront été pré-téléchargées et stockés en ZIP dans un répertoire des SD cards de façon à gagner le temps de téléchargement).

Les manipulations du système seront agrémentées de cours expliquant l'architecture matérielle et logicielle.

Une fois l'architecture mise en place, les étudiants manipuleront le système de fichier HDFS et le patron d'architecture Map Reduce inventé par Google, dans lequel sont effectués des calculs parallèles, et souvent distribués, de données potentiellement très volumineuses. Ils concevront des jobs de traitement de données en Map/Reduce et développeront des programmes Map Reduce simples en Python sur leur cluster de Raspberry Pi.

Là encore, des cours viendront expliciter de manière fine les processus, les flux de données, les rôles des nodes mis en jeu lors de chaque étape.

Une séance sera consacrée à la mise en commun des Raspberry Pi pour former un plus gros cluster et en mesurer les performances.

Enfin, un cours introduira la manipulation d'un environnement Big Data opérationnel, la plate-forme Teralab. Ce cours sera l'occasion de s'initer à la programmation sous Apache Spark, le framework open source de calcul distribué, qui contrairement à Map Reduce, exploite la mémoire vive des noeuds du cluster et voit ainsi ses performances améliorées pour certains types de calcul.

La plateforme Teralab est un « Projet d’Investissement d’Avenir » (PIA) lauréat de l’appel à projet Big Data de 2012. La plate-forme est portée par l'Institut Mines Telecom et le GENES et a pour ambition d’accélérer la recherche et l’innovation dans le domaine numérique des données massives (Big Data), et de préparer les talents aux métiers de demain. La filière F3B dispose d'un espace dédié à ses enseignements ; c'est cette plate-forme qui sera également utilisée lors du projet de l'UV.


Année 2016/2017
Dernière mise à jour le 13-JUL-16
Validation par le responsable de programme le


IMT Atlantique
Campus de Brest
Technopôle Brest-Iroise
CS 83818
29238 Brest Cedex 3
France

Tél  +33 (0)2 29 00 11 11
Fax +33 (0)2 29 00 10 00