Premier semestre

IT Tools 1 (Hadoop and Cloud Computing)

Objectifs

A la fin des cours, l’étudiant réalisera le potentiel du Big Data et connaîtra les principaux outils pour traiter ce tsunami de données à grande échelle. En particulier, les étudiants comprendront les principales caractéristiques du modèle de programmation MapReduce et de son implémentation open-source Hadoop, et seront capables d’utiliser Hadoop et de le tester en utilisant différentes configurations.

Les volumes de données ne cessent de croître, pour un large spectre d’applications allant des applications traditionnelles de bases de données, des simulations scientifiques aux applications émergentes incluant le Web 2.0 et les réseaux sociaux en ligne. Pour faire face à ce poids supplémentaire des Big Data, nous avons récemment assisté à un changement de paradigme dans l’infrastructure informatique grâce à l’informatique en nuage (Cloud Computing) et dans la manière dont les données sont traitées grâce au modèle MapReduce. D’abord promu par Google, MapReduce est devenu, grâce à la popularité de son implémentation open-source Hadoop, le paradigme de programmation de facto pour le traitement des Big Data dans les infrastructures à grande échelle. D’autre part, l’informatique en nuage (cloud computing) continue d’agir comme une infrastructure de premier plan pour les applications Big Data.

L’objectif de ce cours est de donner une brève introduction à l’informatique en nuage : définitions, types de nuages (IaaS/PaaS/Saas, public/privé/hybride), défis, applications, principaux acteurs de l’informatique en nuage (Amazon, Microsoft Azure, Google, etc.), et technologies de l’informatique en nuage (virtualisation). Nous explorerons ensuite les modèles de traitement des données et les outils utilisés pour traiter les Big Data dans les nuages, tels que MapReduce et Hadoop. Nous présenterons une vue d’ensemble du Big Data, y compris les définitions, la source du Big Data et les principaux défis posés par le Big Data. Nous aborderons ensuite les systèmes de fichiers distribués. Nous présenterons ensuite le modèle de programmation MapReduce comme un modèle de programmation important pour le traitement des Big Data dans le Cloud. L’écosystème Hadoop et certaines de ses principales caractéristiques seront ensuite abordés.

Plan

Tout au long du cours, nous aborderons les sujets suivants :

– Cloud Computing : définitions, types, défis, technologies habilitantes et exemples (2.25 hrs)
– Big Data : définitions, la source du Big Data, les défis (1.5 hrs)
– Le système de fichiers distribués de Google (1,5 h)
– Le modèle de programmation MapReduce (1.5 hrs)
– L’écosystème Hadoop (2,25 heures)
– Sessions pratiques sur Hadoop (7 heures)
– Comment utiliser les machines virtuelles/Containers et les plateformes de cloud public
– Démarrer avec Hadoop
– Configuration de HDFS
– Configurer et optimiser Hadoop
– Ecrire des applications MapReduce

Prérequis

Familiarité avec la ligne de commande Linux
Familiarité avec Java/Python