Vous êtes sur la page 1sur 6

BIG DATA :

Définition : un ensemble de technologies d’architecture, d’outils et de


procédures permettant à une organisation de très rapidement capter, traiter et
analyser de larges contenus hétérogènes et changeant, et d’en extraire les
informations pertinentes à un cout accessible.
Caractéristiques du Big Data : les 5 V
- Volume : La masse des données
- Variété : Les données de type différents : structurées et non structurées
- Vélocité : Traitement de données en temps réel (Pour détection de
fraude par exemple.
- Véracité : La qualité de la fiabilité et la confiance des données
- Valeur : Apporter des nouvelles valeurs pour les clients et l’entreprise

Adaptabilité : puisqu’on va avoir affaire avec une grande masse de données,


on doit s’adapter. C’est à dire qu’on doit redéfinir les méthodes de traitement
de ces données car ces derniers seront difficiles à manipuler avec les outils
classiques.
Comment le Big Data gère ses situations complexes ?
- Distribution de données : la répartition des données dans plusieurs
machines
- Traitement en parallèle : Traiter les différentes données qui sont
réparties sur plusieurs serveurs pour le traitement et l’analyse, et qui
seront par la suite fusionnées pour le résultat final recherché.
- Tolérance aux pannes : Quand un serveur ou une machine est en panne,
on peut obtenir nos données à partir d’une autre machine ou un autre
data center.
- L’utilisation de matériel standard : La plupart des outils et des
Frameworks du big data utilisent les matériaux standard. C’est à dire
qu’on n'a pas besoin d’un matériel spécifique. Cela réduit le coût de
l’infrastructure totale.
- Flexibilité, évolutivité et scalabilité : Horizontale et Verticale

Les Cas d’utilisation du Big data : Quand utiliser le Big Data ?


Marketing : Analyse prédictive : En analysant l’historique des achats du client
ou les fichiers Logs qui contiennent les pages visitées, l’entreprise peut prévoir
ce que le client cherche et les mettre dans les zones des offres et publicités afin
d’augmenter les achats.
Santé : Analyse des résultats de santé d’une population pour prévoir les
maladies et les épidémies, savoir les causes environnementales et prendre les
préventions nécessaires dans les stages primaires.
D’autres Exemples ..
HADOOP :
Est une plateforme (Framework) open source conçue pour réaliser d'une façon
distribuée des traitements sur des volumes de données massives, de l'ordre de
plusieurs pétaoctets. Ainsi, il est destiné à faciliter la création d'applications
distribuées et échelonnables (scalables). Il s'inscrit donc typiquement sur le terrain
du Big Data.
Il est constitué de 2 grandes parties :
- HDFS : Répartit les données sur de nombreuses machines
- Yarn : un mécanisme d’ordonnancement de programmes de type MapReduce.
Versions de Hadoop :
- Hadoop 1.0 : HDFS + MAPREDUCE
- Hadoop 2.0 : HDFS + YARN (MAPREDUCE) + Autres systèmes
HDFS : Hadoop Distributed File System
Comment fonctionne HDFS ? Il est découpé en plusieurs blocs de 256Mo. Dans
HDFS, chaque fichier est réparti sur plusieurs blocs qui ne sont pas forcément dans la
même machine. Et chaque fichier se trouve en plusieurs exemplaires dans différents
endroits pour la tolération de panne.
Un Cluster HDFS est constitué de plusieurs machines :
- NameNode : Cette machine contient tous les noms et blocs des fichiers,
comme un gros annuaire téléphonique.
- Secondary NameNode : C’est une sorte de namenode de secours qui
enregistre les sauvegardes de l’annuaire à intervalles réguliers.
- Clients : Ce sont des points d’accès au cluster pour s’y connecter et travailler.
- Datanode : Machine qui stocke les blocs du contenu des fichiers.
Client Hadoop : Ecriture
Un client demande au nameNode qu’il veut écrire dans ses blocs. Le namenode
indique le dataNode dans lequel il va insérer ses données. Les dataNodes répliquent
le bloc entre eux.
Client Hadoop : Lecture
Le client indique au NameNode qu’il souhaite lire un fichier. Celui-ci indique sa taille
et les différents DataNode contenant les N blocs. Le client récupère chacun des blocs
à un des DataNodes. Si un DataNode est indisponible, le client le demande à un
autre.

COMMANDES HADOOP FS
- hadoop fs -put livre.txt /data_input/livre.txt : Pour stocker le fichier livre.txt
sur HDFS dans le répertoire /data_input.
- hadoop fs -get /data_input/livre.txt livre.txt : Pour obtenir le fichier
/data_input/livre.txt de HDFS et le stocker dans le fichier local livre.txt.
- hadoop fs -mkdir /data_input : Pour créer le répertoire /data_input
- hadoop fs -rm /data_input/livre.txt : Pour supprimer le fichier
/data_input/livre.txt
MAP REDUCE :
Définition : MapReduce est un paradigme (un modèle) visant à généraliser les
approches existantes pour produire une approche unique applicable à tous les
problèmes. Il permet de traiter des données volumineuses de manière parallèle et
distribuée.
Il distingue deux opérations à effectuer sur ses données :
- MAP : Elle va transformer les données d'entrée en une série de couples
clef/valeur. Elle va regrouper les données en les associant à des clefs, choisies
de telle sorte que les couples clef/valeur aient un sens par rapport au
problème à résoudre. Par ailleurs, cette opération doit être parallélisable: on
doit pouvoir découper les données d'entrée en plusieurs fragments, et faire
exécuter l'opération MAP à chaque machine du cluster sur un fragment
distinct.
- REDUCE : va appliquer un traitement à toutes les valeurs de chacune des clefs
distinctes produite par l'opération MAP. Au terme de l'opération REDUCE, on
aura un résultat pour chacune des clefs distinctes. Ici, on attribuera à chacune
des machines du cluster une des clefs uniques produites par MAP, en lui
donnant la liste des valeurs associées à la clef. Chacune des machines
effectuera alors l'opération REDUCE pour cette clef

On distingue donc 4 étapes distinctes dans un traitement MapReduce :


• Découper (split) les données d'entrée en plusieurs fragments.
• Mapper chacun de ces fragments pour obtenir des couples (clef ; valeur).
• Grouper (shuffle) ces couples (clef ; valeur) par clef.
• Réduire (reduce) les groupes indexés par clef en une forme finale, avec une
valeur pour chacune des clefs distinctes.
SPARK
Définition : C’est un moteur MapReduce plus évolué, plus rapide pour les tâches
impliquant de multiples maps et/ou reduce.
- Utilisation de la mémoire pour optimiser les traitements.
- Des API’s pour faciliter et optimiser les étapes d’analyses.
Au centre du paradigme employé par Spark, on trouve la notion de RDD (Resilient
Distributed Datasets) .
Architecture RDD : larges hashmaps stockées en mémoire et sur lesquelles on peut
appliquer des traitements. Ils sont :
- Distribués.
- Partitionnés (pour permettre à plusieurs noeuds de traiter les données).
- Redondés (limite le risque de perte de données).
- En lecture seule : un traitement appliqué à un RDD donne lieu à la création
d'un nouveau RDD
Deux types d'opérations possibles sur les RDDs:
- Une transformation : une opération qui modifie les données d'un RDD. Elle
donne lieu à la création d'un nouveau RDD. Les transformations fonctionnent
en mode d'évaluation lazy: elles ne sont exécutées que quand on a
véritablement besoin d'accéder aux données. "map" est un exemple de
transformation. (map, filter , join)
- Une action : elles accèdent aux données d'un RDD, et nécessitent donc son
évaluation (toutes les transformations ayant donné lieu à la création de ce
RDD sont exécutées l'une après l'autre). "saveAsTextFile" (qui permet de
sauver le contenu d'un RDD) ou "count" (qui renvoie le nombre d'éléments
dans un RDD) sont des exemples d'actions. (collect, count, save)

Vous aimerez peut-être aussi