Vous êtes sur la page 1sur 49

Module: Gestion de données massives

M2 IA4IOT
Chapitre 03 (Partie 01)

Année universitaire 2023-2024


S. BENHAMED
Chapitre 03 (Partie01)
Introduction au Big Data

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)

Le Big Data se répand dans tous les domaines:


• Marketing et commerciales : capacité à impacter le commerce en
profondeur dans l’économie mondiale
Exemple : Netflix, Amazon
• Médecine (biophysique, sémiologie médicale et chirurgicale, anatomie,
biochimie, physiologie, biologie) : le soin, la maîtrise des technologies les
plus sophistiquées des différentes spécialités médicales.

S. BENHAMED 5
Big Data dans le monde réel Domaine (2/2)

• Prévention des fraudes :


Exemple : Une carte bancaire (MasterCard) est utilisée pour réserver une voiture à
Tunis alors que son détenteur vit à Mostaganem, est localisé à Mostaganem et
n’est pas en période de congés ?
➢Le rapprochement de ce genre de données et d’événements permet de détecter
des fraudes possibles et de déclencher des actions pro-actives.
• IA (machine learning et le deep learning) : extraire des connaissances utiles.
Exemple : ChatGPT
S. BENHAMED 6
Big Data dans le monde réel Type de Big Data

• Structurées : BDDR, data lakes (point d’accès unique de la donnée brute+


métadonnées) et des data warehouses (entrepôt de données).
• Non structurées : NoSQL.
• Semi-structurées: Structurées et Non structurées

S. BENHAMED 7
Big Data dans le monde réel Application (1/4)

• Fonctionnement du Big Data


1. Collecter le Big Data
2. Stocker le Big Data
3. Analyser le Big Data

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

• Pas soumis à des contraintes de taille et de mémoire (stockage sur le


cloud, sur un site de stockage, ou les deux à la fois)

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)

Loi des 5 Vs : objectifs indispensables

➢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)

Processus de génération de données La qualité et l'utilité des données


et à la manière de capturer et de
stocker les données
Le volume, la variété et la vélocité La véracité et la valeur

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)

Architecture de Big Data (Data Architect)


Ensemble de composants théorique et/ou physique, d’outils et techniques
qui permettent la gestion, le stockage le traitement et l’analyse de données
(le volume, la variété, la vélocité, la véracité et la valeur).

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)

Type (en fonction des techniques)


• Répondre à un besoin spécifique
➢Lambda(traitement + stockage)
➢Kappa (traitement)

S. BENHAMED 28
Composants architecturaux et modèle de programmation
Type(2/12)
Type : Lambda

• Architecture crée par Nathan Marz,

• La plus couramment utilisée pour le traitement et la gestion des données


volumineuses en temps réel et par lots de manière simultanée.

• Modèle évolutif et tolérant aux incidents

• Gestion des mises à jour avec une faible latence (transmission).

S. BENHAMED 29
Composants architecturaux et modèle de programmation
Type(3/12)
Type : Lambda (Principe)

Couche de traitement par


lots (chemin à froid)
récupérer
récupérerles
lesdonnées
donnéeset etles
à
stocker
les stocker
au format
au format
brutbrut
dans
dans
desdes
data
data
lakes.
lakes.

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)

Un traitement est ensuite


effectué périodiquement
(par lots) pour créer des
vues logiques dans le
Serving Layer et améliorer
l’interrogation.

S. BENHAMED 32
Composants architecturaux et modèle de programmation
Type(6/12)
Type : Lambda (Principe)

La couche vitesse met à jour


la couche service avec les
mises à jour incrémentielles
basées sur les données les
plus récentes.

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) :

Complexité : La logique de traitement apparaît dans deux emplacements


différents, le chemin froid et le chemin chaud, utilisant deux infrastructures
différentes. Cela double la logique de calcul et la complexité de la gestion de
l’architecture pour ces deux chemins.

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)

Toutes les données transitent


via un chemin unique en
utilisant un système de
traitement de flux.

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)

Tout le traitement des


événements est effectué sur
le flux d’entrée sous forme
d’une vue en temps réel
(comme dans Lambda)

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)

• Modèle de programmation distribuée proposé par Google en 2004.


• Traitement d’un volume important de données réparties entre différents
ordinateurs (site).
• Principe (2 phases principales):
➢Map
➢Reduce

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 :

• Un serveur peut être à la fois Mapper et Reducer.


• Le nombre de mappers utilisé est décidé automatiquement par Hadoop : Il
dépend de la taille des données à traiter et des blocs de mémoire disponibles sur
chaque serveur.
• Tous les inputs et outputs des phases Map et Reduce sont stockés dans le HDFS.

S. BENHAMED 45
Pile Hadoop MapReduce (5/8)
Exemple 1 :

calculer le nombre de mots dans une phrase en utilisant 3 mappers et 2 Reducers

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 :

calculer le produit de deux matrices par MapReduce en utilisant 2 mappers et


3 Reducers.
1 2 1 2
0 1 2 × 0
3 5 4 1

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

Vous aimerez peut-être aussi