Académique Documents
Professionnel Documents
Culture Documents
M2 IA4IOT
Chapitre 03 (Partie 01)
S. BENHAMED 2
Définition « Big Data »
• Terme générique qui désigne les mégadonnées ou les données massives.
• Ensemble de stratégies et de technologies qui permettent :
➢Traitement (stockage, partage, accès, analyse) rapide (souvent en temps
réel) des données complexes et hétérogènes très volumineux : en 2020,
64 zettaoctets (soit 64 milliards de téraoctets) ont été générés et
un volume de 180 zettaoctets est déjà prévu à l’horizon de 2025).
➢ Identifier les menaces quasiment en temps réel.
S. BENHAMED 3
Big Data dans le monde réel
• Les données proviennent de nombreuses sources numériques :
➢Internet: Réseaux sociaux, les médias, l'OpenData, le Web,
➢Bases de données privées, publiques à caractère commercial ou
scientifique,
➢Smartphones, objets connectés (IoT), données GPS…
• L'un des principaux enjeux de productivité du big data dans son évolution
va porter sur la logistique de l'information (la manière de garantir que
l'information pertinente arrive au bon endroit au bon moment).
S. BENHAMED 4
Big Data dans le monde réel Domaine (1/2)
S. BENHAMED 5
Big Data dans le monde réel Domaine (2/2)
S. BENHAMED 7
Big Data dans le monde réel Application (1/4)
S. BENHAMED 8
Big Data dans le monde réel Application (2/4)
Fonctionnement du Big Data : Collecter le Big Data
• Rassembler les données provenant de sources et d’applications disparates.
• Mécanisme d’intégration de données ETL ( extraire, transformer et
charger): 2 techniques
➢ Données en streaming : données générées en continu à partir de
capteurs, d'appareils IoT ou de flux de médias sociaux sont appelées
données en streaming.
➢ Données par lots : données collectées à intervalles spécifiques ou en
masse.
S. BENHAMED 9
Big Data dans le monde réel Application (3/4)
Fonctionnement du Big Data : Stocker le Big Data
S. BENHAMED 10
Big Data dans le monde réel Application (4/4)
Fonctionnement du Big Data : Analyser le Big Data
• Utilisation des technologies d'IA (ML, DL) pour explorer davantage les
données afin de faire de nouvelles découvertes.
S. BENHAMED 11
Big Data dans le monde réel Caractéristique du Big Data (1/6)
➢Volume: size
➢Vitesse/vélocité
➢Variété : complexity
➢Véracité: quality
➢Valeur
➢Variabilité
S. BENHAMED 12
Big Data dans le monde réel Caractéristique du Big Data (2/6)
• Volume : Quantité de données générée et stockées (disponibles) très
importante et continue d’augmenter : suit une loi quasi exponentielle.
Exemple : Flux de données dans Twitter (X), les flux de clics sur une page
Internet ou une application mobile.
• Vitesse/vélocité : Rapidité (fréquence) de création, collecte, partage et
mise à jour des données en temps réel
Exemple : Un message posté.
S. BENHAMED 13
Big Data dans le monde réel Caractéristique du Big Data (3/6)
• Variété : Données traitées complexes de différente formes (non structurée,
semi-structurée ou structurée mais dont la plupart sont non structurée) qui
proviennent de multiples sources (données GPS).
Exemple : Des images, des vidéos, des textes, des voix, les signaux émis par
des appareils mobiles, fichiers médicaux, ….
• Véracité : la qualité et l’origine de l’information, c’est la fiabilité et la
crédibilité (Data Quality : réel, pertinente) des informations collectées
(données d’entrée sont correctes et nettoyées)
Exemple : les posts Twitter avec les abréviations, le langage familier, les
hashTag.
S. BENHAMED 14
Big Data dans le monde réel Caractéristique du Big Data (4/6)
• Valeur : Extraire de la valeur à partir des données à stockées.
Exemple : Affecter un nom et un visage à différents groupes de clients
(personas).
• Variabilité : Variation de la qualité des données (certains ensembles de
données sont moins cohérents que les données transactionnelles
traditionnelles et peuvent avoir plusieurs significations), c’est la possibilité
d’utiliser les données à des fins multiples.
Exemple : Langage humain
S. BENHAMED 15
Big Data dans le monde réel Caractéristique du Big Data (4/6)
S. BENHAMED 16
Big Data dans le monde réel Caractéristique du Big Data (6/6)
Exercice: Déterminer pour les cas ci-dessous s’ils sont des big data en justifiant
votre réponse.
• Université, banque, Laboratoire d’analyse.
Vitesse
Volume Variété Véracité Valeur
vélocité
Université
Banque
Laboratoire
d’analyse
S. BENHAMED 17
Composants architecturaux et modèle de programmation (1/10)
S. BENHAMED 18
Composants architecturaux et modèle de programmation (2/10)
Composants (logique) :
Sources de données
une ou plusieurs
sources, par exemples,
appareils IoT et serveur
web.
S. BENHAMED 19
Composants architecturaux et modèle de programmation (3/10)
Composants (logique) :
Stockage des données
Les données destinées aux
opérations de traitement
par lots sont stockées dans
un magasin de fichiers
distribués, qui peut contenir
de vastes volumes de
fichiers volumineux dans
divers formats.
Ce type de magasin est
appelé « lac de données ».
S. BENHAMED 20
Composants architecturaux et modèle de programmation (4/10)
Composants (logique) :
Traitement par lots
traiter les fichiers de
données à longue durée
d’exécution pour filtrer,
agréger et préparer les
données en vue de l’analyse.
Ces travaux impliquent la
lecture des fichiers source,
leur traitement et l’écriture
de la sortie dans de
nouveaux fichiers.
S. BENHAMED 21
Composants architecturaux et modèle de programmation (5/10)
Composants (logique) :
Ingestion de messages en
temps réel
Capturer et stocker des
messages en temps réel
pour le traitement de flux
de données.
S. BENHAMED 22
Composants architecturaux et modèle de programmation (6/10)
Composants (logique) :
Traitement de flux
Préparation des
données pour l’analyse
(après la capture des
messagee en temps
réel).
S. BENHAMED 23
Composants architecturaux et modèle de programmation (7/10)
Composants (logique) :
Apprentissage
automatique
créer des modèles
capables de prédire les
résultats ou de classifier
des données
S. BENHAMED 24
Composants architecturaux et modèle de programmation (8/10)
Composants (logique) :
Magasin de données
analytique
Stockage des données
traitées dans un format
structuré qui peut être
interrogé à l’aide des
outils d’analyse (NoSQL)
S. BENHAMED 25
Composants architecturaux et modèle de programmation (9/10)
Composants (logique) :
Analyse et rapports
Fournir des informations
sur les données par le
biais de l’analyse et des
rapports (Spark).
S. BENHAMED 26
Composants architecturaux et modèle de programmation (10/10)
Composants (logique) :
Automatiser et
synchroniser les
opérations des
composant de Big Data
(architecture).
S. BENHAMED 27
Composants architecturaux et modèle de programmation
Type(1/12)
S. BENHAMED 28
Composants architecturaux et modèle de programmation
Type(2/12)
Type : Lambda
S. BENHAMED 29
Composants architecturaux et modèle de programmation
Type(3/12)
Type : Lambda (Principe)
S. BENHAMED 30
Composants architecturaux et modèle de programmation
Type(4/12)
Type : Lambda (Principe)
Couche en temps réel
« couche vitesse »
(chemin réactif)
traite les nouveaux flux de
données pour générer des
vues avec des données
récentes en temps réel (c’est
l’analyse).
S. BENHAMED 31
Composants architecturaux et modèle de programmation
Type(5/12)
Type : Lambda (Principe)
S. BENHAMED 32
Composants architecturaux et modèle de programmation
Type(6/12)
Type : Lambda (Principe)
S. BENHAMED 33
Composants architecturaux et modèle de programmation
Type(7/12)
Type : Lambda (Principe) • Les données brutes stockées
sont immuables.
• Les données entrantes sont
toujours ajoutées aux
données existantes, et les
données précédentes ne sont
jamais remplacées.
• Toute modification apportée à
la valeur d’une donnée
particulière est stockée
comme un nouvel
enregistrement d’événement
S. BENHAMED 34
Composants architecturaux et modèle de programmation
Type(8/12)
Type : Lambda (Points faibles) :
S. BENHAMED 35
Composants architecturaux et modèle de programmation
Type(9/12)
Type: Kappa
• Proposée par Jay Kreps qui fusionne la couche batch et la couche real-time.
• Alternative à l’architecture lambda
S. BENHAMED 36
Composants architecturaux et modèle de programmation
Type(10/12)
Type: Kappa (Principe)
S. BENHAMED 37
Composants architecturaux et modèle de programmation
Type(11/12)
Type: Kappa (Principe)
• Les données des événements
restent immuables et sont
collectées dans leur totalité et
pas comme un sous-ensemble
(comme dans Lambda).
• Les événements sont classés,
et l’état actuel d’un
événement change
uniquement lorsqu’un nouvel
événement est ajouté.
S. BENHAMED 38
Composants architecturaux et modèle de programmation
Type(12/12)
Type: Kappa (Principe)
S. BENHAMED 39
Pile Hadoop Hadoop (1/2)
• Première solution développée au début du Big Data : Traitement des données Big
Data.
• Framework open source écrit en Java et développé par Apache et proposé par
Yahoo.
• Répartir la charge de traitement requise pour le traitement des données énormes
sur quelques nœuds ou quelques centaines de milliers de nœuds de traitement
distincts.
• Basé sur le principe du Batch Processing : séquencer le traitement des données
par lots (s’oppose au streaming de données en temps réel)
• L’ensemble des outils (YARN, HDFS, MapReduce) forment l’écosystème Hadoop.
S. BENHAMED 40
Pile Hadoop Hadoop (2/2)
Principe:
S. BENHAMED 41
Pile Hadoop MapReduce (1/8)
S. BENHAMED 42
Pile Hadoop MapReduce (2/8)
Fonction Map
• Fonction impérative pour filtrer et trier les données initiales
• Les serveurs exécutant la fonction Map sont appelés Mappers.
• Les données d’entrée (input) sont décomposées en blocs.
• Chacun de ces blocs est assigné à un « mapper » (cartographier) pour le
traitement.
• La fonction Map produit un ensemble de données sous forme de paires «
clé/valeur ».
S. BENHAMED 43
Pile Hadoop MapReduce (3/8)
Fonction Reduce
• Fonction optionnelle dans certain cas
• Les serveurs exécutant la fonction Reduce, sont appelés Reducers
• La fonction Reduce démarre lorsque tous les mappers aient terminé leurs tâches
de traitement.
• Il reçoit les valeurs produites par map ayant la même clé sont assignées à un
reducer unique.
• Agrégation (regroupement) les valeurs pour la clé (le résultat de cette phase est
sous forme de paie clé/valeur).
S. BENHAMED 44
Pile Hadoop MapReduce (4/8)
Note :
S. BENHAMED 45
Pile Hadoop MapReduce (5/8)
Exemple 1 :
La phrase est :
Big data refers to data sets that are too big or complex to be dealt with by
traditional data processing application software
S. BENHAMED 46
Pile Hadoop MapReduce (6/8)
Input Splitting (Partitionnement) Mapping Shuffling Reducing Output
(Big, 1)
(data, 1) (Big, [1, 1]) (Big, 2)
(data, [1, 1, 1]) (data, 3) (Big, 2)
(refers, 1)
Big data refers to data (refers, [1]) (refers, 1) (data, 3)
(to, 1)
sets that (to, [1, 1]) (to, 2) (refers, 1)
(data, 1)
(sets, [1]) (sets, 1) (to, 2)
(sets, 1)
(that, [1]) (that, 1) (sets, 1)
(that, 1)
(are, [1]) (are, 1) (that, 1)
(are, 1)
(too, [1]) (too, 1) (are, 1)
(too, 1)
(or, [1]) (or, 1) (too, 1)
Big data refers to data sets that (big, 1)
(or, 1)
are too big or complex to be dealt are too big or complex to be (or, 1)
(complex, 1)
with by traditional data (complex, 1)
(complex, [1]) (complex, 1) (be, 1)
processing application software (to, 1)
(be, [1]) (be, 1) (dealt, 1)
(be, 1)
(dealt, [1]) (dealt, 1) (with, 1)
(dealt, 1)
(with, [1]) (with, 1) (by, 1)
(with, 1)
(by, [1]) (by, 1) (traditional, 1)
(by, 1)
dealt with by traditional data (traditional, [1]) (traditional, 1) (processing, 1)
(traditional, 1)
processing application (processing, [1]) (processing, 1) (application, 1)
(data, 1)
software (application, [1]) (application, 1) (software, 1)
(processing, 1)
(application, 1) (software, [1]) (software, 1)
S. BENHAMED (software, 1) 47
Pile Hadoop MapReduce (7/8)
Exemple 2 :
S. BENHAMED 48
Pile Hadoop MapReduce (8/8)
Input Splitting Mapping Shuffling Reducing Output
1 2 1
× (0,2)
2 (0,0) (0, [2,0,1]) (0,3)
0 (0,1)
1 2 1 1
0 1 2
3 5 4 0 1 2
× 3
× (1, 0) (1, [0,0,2]) (1,2) 2
2 2
(1,0) 10
0 0
1 1 (1,2)
3 5 4 (2,6)
× (2,0)
2 (2,4) (2, [6,0,4]) (2,10)
0
S. BENHAMED 1 49