Cours Big Data
Cours Big Data
Cours Big Data
1
Objectifs
Les objectifs de ce cours sont :
Introduire les concepts liés aux données massives et leur
émergence
étudier une architecture distribuée dédiée à stocker à gérer
les données massives et les outils nécessaires à la
manipulation de données massives
Étudier le stockage de données massives dans des bases de
données NoSQL et quels sont les points de différence par
rapport aux bases de données relationnelles.
2
Références
Livres
Titre : Les bases de données NoSQL et le BigData Comprendre et mettre en oeuvre
Auteur : Rudi Bruchez
Editeur : Eyrolles
Edition : 2015
Titre : Hadoop. The definitive Guide. 3rd edition. . 2013.
Auteur : Tom White
Editeur : O'Reilly
Année : 2013
Cours
Big data
Ensignants : Stéphane Vialle & Patrick Mercier
URL : Cours de Big Data - 2A Supelec.
Cours : Initiation aux Big Data :
Enseignant : Cédric du Mouza et Nicolas Travers
Cours : Big data et ses technologies
Enseignant : Philippe Laflamme
URL : BigData_Technologies_PL.pdf (etsmtl.ca)
3
Plan
4
Chapitre 1: Introduction au
Big data
5
Plan
6
Gestion de données
Définitions
7
Données et Gestion de données
Phase 1 :
Avant 1960, il n’y a pas des bases de données, il n’y a que des
applications manipulant des fichiers gérés par de système de gestion
de fichiers.
À partir du milieu des années 1960, les BD hiérarchique et celles
réseau sont apparues.
Ces systèmes sont caractérisés par :
Plusieurs applications partagent des données
Séparation des données et des traitements sur les données
Données gérées par un serveur central
Minimisation de la redondance et de l’inconsistance
Amélioration du contrôle des données
Accès par langage standardisé (COBOL)
Phase Phare
8
Données et Gestion de données
Elle Permettent Traiter des données de manière transactionnelle et
fiable.
Ces BD se basent sur le modèle relationnel permettant la gestion
des transactions.
Une transaction est définie comme étant une unité logique du
travail sur la base de données.
9
Données et Gestion de données
10
Données et gestion de données
11
II. BIG DATA
12
Big Data | Caractéristiques
12
13
Big Data | Caractéristiques
14
Big Data | variété
Variété de Données big data :
Données non structurées: 80% des données sur internet sont non
structurées ou non-structurées.
images,
des vidéos,
des textes,
des voix
15
Big data | Sources de données
16
16
Big data | Véracité
La véracité
Elle concerne la fiabilité et la crédibilité des informations
collectées.
Big Data permet de collecter un nombre indéfini et
plusieurs formes de données, il est difficile de justifier
l’authenticité des contenus.
17
Big data | Valeur
18
Domaines d’application
19
19
Big data et decision d’entreprise
Analyse de données :
20
Technologies de big data
Technologies du big data
Map Reduce :
C’est une méthode de traitement massivement parallèle
développée par Google.
Elle stocke les données avec un système de gestion de
fichiers spécifiques (Google File System)
Elle est tolérante aux pannes
Hadoop
un framework développé par Apache Software Fundation
permet de mieux généraliser l'usage du stockage et
traitement massivement parallèle de Map Reduce et de
Google File System.
Hadoop possède ses limites.
c'est une solution de big data très largement utilisée pour
effectuer des analyses sur de très grands nombres de 20
données.
Bases No SQL
Les bases NoSQL autorisent la redondance pour mieux
servir les besoins en matière de flexibilité.
Elles sont tolérantes aux pannes et d'évolutivité.
Permet de stocker des données sans schéma.
21
Chapitre 2
Hadoop et MapReduce
22
Hadoop
Hadoop
Hadoop est un framework libre et open source écrit en Java.
Il est destiné à faciliter la création d'applications distribuées et
échelonnables.
Il permet aux applications de travailler avec des milliers de
nœuds et des pétaoctets de données.
Hadoop s’installe sur un cluster
23
Hadoop
24
Hadoop | HDFS
Hadoop distributed file system HDFS :
25
Hadoop | HDFS
Job Tracker :
Il s’occupe de la coordination des tâches sur les différents
clusters.
Il attribue les fonctions MapReduce aux différents « Task
Trackers ».
Le « Job Tracker » est un « Daemon » cohabitant avec le «
Name Node » et ne possède donc qu’une instance par cluster.
27
Hadoop
28
MapReduce
29
MapReduce
MAP : consiste à dispatcher une tâche, ainsi que les données quelle
traite en plusieurs sous-tâches traitant chacune d’elles un sous-ensemble
de données.
Reduce : il s’agit de récupérer les résultats des différents serveurs et de
les consolider.
30
MapReduce
Le modèle MapReduce consiste en deux étapes, représentées toutes deux par des
fonctions.
La fonction map on prend en entrée un ensemble de « clé-valeurs »,
le noeud fait une analyse du problème et il va le séparer en sous-tâches, pour
pouvoir les redistribuer sur les autres noeuds du cluster.
Dans le cas nécessaire, les noeuds recevant les sous-tâches refont le même
processus de manière récursive.
Les sous-tâches des différents noeuds sont traitées chacune d’entre elles dans
leur fonction map respective et vont retourner un résultat intermédiaire.
La fonction « Reduce », consiste à faire remonter tous les résultats à leur noeud
parents respectif.
Les résultats se remonte donc du noeud le plus bas jusqu’à la racine.
Avec la fonction Reduce, chaque noeud va calculer un résultat partiel en
associant toutes les valeurs correspondant à la même clé en un unique couple
(clé – valeur).
Une fois obtenu ce couple (clé-valeur), le résultat est remonté au noeud parent,
qui va refaire le même processus de manière récursive jusqu’au noeud racine.
Quand un noeud termine le traitement d’une tâche,
un nouveau bloc de données est attribué à une tâche Map.
31
MapReduce
Exemple d’utilisation.
Le problème est de compter le nombre d’occurrence de chaque
mot.
Données en entrée : fichiers texte.
• La fonction Map aura pour but de décomposer le texte en
couple de mots clé-valeur.
• La fonction Reduce va prendre les couples avec la même clé
et compter la totalité des occurrences pour ne faire qu’une
seul paire clé-valeur par mot.
32
MapReduce
La fonction Map
33
MapReduce
Le programme principal
34
Les applications connexes de Hadoop
35
Les applications connexes de Hadoop
37
Les applications connexes de Hadoop
Gestionnaires de ressources
Yarn (Yet Another Resource Negotiator) :C’est
gestionnaire des ressources (CPU, Ram
Mesos : Projet Apache plus récent que Yarn,
C’est un système de gestion de ressource de clusters.
Il gère et partage de manière dynamique les ressources
entre différents clusters entre les diverses applications.
38