Technologies
BIG DATA
Zouhair ELAMRANI ABOU ELASSAD
[email protected]
Evolution de la technologie
2
IoT
3
Social media
4
Big Data ?
5
5 V du Big Data
6
Types de données
7
Capacité de stockage
8
Le calcul distribué
Désigne l'exécution d'un traitement informatique sur une multitude de machines
différentes (un cluster de machines) de manière transparente.
Problématiques:
• Accès et partage des ressources pour toutes les machines.
• Extensibilité: on doit pouvoir ajouter de nouvelles machines pour le calcul si
nécessaire.
• Hétérogénéité: les machines doivent pouvoir avoir différentes architectures,
l'implémentation différents langages.
• Tolérance aux pannes: une machine en panne faisant partie du cluster ne doit pas
produire d'erreur pour le calcul dans son ensemble.
• Transparence: le cluster dans son ensemble doit être utilisable comme une seule
et même machine « traditionnelle ».
9
Exemple : Blue Gene (1999)
10
Exemple : GPUGRID.net (2007)
11
Le problème
• Le problème qui se posait jusqu'ici pour ce cas d'usage: Avoir un
framework déjà disponible, facile à déployer, et qui permette
l'exécution de tâches parallélisables – et le support et le suivi de ces
tâches – de manière rapide et simple à mettre en œuvre.
• L'idée étant d'avoir un outil « off the shelf » qui puisse être installé et
configuré rapidement au sein d'une entreprise/d'une université et qui
permettre à des développeurs d'exécuter des tâches distribuées avec un
minimum de formation requise.
• L'outil en question devant être facile à déployer, simple à supporter, et
pouvant permettre la création de clusters de taille variables extensibles
à tout moment.
12
Solution
13
Avantages
14
Historique
15
Historique
16
Qui utilise Hadoop
17
Hadoop Cluster
18
Exemple Cluster
19
Exemple Cluster
20
Écosystème Hadoop
21
Composants du Hadoop
22
HDFS
Pour stocker les données en entrée de nos tâches Hadoop, ainsi que les résultats de
nos traitements, on va utiliser HDFS:
Hadoop Distributed FileSystem.
Il s'agit du système de fichier standard de Hadoop - au même sens que les systèmes
de fichiers FAT32, NTFS ou encore Ext3FS, à la différence qu'il est évidemment
distribué.
Remarque: Hadoop peut – et c'est le cas le plus fréquent – également communiquer
directement avec une base de données (qu'elle soit « classique » comme MySQL ou
PostGreSQL ou plus exotique comme MongoDB ou VoltDB). Ce mode d'intégration
passe par le biais de ponts d'interconnexion, qui seront abordés plus loin dans le
cours.
23
HDFS
Les caractéristiques de HDFS:
● Il est distribué: les données sont réparties sur tout le cluster de machines.
● Il est répliqué: si une des machines du cluster tombe en panne, aucune
donnée n'est perdue.
● Il est conscient du positionnement des serveurs sur les racks. HDFS va
répliquer les données sur des racks différents, pour être certain qu'une panne
affectant un rack de serveurs entier (par exemple un incident d'alimentation)
ne provoque pas non plus de perte de données, même temporaire. Par
ailleurs, HDFS peut aussi optimiser les transferts de données pour limiter la «
distance » à parcourir pour la réplication (et donc les temps de transfert).
24
Composants HDFS
25
Concept du HDFS
26
Concept HDFS
27
Concept HDFS
28
Concept HDFS
29
Concept HDFS
30
Concept HDFS
31
Nœuds HDFS
32
Nœuds HDFS
33
Nœuds HDFS
34
Nœuds HDFS
35
Nœuds HDFS
36
Nœuds HDFS
37
Framework MapReduce
38
Detailed Hadoop MapReduce data flow
39
MapReduce Paradigm: Wordcount flow
40
Word Count
WordCount in Web Pages
A typical exercise for a new Google engineer in his or her first week
41
Word Count
42
Word Count
43
Word Count
44
Word Count
45
Word Count
46
Combiner
Combiner acts as a mini-reducer. Combiner processes the output of Mapper and does
local aggregation before passing it to the reducer.
47
Driver
48
TextInputFormat
TextInputFormat is one of the file formats of Hadoop.
It is a default type format of hadoop MapReduce that is if we do not specify any file
formats then RecordReader will consider the input file format as TextInputFormat.
The key-value pairs for the TextInputFormat file is byteoffset as key and entire
line(input)as value.
49
TextOutputFormat
The default OutputFormat in hadoop is TextOuputFormat. If the file output format is
not specified explicitly, then text files are created as output files.
TextOutputFormat: It writes out records, one per line, by converting keys and values
to strings and separating them with a tab character.The tab-separated output is a
feature of TextOutputFormat.
50
Hadoop Yarn
51
Hadoop Yarn
52
Hadoop Yarn - Steps
53
Hadoop Yarn - Steps
54
Hadoop Yarn - Steps
55
Hadoop Yarn - Steps
56
Hadoop Yarn - Steps
57
Hadoop Yarn - Steps
58
Configuration Hadoop
59
Configuration Hadoop : core-site.xml
60
Configuration Hadoop : hdfs-site.xml
61
Configuration Hadoop
62
Configuration Hadoop
63
Configuration Hadoop : mapred-site.xml
64
Configuration Hadoop : mapred-site.xml
65
Configuration Hadoop : yarn-site.xml
66
Configuration Hadoop
67
Hadoop Commands
68
Hadoop Commands
69
Hadoop Commands
70
Hadoop Commands
71
Hadoop Commands
72
Hadoop Commands
73
Hadoop Commands: Examples
74
Hadoop Commands: Examples
75