Annexe du cours Big Data
- Annexe A : Etapes d’un projet Big Data
- Annexe B : Schéma général de l’Algorithme MapReduce
- Annexe C : OpenStack & Hadoop
- Annexe D : Mahout
12. Explication
Dans la partie du cours Big Data, nous avons utilisé Hadoop sur une seule machine et pas dans un cluster.
L’objectif était de comprendre Hadoop, le tester, écrire du code MapReduce et utiliser HBase.
Afin d’analyser les données massives, il est impératifs d’utiliser Hadoop dans un cluster (plusieurs machines qui
fonctionnent ensemble d’une façon distribuée et parallèle).
Puisque la manipulation et la gestion des systèmes distribués est relativement délicate et a besoin de compétences
techniques avancées, les frameworks Big Data sont utilisés généralement dans un environnement Cloud
Computing. En particulier, on utilise Hadoop-as-a-Service dans plusieurs fournisseurs de Cloud comme Amazon
et Windows Azure.
Gestionnaire de Cloud (ou encore Cloud Manager) : C’est la couche la plus importante dans l’infrastructure
Cloud. C’est à travers le gestionnaire de Cloud que nous pouvons passer d’un environnement distribué à la notion du
Cloud Computing.
En effet, le gestionnaire de Cloud présente la couche d’orchestration et automatisation qui :
lie l’ensemble de l’infrastructure
gère l’allocation des ressources de manière dynamique et assure la scalabilité.
permet par la suite de construire une architecture Cloud
Mme Amal ABID - GI3 - ENIS 12
13. OpenStack : Sahara
Sahara est le composant d'OpenStack pour le Big Data. Il permet d'utiliser Hadoop avec OpenStack.
Sahara a pour but de fournir aux utilisateurs les moyens simples de provisionner des clusters de Hadoop en
spécifiant plusieurs paramètres comme la version, la topologie du cluster ou d'autres. Après avoir rempli ces
paramètres, Sahara déploie le cluster en quelques minutes.
Sahara fournit aussi les moyens d'évolution du cluster en rajoutant des nœuds à la demande.
Sahara : Hadoop dans OpenStack
Facilite les soucis d'installation, de gestion, de monitoring des clusters
Supporte différentes versions d'Hadoop
Crée différents environnements Hadoop simplement : dev, test, pré-prod
A une API pour construire et lancer un cluster à la volée, notamment lors des tests
A la possibilité d'exploiter les mêmes données par plusieurs clusters
Lien d’un démo vidéo : https://www.youtube.com/watch?v=vmry_kXqn4c
Mme Amal ABID - GI3 - ENIS
21. Mahout : Présentation
Apache Mahout est un projet de la fondation Apache visant à créer des implémentations d'algorithmes
d'apprentissage automatique (Machine Learning) distribués.
D'abord développé au-dessus de la plate-forme Hadoop, Mahout a ensuite utilisé Apache Spark.
Les algorithmes principaux proposés par Mahout pour faire du partitionnement de données et de la classification
automatique sont implémentés avec Apache Hadoop en utilisant le paradigme MapReduce.
L’utilisation de Mahout sur Hadoop est simple.
Par exemple si nous voulons faire du clustering avec K-means, il suffit de lancer une (ou des) commande(s) qui
contiennent quelques paramètres tels que :
input : le chemin de votre dataset.
clusters : les centroïdes d'entrée, en tant que vecteurs.
output : le chemin du repertoire de sortie.
distanceMeasure : Le nom de classe de la mesure de distance. La valeur par défaut est SquaredEuclidean.
k : Le k dans k-Means. Si spécifié, une sélection aléatoire de k vecteurs sera choisie comme centroïde et écrite
dans le chemin d'entrée des clusters.
Lien : https://mahout.apache.org/users/clustering/k-means-commandline.html
Tuto exemple
Lien : https://www.youtube.com/watch?v=Vub7ffAkn7Q